https://github.com/max-mapper/extract-zip
Zip extraction written in pure JavaScript. Extracts a zip into a directory.
https://github.com/max-mapper/extract-zip
Last synced: 3 months ago
JSON representation
Zip extraction written in pure JavaScript. Extracts a zip into a directory.
- Host: GitHub
- URL: https://github.com/max-mapper/extract-zip
- Owner: max-mapper
- License: bsd-2-clause
- Created: 2014-10-17T07:13:20.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-02-06T19:05:05.000Z (over 3 years ago)
- Last Synced: 2025-04-23T19:27:47.205Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 1.12 MB
- Stars: 394
- Watchers: 5
- Forks: 127
- Open Issues: 51
-
Metadata Files:
- Readme: readme.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# extract-zip
Unzip written in pure JavaScript. Extracts a zip into a directory. Available as a library or a command line program.
Uses the [`yauzl`](http://npmjs.org/yauzl) ZIP parser.
[](https://npm.im/extract-zip)
[](https://github.com/standard/standard)
[](https://github.com/maxogden/extract-zip/actions?query=workflow%3ACI)## Installation
Make sure you have Node 10 or greater installed.
Get the library:
```
npm install extract-zip --save
```Install the command line program:
```
npm install extract-zip -g
```## JS API
```javascript
const extract = require('extract-zip')async function main () {
try {
await extract(source, { dir: target })
console.log('Extraction complete')
} catch (err) {
// handle any errors
}
}
```### Options
- `dir` (required) - the path to the directory where the extracted files are written
- `defaultDirMode` - integer - Directory Mode (permissions), defaults to `0o755`
- `defaultFileMode` - integer - File Mode (permissions), defaults to `0o644`
- `onEntry` - function - if present, will be called with `(entry, zipfile)`, entry is every entry from the zip file forwarded from the `entry` event from yauzl. `zipfile` is the `yauzl` instanceDefault modes are only used if no permissions are set in the zip file.
## CLI Usage
```
extract-zip foo.zip
```If not specified, `targetDirectory` will default to `process.cwd()`.