brotlin
v1.1.0
Published
A handy CLI/API for Brotli compression
Downloads
9
Readme
brotlin
A handy CLI/API for Brotli compression based on npm/brotli. Helps you to convert files to Brotli(.br
) format.
Install
Requires Node >=8.
From npm,
npm i -g brotlin
From Github Package Registry. (Guide).
Type definitions are bundled with this package.
Usage
Quick start
# cd to your dir
cd my-dir
# all files matching * glob pattern
brotlin compress *
# same as above (all files matching *)
brotlin compress
# single file
brotlin compress index.html
# decompress
brotlin decompress index.html.br
# you've options (--help for more)
brotlin compress style.css --quality 8 # default is 11
A new compressed file ending with .br
will be created for every file feeding in to the CLI.
You can pass in a relative path or an absolute path or a glob pattern.
--help
for help
$ brotlin --help
Usage: brotlin [options] [command]
Options:
-V, --version output the version number
-h, --help output usage information
Commands:
compress [options] [file] Creates a compressed file in the same location. Argument can be
relative/absolute/glob paths [default:*]. Check
https://www.npmjs.com/package/brotli to know more about the
following options
decompress [options] [file] Creates a decompressed file in the same location. Argument can be
relative/absolute/glob paths [default:*]. Check
https://www.npmjs.com/package/brotli to know more about the
following options
--help
for brotlin compress
command:
$ brotlin compress --help
Usage: brotlin compress [options] [file]
Creates a compressed file in the same location. Argument can be relative/absolute/glob paths [default:*]. Check https://www.npmjs.com/package/brotli to know more about the following options
Options:
-m, --mode <number> Brotli compression mode (0 = generic[default], 1 = text, 2 = font (WOFF2))
-q, --quality <number> Compression quality [0 - 11]. [default: 11]
-w, --window <number> Compression window size [default: 22]
-p, --parallel <count> Processes <count> number of files in parallel. [default: 1]
-h, --help output usage information
For knowing more about these options, see npm/brotli.
For decompress, see brotlin decompress --help
One more example
# compress all fils in the dist folder
cd dist # moved to dist
brotlin compress **/* # compress all files in the directory
APIs
import { compression, decompression } from 'brotlin';
// or
const { compression, decompression } = require('brotlin');
compression({
path: '*.html', // required
parallelJobCount: 1, // optional
mode: 0, // optional
quality: 11, // optional
windowSize: 22 // optional
}).then(files => console.log(`Compressed ${files.length} files`));
decompression({
path: '*.html.br', // required
parallelJobCount: 1 // optional
}).then(files => console.log(`Decompressed ${files.length} files`));
Having issues with compression?
This module uses the npm/brotli module. Hence check the reported issues also.
Licence
MIT © Vajahath Ahmed