Wondering what’s next for npm?Check out our public roadmap! »

    minify
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/minify package

    7.0.2 • Public • Published

    Minify License Dependency Status Build Status NPM version Coverage Status

    Minify - a minifier of js, css, html and img files. To use minify as middleware try Mollify.

    Install

    npm i minify -g
    

    How to use?

    CLI

    The bash command below creates a code snippet saved as "hello.js".

    Simply copy + paste the code starting with cat, including the EOT on the last line, and press .

    $ cat << EOT > hello.js
    const hello = 'world';
    
    for (let i = 0; i < hello.length; i++) {
        console.log(hello[i]);
    }
    EOT

    Use the command minify followed by the path to and name of the js file intended to be minified. This will minify the code and output it to the screen.

    $ minify hello.js
    const hello="world";for(let l=0;l<hello.length;l++)console.log(hello[l]);

    You can capture the output with the following:

    $ minify hello.js > hello.min.js

    Code Example

    minify can be used as a promise:

    const minify = require('minify');
    const options = {
        html: {
            removeAttributeQuotes: false,
            removeOptionalTags: false,
        },
    };
    
    minify('./client.js', options)
        .then(console.log)
        .catch(console.error);

    Or with async-await and try-to-catch:

    import minify from 'minify';
    import tryToCatch from 'try-to-catch';
    const options = {
        html: {
            removeAttributeQuotes: false,
            removeOptionalTags: false,
        },
    };
    
    const [error, data] = await tryToCatch(minify, './client.js', options);
    
    if (error)
        return console.error(error.message);

    Options

    The options object accepts configuration for html, css, js, and img like so:

    const options = {
        html: {
            removeAttributeQuotes: false,
        },
        css: {
            compatibility: '*',
        },
        js: {
            ecma: 5,
        },
        img: {
            maxSize: 4096,
        },
    };

    Full documentation for options that each file type accepts can be found on the pages of the libraries used by minify to process the files:

    Minify sets a few defaults for HTML that may differ from the base html-minifier settings:

    {
        "removeComments": true,
        "removeCommentsFromCDATA": true,
        "removeCDATASectionsFromCDATA": true,
        "collapseWhitespace": true,
        "collapseBooleanAttributes": true,
        "removeAttributeQuotes": true,
        "removeRedundantAttributes": true,
        "useShortDoctype": true,
        "removeEmptyAttributes": true,
        "removeEmptyElements": false,
        "removeOptionalTags": true,
        "removeScriptTypeAttributes": true,
        "removeStyleLinkTypeAttributes": true,
        "minifyJS": true,
        "minifyCSS": true
    }

    License

    MIT

    Install

    npm i minify

    DownloadsWeekly Downloads

    122,067

    Version

    7.0.2

    License

    MIT

    Unpacked Size

    30.1 kB

    Total Files

    11

    Last publish

    Collaborators

    • avatar