swc-project
swc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(es/parser): allow escaped keywords as property names
fix/parser-escaped-keyword-property-names
57 minutes ago
chore: Add changeset
codex/changeset-pr-11964
2 hours ago
fix(es/parser): Accept valid declare readonly field initializers
fix/parser-declare-readonly-initializers
3 hours ago
fix(es/parser): allow escaped keywords as property names
fix/parser-escaped-keyword-property-names
4 hours ago
fix(es/parser): allow of bindings in await using loops (#12354) **Description:** Allow `of` as a binding name in `await using` declarations in `for-of` and `for-await-of` loops: ```ts async function main() { for (await using of of []) {} for await (await using of of []) {} } ``` The parser previously applied the synchronous `using` restriction to `await using` as well, misinterpreting these declarations as expressions. Apply the restriction only to synchronous `using`. Restore five existing TypeScript fixtures by narrowing an overly broad exclusion to `awaitUsingDeclarationsInFor.ts`, which covers traditional `for` initializers and remains unsupported. **Related issue (if exists):** None.
main
4 hours ago
fix(es/parser): parse static constructor methods in JavaScript (#12357) **Description:** Treat static methods named `constructor` as ordinary methods in JavaScript. The parser previously classified them as instance constructors, rejecting valid declarations and dropping `static` from generated output. Apply the same constructor check to ordinary, generator, async, and accessor methods, following swc-next's handling of static methods. Preserve TypeScript's existing constructor diagnostics and the restriction on fields named `constructor`. Restore two existing Test262 cases and update their codegen snapshots. Add fixtures for the remaining method forms and compatibility boundaries.
main
4 hours ago
fix(es/parser): allow eval and arguments in ambient function declarations (#12359) **Description:** Accept `eval` and `arguments` as ambient function names and parameter names in TypeScript modules. The parser previously applied runtime strict-mode binding restrictions to these declarations, rejecting valid code such as `declare function eval(): void`. Recognize ambient function names and parameter contexts, including constructors, methods, and nested signatures in ambient declarations. Preserve existing diagnostics for variables and non-ambient function signatures and implementations.
main
4 hours ago
fix(es/parser): Reset static block context for nested declarations (#12360) **Description:** SWC rejects valid uses of `await` as an identifier in ordinary functions and instance field initializers nested inside class static blocks, such as `class C { static { function f(await) {} } }` in a script. Reset the inherited static block context when parsing function expression names, function and method parameters, and instance field initializers, following swc-next's handling of grammar contexts.
main
4 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
fix(es/parser): allow escaped keywords as property names
#12358
22 hours ago
ba73540
fix/parser-escaped-keyword-property-names
CodSpeed Performance Gauge
0%
chore: Add changeset for AMD moduleRoot support
#12365
2 hours ago
04cc977
codex/changeset-pr-11964
CodSpeed Performance Gauge
+2%
fix(es/parser): Accept valid declare readonly field initializers
#12363
20 hours ago
896743f
fix/parser-declare-readonly-initializers
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs