Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gzipper

Package Overview
Dependencies
Maintainers
1
Versions
73
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gzipper

CLI for compressing files.

  • 2.10.0
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Gzipper

Build Status npm version codecov

CLI for compressing files using the popular compress algorithms like Brotli and Gzip. Also this module works great with many CLI UI tools (Angular CLI, Vue CLI, create-react-app) and supports few option flags for each algorithm.

There are a couple of options flags such as gzip-level, gzip-strategy, gzip-memory-level, brotli-param-mode, brotli-quality, brotli-size-hint for extending algorithm flexibility. All flags can be declared via ENV variables (ENV variables have higher priority over CLI arguments).

You can enable verbose mode for better visual representation which files were compressed and how long it took. Also you can customize your file output using output-file-format command with predefined template [filename]-[hash]-[filename].[ext].

Install

npm i gzipper -g

or locally to devDependencies

npm i gzipper -D

Run script

Globally usage.

gzipper [options] <path> [outputPath]

Locally usage.

  • add to scripts in your package.json
  "scripts": {
    ...
    "gzipper": "gzipper"
  }
  • or use with npx command if module was installed to dependencies or devDependencies
  "scripts": {
    "compress": "npx gzipper --verbose ./dist"
  }
  • use gzipper with your build commands (e.g. Angular CLI)
  "scripts": {
    "build": "ng build && gzipper --verbose ./dist"
  }
  • compress files to a certain directory ./gzipped
  "scripts": {
    "build": "ng build && gzipper --verbose ./dist ./gzipped"
  }

Options

OptionENVDescription
-V, --versionoutput the version number
-v, --verboseGZIPPER_VERBOSEdetailed level of logs
-e, --excludeGZIPPER_EXCLUDEexclude file extensions from compression
-i, --includeGZIPPER_INCLUDEinclude file extensions for compression
-gl, --gzip-level [level]GZIPPER_GZIP_LEVELgzip compression level -1 (default), 0 (no compression) - 9 (best compression)
-gm, --gzip-memory-level [memoryLevel]GZIPPER_GZIP_MEMORY_LEVELamount of memory which will be allocated for compression 8 (default), 1 (minimum memory) - 9 (maximum memory)
-gs, --gzip-strategy [strategy]GZIPPER_GZIP_STRATEGYcompression strategy 0 (default), 1 (filtered), 2 (huffman only), 3 (RLE), 4 (fixed)
--brotliGZIPPER_BROTLIenable brotli compression, Node.js >= v11.7.0
-bp, --brotli-param-mode [brotliParamMode]GZIPPER_BROTLI_PARAM_MODEdefault, text (for UTF-8 text), font (for WOFF 2.0 fonts)
-bq, --brotli-quality [brotliQuality]GZIPPER_BROTLI_QUALITYbrotli compression quality 11 (default), 0 - 11
-bs, --brotli-size-hint [brotliSizeHint]GZIPPER_BROTLI_SIZE_HINTexpected input size 0 (default)
-t, --threshold [threshold]GZIPPER_THRESHOLDexclude assets smaller than this byte size. 0 (default)
--output-file-format [outputFileFormat]GZIPPER_OUTPUT_FILE_FORMAToutput file format with default artifacts [filename].[ext].[compressExt], where: filename -> name of your file, ext -> file extension, compressExt -> compress extension (.gz, .br, etc), hash -> uniq uuid/v4 hash. Samples: [filename].[compressExt].[ext], test-[filename]-[hash].[compressExt].[ext], [filename]-[hash]-[filename]-tmp.[ext].[compressExt]
-h, --helpoutput usage information

ENV Variables have higher priority over CLI arguments.

Contribution

I appreciate every contribution, just fork the repository and send the pull request with your changes.

Requirements

  • Node.js >= 8

Keywords

FAQs

Package last updated on 28 Aug 2019

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc