swc-project
swc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(es/compat): Preserve class name TDZ in computed method keys
pederbe:learn/6098-referenceerror-class-key
15 minutes ago
fix(es/lexer): stop iteration when input is exhausted
fix/legacy-lexer-eof
9 hours ago
fix: Correct quoted package name in changeset (#12387) **Description:** The release workflow fails in `cargo bump` because the changeset parser treats the quoted package key as part of the package name (`"swc_estree_compat"`). Remove the quotes so the package matches Cargo metadata and crate publishing can proceed. **BREAKING CHANGE:** None. **Related issue (if exists):** N/A
main
10 hours ago
fix: quote changeset package name correctly
codex/fix-estree-compat-changeset
11 hours ago
fix(es/minifier): preserve destructuring patterns with PURE-annotated initializers A `/*#__PURE__*/` annotation on the initializer of a destructuring declaration only describes the evaluation of the initializer itself. The pattern still performs property reads, which can invoke getters, and checks the initializer value for nullishness, which can throw, so the annotation never licensed removing the pattern. `take_pat_if_unused` treated an annotated initializer (call, `new` or tagged template) as if the pattern itself were annotated, which dropped unused declarations like `const { a } = /*#__PURE__*/ x()` and could eliminate getter accesses with side effects. Only an annotation written directly on the pattern (the side table added for object and array patterns) or `pure_getters` now allows dropping a pattern. Unused plain bindings such as `const a = /*#__PURE__*/ x()` are still removed. The expected output of `tests/fixture/issues/9459` is updated because it asserted the old behavior for array patterns; per-site pattern annotations remain the way to opt into dropping them. Fixes #12373
YuEfSaEDU:fix/pure-destructuring-getters-12373
12 hours ago
chore: Add changeset
chenjiahan:chenjiahan/dedupe-icu
14 hours ago
fix(es/parser): recognize named optional and rest tuple elements (#12368) **Description:** Accept TypeScript tuples with unnamed optional elements followed by named optional or rest elements, such as `[number?, value?: string]` and `[number?, ...rest: string[]]`. Previously, named optional and rest elements were mistaken for required elements and rejected.
main
15 hours ago
fix(es/parser): preserve type references named asserts before line breaks (#12372) **Description:** Fix valid TypeScript being rejected when a return type named `asserts` is followed by another member on the next line: ```typescript type asserts = number; interface I { f(): asserts p: number; } ``` The parser now treats `asserts` as the return type and keeps `p` as a separate property. This also prevents class fields from being silently removed from the AST and generated JavaScript. The fix applies to both parser implementations.
main
16 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
fix(es/compat): Preserve class name TDZ in computed method keys
#12390
17 minutes ago
7634e6e
pederbe:learn/6098-referenceerror-class-key
CodSpeed Performance Gauge
-3%
fix(es/lexer): stop iteration when input is exhausted
#12388
9 hours ago
82dbfe2
fix/legacy-lexer-eof
CodSpeed Performance Gauge
0%
fix: Correct quoted package name in changeset
#12387
11 hours ago
19d94c8
codex/fix-estree-compat-changeset
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs