Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Uses OS zip command if avaliable (for better performance and speed) or node.js version if there is no system command avaliable. Can be called via node or command line.
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.
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);
});
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.
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.
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.
This module provides a bestzip
command that calls the native zip
command if available and otherwise falls back to a
Node.js implementation.
The --recurse-directories
(-r
) option is automatically enabled.
The native zip
command on GNU/Linux and macOS is significantly faster and creates moderately smaller .zip files than the Node.js version included here, but Windows has no built-in zip
command. This module provides the best of both worlds, and allows for easier cross-platform scripting.
npm install -g bestzip
bestzip destination.zip source/ [other sources...]
package.json
scriptsnpm install --save-dev bestzip
package.json:
{
//...
"scripts": {
"build" "...",
"zip": "bestzip bundle.zip build/*",
"upload": "....",
"deploy": "npm run build && npm run zip && npm run upload"
}
}
var zip = require('bestzip');
zip({
source: 'build/*',
destination: './destination.zip'
}).then(function() {
console.log('all done!');
}).catch(function(err) {
console.error(err.stack);
process.exit(1);
});
// v1.x API also works for backwards compatibility: zip(destination, sources, callback)
source
: Path or paths to files and folders to include in the zip file. String or Array of Strings.destination
: Path to generated .zip file.cwd
: Set the Current Working Directory that source and destination paths are relative to. Defaults to process.cwd()
The directory structure in the .zip is going to match your input files, but the exact details depend on how the command is called. For example:
bestzip build.zip build/*
This includes the build/ folder inside of the .zip
Alternatively:
cd build/ && bestzip ../build.zip *
This will not include the build/ folder, it's contents will be top-level.
Note: some tools, including the Archive Utility built into macOS, will automatically create a top-level folder to group everything together when extracting a .zip archive that contains multiple top-level files.
When using the programmatic API, the same effect may be achieved by passing in the cwd
option.
Wildcards (*
) ignore dotfiles.
folder/
) or include it by name (folder/.dotfile)
folder/*
) or explicitly list the desired files (folder/file1.txt folder/file2.txt
)bestzip output.zip foo/bar/file.txt
now includes the foo/bar/ folders, previously it would place file.txt at the top-level
FAQs
Uses OS zip command if avaliable (for better performance and speed) or node.js version if there is no system command avaliable. Can be called via node or command line.
The npm package bestzip receives a total of 293,426 weekly downloads. As such, bestzip popularity was classified as popular.
We found that bestzip demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.