Skip to content

Minify All JS, CSS and HTML files in a folder by using UglifyJS/terser, CSSNano and HTMLMinifier with an option to gzip all the files as well.

License

Notifications You must be signed in to change notification settings

jadiagaurang/minify-all-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minify All CLI

Node.js CI Node.js Package NPM Downloads

Minify All JS, CSS and HTML files in a folder by using UglifyJS, CSSNano and HTMLMinifier with an option to gzip all the files as well.

Package also supports processCount to set maximum degree of parallelism.

Motivation

Google PageSpeed Insights suggests to Minify Resources (HTML, CSS, and JavaScript) to boost web page's loading speed.

Installation

npm install -g minify-all-cli

Command Line Usage

minify-all-cli -s [source folder] -d [destination folder] [options]

Command Line Options

Usage: -s <source> -d <destination>

Options:
      --help                Show help                                       [boolean]
      --version             Show version number                             [boolean]
  -j, --skipJS              Should minify JavaScript the file or skip it?   [boolean]
  -c, --skipCSS             Should minify CSS the file or skip it?          [boolean]
  -h, --skipHTML            Should minify HTML the file or skip it?         [boolean]
  -g, --doGzip              Should gzip the file or skip it?                [boolean]
  -x, --jsCompressor        Which JavaScript mangler/compressor to use for
                            minification? Default: uglifyjs                 [string]
  -m, --skipFileMasks       Partial Filder Path to skip minification        [array]
  -e, --skipFileExtensions  File Extensions to skip it over                 [array]
  -i, --ignoreFileMasks     Partial Filder Path to ignore minification and
                            copy to destination                             [array]
  -f, --configFile          Specifies a json configuration file for the
                            UglifyJS/terser, CSSNano and HTML Minifier 
                            module                                          [string]
  -l, --logLevel            Set log level to print warn, log, error, fatal
                            messages                                        [string]
  -p, --processCount        Specifies process count to set maximum degree
                            of parallelism                                  [number]

CLI Example

npx minify-all-cli \
-s "/home/ubuntu/source" -d "/home/ubuntu/compressed" \
--skipFileExtensions=.mp3 --skipFileExtensions=.mp4 \
--logLevel=warn

All other examples are available here.

License

Please see the license file for more information.