Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sindresorhus/gulp-zip
ZIP compress files
https://github.com/sindresorhus/gulp-zip
compression gulp-plugin javascript nodejs zip
Last synced: 2 days ago
JSON representation
ZIP compress files
- Host: GitHub
- URL: https://github.com/sindresorhus/gulp-zip
- Owner: sindresorhus
- License: mit
- Created: 2013-12-22T14:56:11.000Z (almost 11 years ago)
- Default Branch: main
- Last Pushed: 2023-11-03T10:24:25.000Z (11 months ago)
- Last Synced: 2024-05-22T18:29:51.220Z (4 months ago)
- Topics: compression, gulp-plugin, javascript, nodejs, zip
- Language: JavaScript
- Size: 59.6 KB
- Stars: 270
- Watchers: 11
- Forks: 47
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- Funding: .github/funding.yml
- License: license
- Security: .github/security.md
Awesome Lists containing this project
README
# gulp-zip
> ZIP compress files
## Install
```sh
npm install --save-dev gulp-zip
```## Usage
```js
import gulp from 'gulp';
import zip from 'gulp-zip';export default () => (
gulp.src('src/*')
.pipe(zip('archive.zip'))
.pipe(gulp.dest('dist'))
);
```## API
Supports [streaming mode](https://github.com/gulpjs/gulp/blob/master/docs/API.md#optionsbuffer).
### zip(filename, options?)
#### filename
Type: `string`
#### options
Type: `object`
##### compress
Type: `boolean`\
Default: `true`##### modifiedTime
Type: `Date`\
Default: `undefined`Overrides the modification timestamp for all files added to the archive.
Tip: Setting it to the same value across executions enables you to create stable archives that change only when the contents of their entries change, regardless of whether those entries were "touched" or regenerated.
##### buffer
Type: `boolean`\
Default: `true`If `true`, the resulting ZIP file contents will be a buffer. Large zip files may not be possible to buffer, depending on the size of [Buffer MAX_LENGTH](https://nodejs.org/api/buffer.html#buffer_buffer_constants_max_length).
If `false`, the ZIP file contents will be a stream.
We use this option instead of relying on [gulp.src's `buffer` option](https://gulpjs.com/docs/en/api/src/#options) because we are mapping many input files to one output file and can't reliably detect what the output mode should be based on the inputs, since Vinyl streams could contain mixed streaming and buffered content.