Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

SourceMap on Firefox: source debugging for languages compiled to JavaScript

DZone's Guide to

SourceMap on Firefox: source debugging for languages compiled to JavaScript

· Web Dev Zone
Free Resource

Discover how to focus on operators for Reactive Programming and how they are essential to react to data in your application.  Brought to you in partnership with Wakanda

More and more languages are compiled to JavaScript. Mozilla has plans to let you debug those languages in their source code (no need to look at JavaScript).

Examples of languages that are compiled to JavaScript:

  • Google Web Toolkit (GWT): compiles Java to JavaScript which allows one to use Java on both server and client and to do web development with a great IDE (as in “Eclipse without plugins”).
  • Minification [1]: tranforms a JavaScript program into a more compact version of itself without changing what it does. The measure taken here are: stripping out comments and newlines, using shorter variables names, etc.
  • CoffeeScript [2]: is an improved version of JavaScript with a syntax for people who hate braces.
  • Google Traceur [3]: compiles a variant of ECMAScript.next to JavaScript, on the fly.
There are several problems with using these languages:
  1. Exceptions report lines in the generated code, not in the original.
  2. Output in the console links back to generated code.
  3. You have to debug the generated code.
That is why Mozilla’s new project “ SourceMap” is exciting: For all generated code, it keeps a map from input source locations to generated source locations. It uses that map to report errors using the input line numbers and to link to the input source from the console. Support for working with a debugger in the input language will come later (see “Next Steps & Open Issues”).

Related reading:

  1. What is the JavaScript equivalent of Java bytecode?
  2. Blog posts on CoffeeScript.
  3. Google’s Traceur: compile ECMAScript.next to JavaScript on the fly

 

From http://www.2ality.com/2011/07/firefox-sourcemap.html

Learn how divergent branches can appear in your repository and how to better understand why they are called “branches".  Brought to you in partnership with Wakanda

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}