Hello, I'm Nick Fitzgerald. This is my weblog. You can also check out my shared items from Reader, moments on Twitter, and code on GitHub. Feel free to contact me about whatever.
July 30th, 2012
This is a quick update on the status of Firefox's support for source maps.
The library for parsing and generating source maps has landed in Nightly! If you
want to write an addon which either uses or creates source maps, import the
source map module with
Components.utils.import("resource:///modules/devtools/SourceMap.jsm"). The
documentation for the source map module is on GitHub. The history is
inside bug 669999.
What I am working on now is writing the plumbing between our script loaders, SpiderMonkey, and the debugger API to shepherd the source map URL for a given script to our developer tools. I have working patches for most of this, it is "just" a matter of writing test cases, getting proper review, updating patches based on review feedback, and constantly rebasing dependent patches on top of said updates.
You can follow along with the plumbing in these bugs:
Bug 774471: Move source maps from being associated with JSScripts to ScriptSource
Bug 765993: Save source map urls from the "SourceMap" HTTP header
Once that plumbing is complete, adding source map support to the debugger's UI should be pretty straight forward since all the required data will already be available. You can follow along with that final piece on bug 771597: Integrate source maps with the debugger.
"Compiling to JavaScript, and Debugging with Source Maps" on Mozilla Hacks on May 22nd, 2013
Source Map Specification Discussion Mailing List on February 28th, 2013
Regarding "Dynamic Source Maps" on January 22nd, 2013
Update on Firefox and Source Maps on July 30th, 2012
Source Code Cartography on December 23rd, 2011
Pycco Needs a Loving Home on August 17th, 2011
Operational Transformation Part 2: Operations on April 5th, 2011
Operational Transformation: An Introduction on March 26th, 2011
JavaScript Timer Congestion on March 8th, 2011
OOP The Good Parts: Message Passing, Duck Typing, Object Composition, and not Inheritance on December 31st, 2010