Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 28 days 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 (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-02-06T19:05:05.000Z (almost 3 years ago)
- Last Synced: 2024-05-01T22:42:49.428Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 1.12 MB
- Stars: 387
- Watchers: 5
- Forks: 125
- Open Issues: 48
-
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.
[![NPM](https://nodei.co/npm/extract-zip.png?global=true)](https://npm.im/extract-zip)
[![Uses JS Standard Style](https://cdn.jsdelivr.net/gh/standard/standard/badge.svg)](https://github.com/standard/standard)
[![Build Status](https://github.com/maxogden/extract-zip/workflows/CI/badge.svg)](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()`.