Skip to content

feat: implement ECMA-426 source map v3 decoder#4736

Open
countradooku wants to merge 4 commits intoboa-dev:mainfrom
countradooku:feat/ecma426-sourcemap-v3
Open

feat: implement ECMA-426 source map v3 decoder#4736
countradooku wants to merge 4 commits intoboa-dev:mainfrom
countradooku:feat/ecma426-sourcemap-v3

Conversation

@countradooku
Copy link
Contributor

@countradooku countradooku commented Feb 26, 2026

Summary

  • add new boa_sourcemap crate implementing ECMA-426 source map decoding
  • implement high-performance base64 VLQ + mappings decoder
  • support regular maps, index maps (sections), source resolution, and ignore list handling
  • add JavaScript sourceMappingURL extraction utility
  • add tests for VLQ, mappings decode, index map offsets, ignore list fallback, and URL extraction

Validation

  • cargo test -p boa_sourcemap

Closes #4562

@countradooku countradooku requested a review from a team as a code owner February 26, 2026 09:01
@github-actions
Copy link

Test262 conformance changes

Test result main count PR count difference
Total 52,862 52,862 0
Passed 49,504 49,504 0
Ignored 2,262 2,262 0
Failed 1,096 1,096 0
Panics 0 0 0
Conformance 93.65% 93.65% 0.00%

@codecov
Copy link

codecov bot commented Feb 26, 2026

Codecov Report

❌ Patch coverage is 82.28438% with 76 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.35%. Comparing base (6ddc2b4) to head (0ce8663).
⚠️ Report is 688 commits behind head on main.

Files with missing lines Patch % Lines
core/sourcemap/src/lib.rs 82.28% 76 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #4736       +/-   ##
===========================================
+ Coverage   47.24%   57.35%   +10.10%     
===========================================
  Files         476      550       +74     
  Lines       46892    60829    +13937     
===========================================
+ Hits        22154    34887    +12733     
- Misses      24738    25942     +1204     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jedel1043 jedel1043 added the Blocked Waiting for another code change label Feb 26, 2026
@jedel1043
Copy link
Member

Marking as blocked since we didn't properly triage #4562

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Blocked Waiting for another code change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Source maps v3 support

2 participants