JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2366
  • Score
    100M100P100Q131318F
  • License MIT

gzip-cli provides CLI for compressing files by using compress algorithms such as Gzip and Brotli

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

npm npm Travis Coveralls github

gzip-cli

gzip-cli provides CLI for compressing files by using compress algorithms such as Gzip and Brotli.

Install

npm i gzip-cli

CLI 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/**/*.js

All *.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=br

All *.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.br
gzip source/**/*.js --output=dist

All *.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.gz
gzip 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 for
  • ignorePatterns {string[]} <optional> Array of glob patterns to exclude matches
  • outputDir {string} <optional> Output dir
  • outputExtensions {string[]} <optional> Array of output file extension. br - for Brotli algorithm, gz or 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