Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 61 lines (48 sloc) 2.21 kb

grunt-append-sourcemapping

A Grunt task to append JavaScript sourcemapping URL comments to files. The Google Closure Compiler does not currently append the necessary sourcemapping URL comment to the output it produces, even when you ask it to generate a source map with the create_source_map option. This Grunt plugin will add that comment for you.

Installation

Just install via npm like usual:

npm install grunt-append-sourcemapping

Usage

This task assumes that you are using the Closure Compiler to handle JavaScript minification and source map generation. Chances are, you're using the grunt-closure-compiler plugin to do that, so you'll probably have a task in your Grunt file that looks something like this:

grunt.initConfig({
    "closure-compiler": {
        includeSourcemap: {
            js: [
                "inputFile.js",
                "inputFile2.js"
            ],
            jsOutputFile: "build/lib.min.js",
            options: {
                create_source_map: "build/lib.min.js.map",
                source_map_format: "V3"
            }
        }
    }
});

To append a sourcemapping URL comment at the end of the minified file, you need to tell Grunt to load the new task and then add another section to your config:

grunt.loadNpmTasks("grunt-append-sourcemapping"); // Load the task
grunt.initConfig({
    "closure-compiler": {
        // Closure compiler configuration
    },
    "append-sourcemapping": {
        main: {
            files: {
                "build/lib.min.js": "lib.min.js.map"
            }
        }
    } 
});

This will append the following comment to the end of lib.min.js (see this jQuery bug ticket for full details on why the wrapping multiline comment is necessary - in short, it's a workaround for an Internet Explorer issue):

/*
//@ sourceMappingURL=lib.min.js.map
*/

You can specify any number of files in the files property, and as this is a Grunt multitask you can specify different targets too.

Something went wrong with that request. Please try again.