🚀 Features
- 66c9b01 transformer/typescript: Debug_assert that
enum_evalran in semantic (#22252) (Dunqing) - ffe6475 minifier: Fold
Arrayconstructor with safe spreads (#22215) (camc314)
🐛 Bug Fixes
- d3d0b18 traverse: Handle
ChainElement::TSNonNullExpressioninGatherNodeParts(#22247) (leaysgur) - 4e880de transformer/object-rest-spread: Declare temp vars for computed keys (#22284) (camc314)
- a7c3e22 semantic: Clear member write target for computed keys (#22302) (camc314)
- 6a8852d codegen: Emit newline after legal-comment orphan flush (#22304) (Dunqing)
- 5da9fda transformer/explicit-resource-management: Preserve class names (#22306) (Dunqing)
- b5d970f transformer/explicit-resource-management: Preserve class names (#22290) (camc314)
- bc54fd4 minifier: Keep function / class names if direct eval is present in the scope (#22241) (sapphi-red)
- 7a810c0 minifier: Refresh direct eval flags after DCE (#21787) (Dunqing)
- dd88726 transformer/legacy-decorator: Preserve accessor type annotation for emitDecoratorMetadata (#21966) (Dunqing)
- 29a3cd7 codegen: Swap mapping/indent order for top-level decls (#22206) (Dunqing)
- 73b4f40 minifier: Preserve catch binding with direct eval (#22221) (camc314)
- 0e13d17 minifier: Preserve optional chain base side effects (#22219) (camc314)
- 0c7c01c transformer/typescript: Inline optional-chain enum member access (#21834) (Dunqing)
- a6aff7e codegen: Emit block/array/object end mapping at close char (#22200) (Dunqing)
- a099b03 codegen: Emit call end mapping at
)position, not past it (#22199) (Dunqing) - 5753774 minifier: Cap if-return ternary collapse for firefox (#21841) (Gurupungav Narayanan)
- 2493bdd codegen: Correct sourcemap end mappings for closing delimiters (#22001) (Mark Dalgleish)
- 3b385e2 minifier: Bail optimizing
Arraywith unknown arg count (#22188) (camc314) - 9fa2122 parser: Parse array computed class keys (#22159) (camc314)