forked from lix-project/lix-website
106 lines
1.9 KiB
Markdown
106 lines
1.9 KiB
Markdown
|
# decompress [![Build Status](https://travis-ci.org/kevva/decompress.svg?branch=master)](https://travis-ci.org/kevva/decompress)
|
||
|
|
||
|
> Extracting archives made easy
|
||
|
|
||
|
*See [decompress-cli](https://github.com/kevva/decompress-cli) for the command-line version.*
|
||
|
|
||
|
## Install
|
||
|
|
||
|
```
|
||
|
$ npm install decompress
|
||
|
```
|
||
|
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
const decompress = require('decompress');
|
||
|
|
||
|
decompress('unicorn.zip', 'dist').then(files => {
|
||
|
console.log('done!');
|
||
|
});
|
||
|
```
|
||
|
|
||
|
|
||
|
## API
|
||
|
|
||
|
### decompress(input, [output], [options])
|
||
|
|
||
|
Returns a Promise for an array of files in the following format:
|
||
|
|
||
|
```js
|
||
|
{
|
||
|
data: Buffer,
|
||
|
mode: Number,
|
||
|
mtime: String,
|
||
|
path: String,
|
||
|
type: String
|
||
|
}
|
||
|
```
|
||
|
|
||
|
#### input
|
||
|
|
||
|
Type: `string` `Buffer`
|
||
|
|
||
|
File to decompress.
|
||
|
|
||
|
#### output
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
Output directory.
|
||
|
|
||
|
#### options
|
||
|
|
||
|
##### filter
|
||
|
|
||
|
Type: `Function`
|
||
|
|
||
|
Filter out files before extracting. E.g:
|
||
|
|
||
|
```js
|
||
|
decompress('unicorn.zip', 'dist', {
|
||
|
filter: file => path.extname(file.path) !== '.exe'
|
||
|
}).then(files => {
|
||
|
console.log('done!');
|
||
|
});
|
||
|
```
|
||
|
|
||
|
*Note that in the current implementation, **`filter` is only applied after fully reading all files from the archive in memory**. Do not rely on this option to limit the amount of memory used by `decompress` to the size of the files included by `filter`. `decompress` will read the entire compressed file into memory regardless.*
|
||
|
|
||
|
##### map
|
||
|
|
||
|
Type: `Function`
|
||
|
|
||
|
Map files before extracting: E.g:
|
||
|
|
||
|
```js
|
||
|
decompress('unicorn.zip', 'dist', {
|
||
|
map: file => {
|
||
|
file.path = `unicorn-${file.path}`;
|
||
|
return file;
|
||
|
}
|
||
|
}).then(files => {
|
||
|
console.log('done!');
|
||
|
});
|
||
|
```
|
||
|
|
||
|
##### plugins
|
||
|
|
||
|
Type: `Array`<br>
|
||
|
Default: `[decompressTar(), decompressTarbz2(), decompressTargz(), decompressUnzip()]`
|
||
|
|
||
|
Array of [plugins](https://www.npmjs.com/browse/keyword/decompressplugin) to use.
|
||
|
|
||
|
##### strip
|
||
|
|
||
|
Type: `number`<br>
|
||
|
Default: `0`
|
||
|
|
||
|
Remove leading directory components from extracted files.
|
||
|
|
||
|
|
||
|
## License
|
||
|
|
||
|
MIT © [Kevin Mårtensson](https://github.com/kevva)
|