What is bestzip?
The bestzip npm package is a simple utility for creating zip files. It allows you to zip files and directories with ease, making it useful for packaging and distributing files.
What are bestzip's main functionalities?
Zip a single file
This feature allows you to zip a single file into an archive. The code sample demonstrates how to zip 'file.txt' into 'archive.zip'.
const bestzip = require('bestzip');
bestzip({ source: 'file.txt', destination: 'archive.zip' })
.then(() => {
console.log('File zipped successfully!');
})
.catch(err => {
console.error(err.stack);
});
Zip multiple files
This feature allows you to zip multiple files into a single archive. The code sample demonstrates how to zip 'file1.txt' and 'file2.txt' into 'archive.zip'.
const bestzip = require('bestzip');
bestzip({ source: ['file1.txt', 'file2.txt'], destination: 'archive.zip' })
.then(() => {
console.log('Files zipped successfully!');
})
.catch(err => {
console.error(err.stack);
});
Zip a directory
This feature allows you to zip an entire directory. The code sample demonstrates how to zip the contents of 'myDirectory' into 'archive.zip'.
const bestzip = require('bestzip');
bestzip({ source: 'myDirectory', destination: 'archive.zip' })
.then(() => {
console.log('Directory zipped successfully!');
})
.catch(err => {
console.error(err.stack);
});
Other packages similar to bestzip
archiver
The archiver package is a versatile library for creating zip and tar archives. It offers more advanced features compared to bestzip, such as support for multiple archive formats and streaming capabilities.
adm-zip
The adm-zip package is another popular library for handling zip files. It provides a wide range of functionalities, including reading and extracting zip files, which bestzip does not support.
node-zip
The node-zip package is a simple library for creating zip files. It is similar to bestzip in terms of simplicity but offers fewer features and less flexibility.
bestzip
This module provides a bestzip
command that calls the native zip
command if available and otherwise falls back to a
Node.js implementation.
The native zip
method on OS X is both faster and ~ twice as efficient as the Node.js version, while Windows has no
native zip
command.
Global command line usage
npm install -g bestzip
bestzip destination.zip source/ [other sources...]
Command line usage within package.json
scripts
npm install --save bestzip
package.json:
{
"scripts": {
"build" "...",
"zip": "bestzip bundle.zip source/*",
"upload": "....",
"deploy": "npm run build && npm run zip && npm run upload"
}
}
Pragmatic usage from within Node.js
var zip = require('bestzip');
var files = [];
zip('./destination.zip', ['source/', 'other_soure_file.js'], function(err) {
if (err) {
console.error(err.stack);
process.exit(1);
} else {
console.log('all done!');
}
});
Todo
- Fix bug when source contains
../
- Test if using a vbscript or whatever on Windows results in significantly better performance.
MIT License
Copyright (c) 2014 Nathan Friedly - http://nfriedly.com/
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.