Skip to content

Source Maps

Laura Harker edited this page Jan 7, 2019 · 10 revisions

Source Map documentation

Closure Compiler can produce source maps to aid in debugging. These are created when the --create_source_map flag is used. The compiler also has the --source_map_input flag which allows the compilation to be aware of previous transformations.

You can pass source maps for input files to the compiler with the --source_map_input flag. When calling the compiler from the command line, input source maps are always applied to the generated source maps (as of v20161024). When using the Java API, you must explicitly set CompilerOptions#setApplyInputSourceMaps(true) in order to get this behavior.

The npm gulp plugins utilize the gulp-sourcemaps plugin.

Notes regarding source map generation and consumption.

Design docs here:

Source Map v3

Design docs for deprecated versions:

Source Map v2

Source Map v1

Implementation here:

com.google.debugging.sourcemap

Mozilla's JS Implementation here:

https://github.com/mozilla/source-map

Webkit JS Implementation here:

http://trac.webkit.org/browser/trunk/Source/WebInspectorUI/UserInterface/Models/SourceMap.js#L158

Blink JS Implementation here:

https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/devtools/front_end/sdk/SourceMap.js&type=cs&l=282

Discussions:

dev-js-sourcemap@lists.mozilla.org

Chrome's support of Source Maps discussed:

http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/

A SourceMap encoding/decoding debugger: http://murzwin.com/base64vlq.html

Clone this wiki locally