zip.js offers a low-level API for writing and reading large zip files (up to 4GB) with a stable RAM use. It also offers a Filesystem API in order to manipulate zip file structure.
This library is implemented with these HTML5 features:
Web workers
FileReader (and FileWriter optionally)
Blob and BlobBuilder
Typed arrays