Nagging Penguin Matriarchs
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    grunt-esmanglepublic

    grunt-esmangle Build status Dependency status

    A Grunt plugin for mangling or minifying JavaScript files using Esmangle.

    Getting started

    This plugin requires Grunt v0.4.0+.

    If you haven’t used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you’re familiar with that process, you may install this plugin with this command:

    npm install grunt-esmangle --save-dev

    One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

    grunt.loadNpmTasks('grunt-esmangle');

    The esmangle task

    Overview

    In your project’s Gruntfile, add a section named esmangle to the data object passed into grunt.initConfig().

    grunt.initConfig({
        'esmangle': {
            'options': {
                // Task-specific options go here 
            },
            'your-target': {
                'options': {
                    // Target-specific options go here 
                },
                'files': {
                    // Target-specific file lists go here 
                }
            }
        }
    });

    Options

    The options property accepts all the available Escodegen options. See the Escodegen wiki for an overview.

    Additionally, there are two Grunt-specific options:

    banner

    Type: String Default: empty string

    This string will be prepended to the beginning of the mangled/minified output. It is processed using grunt.template.process, using the default options.

    (Default processing options are explained in the grunt.template.process documentation.)

    report

    Choices: false, 'min', 'gzip' Default: false

    Either do not report anything, report only minification result, or report minification and gzip results.

    Important: including 'gzip' results can make this task 5-10× slower depending on the size of the file.

    Usage example

    Here’s a practical example of grunt-esmangle:

    grunt.initConfig({
        'esmangle': {
            'options': {
                // Don’t preserve semicolons at the end of blocks and programs 
                'semicolons': false
            },
            'minify-plugins': {
                'options': {
                    // Always use double quotes as string literal delimiter 
                    'quotes': 'double'
                },
                'files': {
                    'dist/all-plugins.min.js': ['js/plugins/*.js']
                }
            },
            'minify-custom-scripts': {
                'options': {
                    // Preserve comments 
                    'comment': true
                },
                'files': {
                    'dist/all-custom-scripts.min.js': ['js/custom-scripts/*.js']
                }
            }
        }
    });

    Author

    twitter/mathias
    Mathias Bynens

    License

    grunt-esmangle is dual licensed under the MIT and GPL licenses.

    install

    npm i grunt-esmangle

    Downloadsweekly downloads

    82

    version

    0.3.4

    license

    none

    homepage

    git.io

    repository

    github.com

    last publish

    collaborators

    • avatar