Rollup 4.x ships a Rust/WASM parser (based on SWC) that replaces the
pure-JS parser from v3. Building the WASM module requires a significant
number of Rust crate dependencies.
Current status of the Rust dependency tree (207 external crates needed):
- 157 crates are already available in Debian
- 50 are missing, but ~20 of those are platform-specific (Windows,
napi-native, mimalloc) and not needed for the WASM build target
The main blockers for the WASM build are:
1. SWC ecma crates (~17 crates: swc_ecma_ast, swc_ecma_parser,
swc_ecma_codegen, swc_ecma_minifier, etc.) — these could potentially be
added to the existing rust-swc-core source package (which already
provides swc_common, swc_atoms, etc. at v58)
2. SWC infra crates (swc_compiler_base, swc_config, swc_sourcemap,
swc_timer) — same story
3. ICU4X crates (7 crates) — Blair Noctis has an ITP for icu4x
(#1101486), experimental, not expected for trixie
4. Misc small crates (base-encode, radix_fmt, dragonbox_ecma,
unicode-id-start, zerotrie, etc.)
Related ITPs:
- #991761 (swc) — Jérémy Lal / Jonas Smedegaard
- #996634 (node-napi-rs) — Jonas Smedegaard
- #1101486 (icu4x) — Blair Noctis