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 commandCLI example
gzip dist/**/*.jsAll *.js files in folder dist and its sub-folders will be compressed by Gzip algorithm and put them 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 them 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 them to the dist folder with saving file paths relative to a glob pattern base, e.g.
source/utils/fileUtils.js -> dist/utils/fileUtils.js.gz
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.patterns{String[]}Array of patterns to be matchedoutputDir{String} <optional>Output diroutputExtensions{String[]} <optional>Array of output file extension.br- for Brotli algorithm,gzor others - for Gzip algorithm.
Module example
gzip-cli can be used like a regular module:
const gzip = require('gzip-cli').gzip;
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 them to the same folder, e.g.
dist/public/main.js` -> `dist/public/main.js.gz
dist/public/main.js` -> `dist/public/main.js.brgzip({...}) returns a promise which will be resolved when all resources will be compressed.
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 them to the same folder.
Requirements
Node.js >= 12