oxc-project
oxc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(minifier): don't reorder a closed-over TDZ read when inlining a var The single-use-variable inliner could merge let v = ...; async function init() { const num = await wait(); bar(v, num); } into `bar(v, await wait())`, moving the read of `v` ahead of the await. When `init` runs while `v` is still in its Temporal Dead Zone -- e.g. it is called before `let v` executes -- the original reads `v` after the await (initialized) while the merged form reads it before, throwing `ReferenceError: Cannot access 'v' before initialization`. This surfaced as a Svelte production-only crash via rolldown (rolldown/rolldown#9959). Only block the reorder when the binding is block-scoped lexical (`let` / `const` / `class`) and closed over from an outer function scope, the only case where an early call can observe the TDZ. Same-function lexicals are always initialized at the read and still inline; `var`, parameters, and plain identifier assignment targets are unaffected. The member assignment-target path (`v.x = await f()`) gets the same guard.
fix/minifier-no-reorder-tdz-read
1 hour ago
refactor(parser): switch parser to new `AstBuilder` (#23730) Part of #23043. Switch over `oxc_parser` to use the new `AstBuilder` and builder methods on AST types themselves. Vast majority performed by an ast-grep codemod generated by Claude (2nd commit - [codemod here](https://github.com/oxc-project/oxc/tree/overlookmotel/ast-builder-codemod)). The last 2 commits are a few small fixes, and some manual changes to shorten code.
main
2 hours ago
feat(ast): add custom builder methods to AST types (#23651) Part of #23043. As well as the generated `AstBuilder` methods, we have hand-written convenience methods in `ast_builder_impl.rs`. Replicate these as methods on AST types themselves, using the new generic `AstBuild` approach. Note: This stack is draft for now. I'd like to try migrating `oxc_parser` to new `AstBuilder` and check it all works before merging anything.
main
2 hours ago
feat(ast): add AST creation methods to AST types (#23650) Part of #23043. Codegen AST builder methods on AST types, matching the methods which are generated on current `AstBuidler` type. Add a single new `AstBuilder` type which is the simplest possible - just creates all nodes with dummy `NodeId`s - same as current builder does. But this PR includes the traits to add other `AstBuild` implementations later e.g. a builder for transformer which generates unique `NodeId` for each AST node. Design is much the same as outlined in #23043 but: * Extra trait to reduce trait bounds in generated methods (so reducing code size and compile time). * Different naming for enum methods - `Expression::new_null_literal` not `Expression::null_literal`. This naming is more verbose, but clearer, and avoids clashing with existing methods e.g. `ModuleExportName::identifier_name`. Note: All these methods are inlined (they need to be, to make AST nodes be constructed in arena directly, not built on stack and copied to arena). So the traits should not have any affect on binary size.
main
2 hours ago
refactor(formatter_css): fix up code and comments
06-22-refactor_formatter_css_fix_up_code_and_comments
2 hours ago
refactor(oxfmt): fix up code and comments
06-24-refactor_oxfmt_fix_up_code_and_comments
2 hours ago
fix(formatter_css): improve major prettier diffs
06-12-fix_formatter_css_improve_major_prettier_diffs
2 hours ago
refactor(formatter_graphql): fix up code and comments
06-16-refactor_formatter_graphql_fix_up_code_and_comments
2 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
fix(minifier): don't reorder a closed-over TDZ read when inlining a var
#23771
1 hour ago
f3c1631
fix/minifier-no-reorder-tdz-read
CodSpeed Performance Gauge
0%
refactor(formatter_css): fix up code and comments
#23704
3 days ago
5d18f9d
06-22-refactor_formatter_css_fix_up_code_and_comments
CodSpeed Performance Gauge
0%
refactor(oxfmt): fix up code and comments
#23770
19 hours ago
244fce4
06-24-refactor_oxfmt_fix_up_code_and_comments
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs