swc-project
swc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(es/minifier): do not merge sequences across reads of globalThis properties
baltasarblanco:fix/sequences-global-this-property-read
43 minutes ago
fix(es/minifier): treat spread arguments of pure calls as side effects
baltasarblanco:fix/pure-call-spread-iteration-1744d5f-v2
5 hours ago
fix(es/typescript): analyze runtime containers before erasure Resolve enum values, alias dependencies and runtime requirements against shared declaration identities before syntax erasure. Track AST declaration order and execution regions, including eager decorator evaluation. Recognize immediately invoked functions through parentheses while retaining type wrappers as analysis boundaries. Evaluate initializers with TypeScript rules independently of optional member-read inlining. Substitute eligible enum reads while the original AST is intact, then pass immutable facts to lowering. Preserve reference operations and distinct emitted object identities, and accumulate namespace instantiation without repeated subtree scans.
fix/ts-namespace-enum-bindings
6 hours ago
fix(es/codegen): Escape inline script markers in regex literals (#12614) <!-- Note: CI script will automatically rebase your PR so please do not rebase unless required --> <!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. --> **Description:** <!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? --> With `inline_script` enabled, regex literals can emit HTML-sensitive markers. Minification can also combine `<` or `<<` with a regex to form `</script>`, which closes an inline script element. Escape closing script tags and HTML comment markers within regex patterns. Keep a space before a leading regex whose pattern starts with `script` after `<` or `<<`. Preserve existing escapes and leave regex output unchanged when `inline_script` is disabled. Add fixtures for readable and minified output, ASCII-only output, case-insensitive closing tags, character classes, existing escapes, and token boundaries. The fixtures check for HTML-sensitive markers and compare execution results in Node.js. Validation passed on `88040e10f64fd180e69d3508297443adf89fd7d1`: - `cargo fmt --all` - `cargo clippy --all --all-targets -- -D warnings` - `cargo test -p swc_ecma_codegen` (4,218 passed, 2 ignored) The new enabled fixtures failed before the fix. CI and review have not been verified. **Related issue (if exists):** Closes #12592
main
16 hours ago
fix(es/helpers): Convert Map and Set values to arrays (#12616) <!-- Note: CI script will automatically rebase your PR so please do not rebase unless required --> <!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. --> **Description:** <!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? --> The Map/Set fallback passed the type name to `Array.from`, producing the letters of "Map" or "Set". Pass the collection instead, matching Babel's helper, and regenerate the inline helper. Add an execution fixture for spread and array destructuring of empty and populated Map/Set collections when the global `Symbol` is unavailable. Include patch changesets for the affected Rust crates and `swc_core`. Validation (final source changes; the later commit adds only the changeset): - `cargo fmt --all` — passed. - `cargo clippy --all --all-targets -- -D warnings` — passed. - `cargo test -p swc_ecma_transforms_base -p swc_ecma_transforms_compat` — passed. - `pnpm --dir packages/helpers build` — passed. - Direct Node.js checks of ESM, generated CJS, and Babel helpers — passed for empty and populated Map/Set collections. The original helper's incorrect output was also reproduced. **Related issue (if exists):** Closes #12576
main
17 hours ago
chore: Add changeset
kdy1/babel-compatible-fix-12576
17 hours ago
refactor(es/hygiene): Track function name scopes without cloning identifiers
kdy1/fix-issue-12528
17 hours ago
refactor(es/codegen): Use question mark for an empty sequence
kdy1/fix-issue-12592
18 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
fix(es/minifier): do not merge sequences across reads of globalThis properties
#12619
10 days ago
52c8d55
baltasarblanco:fix/sequences-global-this-property-read
CodSpeed Performance Gauge
0%
fix(es/minifier): treat spread arguments of pure calls as side effects
#12585
9 hours ago
39c4410
baltasarblanco:fix/pure-call-spread-iteration-1744d5f-v2
CodSpeed Performance Gauge
+4%
fix(es/typescript): Fix merged namespace bindings and enum evaluation
#12455
11 days ago
23be610
fix/ts-namespace-enum-bindings
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs