Hacker News new | ask | show | jobs
by quadhome 5196 days ago
wrt. Base64 VLQ: source maps are text and compressible via gzip.

Anyone know if there are any links to discussion about the trade-off made making the more complex and less human accessible?

2 comments

Having to go to the trouble of understanding and implementing Base64 VLQ (since basically nobody uses it) myself just to prototype a source map implementation for my compiler makes me less likely to actually get around to it, because it's one more complete unknown in a format that seems to have almost nothing resembling working deployments or documentation to speak of.

It really sucks that the best source of information on 'how to create source maps' is the closure compiler source and not an actual spec or documentation (I searched around and the closest thing to docs I could find was an extremely concise Google Doc with gaps in it that may not match what is deployed in Chrome [1]). Being told 'just do what these guys do' is not a great way to get a new standard implemented on the web, especially when 'these guys' is Chrome Canary talking to a Google compiler.

Has anyone run across better documentation that clearly describes the file format, or a second implementation I can use to check that my source maps are correct? The only other choice I've run across is a (seemingly dead) Firefox 3.x addon that adds support for some reason of the source map format, specifically for supporting Closure Compiler. [2]

[1]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiO...

[2]: https://developers.google.com/closure/compiler/docs/inspecto...

From what I've heard, the Mozilla source-map repo is your best bet on "how to create source maps": https://github.com/mozilla/source-map

It's what Traceur (Google's ES6/ES.Next transpiler) uses under the hood.

To answer my own question, VLQ coding is used in other debugging symbol formats for the same reason.