Package Exports
- gzip-cli
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gzip-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gzip-cli
gzip-cli provides CLI for compressing files by using compress algorithms such as Gzip and Brotli.
Install
npm i gzip-cliCLI usage
Usage: gzip [glob patterns]
Options:
-o, --output output directory
-e, --extension output file extension (default=gz). Also supported a few extensions in one command
-i, --ignore pattern or an array of glob patterns to exclude matches CLI example
gzip dist/**/*.jsAll *.js files in folder dist and its sub-folders will be compressed by Gzip algorithm and put to the same folder, e.g.
gzip dist/**/*.js --extension=gz --extension=brAll *.js files in folder dist and its sub-folders will be compressed by Gzip and Brotli algorithm and put to the same folder, e.g.
dist/public/main.js -> dist/public/main.js.gz
dist/public/main.js -> dist/public/main.js.brgzip source/**/*.js --output=distAll *.js files in folder source and its sub-folders will be compressed by Gzip algorithm and put to the dist folder with saving file paths relative to a glob pattern base, e.g.
source/utils/fileUtils.js -> dist/utils/fileUtils.js.gzgzip source/**/*.js --ignore=**/node_modules/**All *.js files in folder source and its sub-folders (except for "node_modules" and sub-folders) will be compressed and put to the same folder.
source/utils/fileUtils.js -> dist/utils/fileUtils.js.gz
source/node_modules/package_name/index.js -> [not processed]CLI example of using in a "scripts" section of your package.json
Compress all *.js files in folder dist:
"scripts": {
"gzip": "gzip dist/**/*.js"
}Build Angular application and compress all *.js files in folder dist:
"scripts": {
"build": "ng build && gzip dist/**/*.js"
}Build React application and compress all *.js files in folder build by Gzip and Brotli algorithm:
"scripts": {
"build": "react-scripts build && gzip build/**/*.js --extension=gz --extension=br"
}Module usage
gzip(options)
options {Object}
patterns{string[]}Array of pattern to search forignorePatterns{string[]} <optional>Array of glob patterns to exclude matchesoutputDir{string} <optional>Output diroutputExtensions{string[]} <optional>Array of output file extension.br- for Brotli algorithm,gzor others - for Gzip algorithm. return:{Promise<void>}promise will be resolved when all resources are compressed.
Module example
gzip-cli can be used like a regular module:
const gzip = require('gzip-cli').gzip;
gzip({patterns: ['dist/public/**/*.{html,css,js,svg}'], outputExtensions: ['gz', 'br'], ignorePatterns: ['**/icons']});All *.html, *.css, *.js and *.svg files in folder dist/public and its sub-folders (except for sub-folders "icons") will be compressed by Gzip and Brotli algorithm and put to the same folder, e.g.
dist/public/main.js -> dist/public/main.js.gz
dist/public/main.js -> dist/public/main.js.br
dist/public/assets/icons/delete.svg -> [not processed]Module example of using in a Gulp task
const gzip = require('gzip-cli').gzip;
gulp.task('compress-static-files', () => {
return gzip({patterns: ['dist/public/**/*.{html,css,js}'], outputExtensions: ['gz', 'br']});
});All *.html, *.css and *.js files in folder dist/public and its sub-folders will be compressed by Gzip and Brotli algorithm and put to the same folder.
Requirements
Node.js >= 12