Repository navigation
v0.3.6 — scopes-based symbolication and trace-mapping parity fixes
Features
- Scopes-based function name resolution in
srcmap-symbolicate. When a mapping has no associatedname, the symbolicator now walks the scopes-proposal range tree at the generated position, skips hidden ranges, and returns the innermost stack-frame scope's original name. Implements theFindOriginalFunctionNameoperation from the ECMA-426 scopes proposal, so symbolicated frames pick up readable function names from scopes data alone.
Bug fixes
srcmap-sourcemap: match@jridgewell/trace-mappingtie-break for duplicate-column segments. When two segments share a generated column, GLB now returns the earliest-equal segment and LUB returns the latest-equal, matchingtrace-mappingsemantics. Rust'sbinary_search_by_keypreviously returned an unspecified index among equal keys, which could pick aNO_SOURCEsegment over the source-bearing one and break drop-in parity.srcmap-sourcemap: preserve metadata when flattening indexed (sectioned) maps.debugId,x_*/x-*extensions, andsourceRootfrom the outer map are now propagated into the flattened result, and scopes from each section are merged (generated ranges offset, definition and source indices remapped) instead of being dropped.srcmap-remapping: only compose the inner map against its matching outer source.compose_pairpreviously returned the inner map for every outer source, so unrelated passthrough sources were incorrectly rewritten through the inner map. The match is now restricted to outer sources that equalinner.file(or the sole outer source wheninner.fileis unset).
Docs
- Reframe "full ECMA-426 compliance" as stable core support plus explicitly-labelled draft proposals.
debugId,rangeMappings, scopes/variables, andsourcesFunctionMappingsare not in the published ECMA-426 core — README, ROADMAP, crate/package READMEs, and the repo badge now say so, and ROADMAP links point at the canonicaltc39/ecma426proposal files.
Full Changelog: v0.3.5...v0.3.6