Symbolicating a minified stack trace by hand: why source maps can't do it alone
a day ago
- #JavaScript
- #Source Maps
- #Symbolication
- Source maps cannot recover original function names alone; they require the parsed bundle to correctly identify enclosing functions.
- Source maps map points (specific columns) rather than ranges, making it impossible to determine which function encloses a crash location without bundle parsing.
- Resolving stack trace names requires a three-step process: locating crash position, finding enclosing function's name token via bundle parsing, then mapping that token to the original name.
- Node's source-map support uses V8's parsed bundle to find enclosing functions, demonstrating the necessity of bundle parsing for accurate symbolication.
- The upcoming ECMA-426 source map standard's Scopes extension aims to include scope ranges directly, potentially eliminating the need for bundle uploads.