106 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # decompress [](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)
 |