swc-project
swc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(es/parser): recover non-entity expressions in TypeScript heritage clauses `parse_ts_heritage_clause` previously required a leading identifier and only checked the outer expression kind for `TS2499`. Heritage clauses in `interface extends` and `class implements` starting with parentheses (such as `extends (Base<T>)`) failed with a hard syntax error, while computed or call-based member expressions (such as `namespace[key]<T>` and `factory().Type<T>`) were accepted without reporting `TS2499`. Parse a full left-hand-side expression with optional type arguments into `TsExprWithTypeArgs`, and report `TS2499` as a recoverable error whenever the heritage expression is not an identifier or dot-member entity name.
fix/ts-heritage-expressions
12 hours ago
fix(es/parser): recover non-entity expressions in TypeScript heritage clauses `parse_ts_heritage_clause` previously required a leading identifier and only checked the outer expression kind for `TS2499`. Heritage clauses in `interface extends` and `class implements` starting with parentheses (such as `extends (Base<T>)`) failed with a hard syntax error, while computed or call-based member expressions (such as `namespace[key]<T>` and `factory().Type<T>`) were accepted without reporting `TS2499`. Parse a full left-hand-side expression with optional type arguments into `TsExprWithTypeArgs`, and report `TS2499` as a recoverable error whenever the heritage expression is not an identifier or dot-member entity name.
fix/ts-heritage-expressions
23 hours ago
fix(es/parser): recover non-entity expressions in TypeScript heritage clauses `parse_ts_heritage_clause` previously required a leading identifier and only checked the outer expression kind for `TS2499`. Heritage clauses in `interface extends` and `class implements` starting with parentheses (such as `extends (Base<T>)`) failed with a hard syntax error, while computed or call-based member expressions (such as `namespace[key]<T>` and `factory().Type<T>`) were accepted without reporting `TS2499`. Parse a full left-hand-side expression with optional type arguments into `TsExprWithTypeArgs`, and report `TS2499` as a recoverable error whenever the heritage expression is not an identifier or dot-member entity name.
fix/ts-heritage-expressions
23 hours ago
fix(es/fixer): avoid panicking on recovered parenthesized assignment targets Parser error recovery retains invalid parenthesized assignment targets (such as `(a + b) += c` or `(value as const) = other`) as `SimpleAssignTarget::Paren`. The fixer unconditionally unwrapped `AssignTarget::try_from` on the inner expression, panicking whenever the expression had no `AssignTarget` representation. Keep the `SimpleAssignTarget::Paren` wrapper and restore its inner expression when conversion to `AssignTarget` fails.
fix/fixer-invalid-assignment-targets
23 hours ago
fix(es/fixer): preserve optional chain boundaries `in_opt_chain` previously leaked into nested expressions such as call arguments and computed keys, and non-null assertions (`!`) were not treated as continuing an optional chain. Both caused the fixer to strip parentheses that terminated an inner optional chain, letting outer member accesses, calls, `new`, or template tags join its short-circuiting scope. Reset `in_opt_chain` when entering nested expressions, preserve parentheses around optional chains before `!`, and wrap non-null assertions that continue an optional chain before outer postfix operations.
fix/ts-optional-chain-grouping
23 hours ago
refactor(es/minifier): merge the rest param bailout into the existing check
baltasarblanco:fix/iife-rest-param-multiple-evaluation
1 day ago
fix(es/codegen): preserve optional call type arguments Emit type arguments before optional call arguments so generic optional calls retain their TypeScript syntax.
fix/optional-call-type-arguments
1 day ago
fix(es/codegen): preserve optional call type arguments Emit type arguments before optional call arguments so generic optional calls retain their TypeScript syntax.
fix/optional-call-type-arguments
1 day ago
Latest Branches
CodSpeed Performance Gauge
0%
fix(es/parser): recover non-entity expressions in TypeScript heritage clauses
#12552
1 day ago
a61d903
fix/ts-heritage-expressions
CodSpeed Performance Gauge
+3%
fix(es/fixer): avoid panicking on recovered parenthesized assignment targets
#12551
1 day ago
85afab1
fix/fixer-invalid-assignment-targets
CodSpeed Performance Gauge
+6%
fix(es/fixer): preserve optional chain boundaries
#12550
1 day ago
bb73d66
fix/ts-optional-chain-grouping
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs