Unzip written in pure JavaScript. Extracts a zip into a directory. Available as a library or a command line program.
Uses the yauzl ZIP parser.
Get the library:
npm install extract-zip --save
Install the command line program:
npm install extract-zip -g
var extract = require('extract-zip')
extract(source, {dir: target}, function (err) {
// extraction is complete. make sure to handle the err
})dir- defaults toprocess.cwd()defaultDirMode- integer - Directory Mode (permissions) will default to493(octal0755in integer)defaultFileMode- integer - File Mode (permissions) will default to420(octal0644in integer)
Default modes are only used if no permissions are set in the zip file.
extract-zip foo.zip <targetDirectory>
If not specified, targetDirectory will default to process.cwd().
Electron monkey-patches the 'fs' module to support .asar archives - because of this any 'fs' api calls to an .asar file (or even a file named *.asar) fail. In this case here, if you try to run extract-zip from Electron on a .zip file containing an .asar file inside, the process will fail. In order to support this, we detect for process.versions.electron and require('original-fs'), an unmodified version of the 'fs' library.
More info:
- https://github.com/88dots/rimraf
- electron/electron#2035 <= possible workaround
- electron/electron#1658
- electron/electron#782
