oxc-guard
7f56ec9301
release(crates): oxc v0.153.0 ( #27342 )
...
### 🚀 Features
- 61003c7 minifier: Fold undefined argument in non delegating yield (#27324 ) (Armano)
- 07833c0 ast: Tie `debug_name` return lifetime to the underlying AST node (#27295 ) (sadan)
- adb1139 minifier: Merge import statements against the same module (#25534 ) (翠)
- cc82598 minifier: Merge import and export statements against the same module (#25533 ) (翠)
- 1c352ce minifier: Minimize bitwise binary expressions (#27107 ) (Armano)
- d1a0bcc minifier: Merge statements after terminating if block branches (#26667 ) (Armano)
- 7a95376 minifier: Merge adjucent if stmt with the same content (#26445 ) (Armano)
### 🐛 Bug Fixes
- 6a7d48b parser: Report abstract private field error on modifier (#27314 ) (camc314)
- 2ff6fb5 parser: Include generator marker in overload diagnostic span (#27313 ) (camc314)
- 4359a66 parser: Reject TypeScript class modifiers in JavaScript (#27312 ) (camc314)
- 565d75d minifier: Correct indopedency when processing nested sequences (#27273 ) (Armano)
- d0b9372 parser: Remove type-dependent tuple rest diagnostics (#27234 ) (camc314)
- 3d61a59 parser: Validate TypeScript type member separators (#27222 ) (camc314)
- b2793fa parser: Reject module syntax in script (#27220 ) (leaysgur)
- 5914a24 parser: Report `TS1243` for abstract async methods (#27192 ) (camc314)
- c6c6e5e parser: Report `TS1242` for interfaces with `abstract` modifier (#27191 ) (camc314)
- dd0bbb9 parser: Avoid duplicate index signature modifier diagnostic (#27190 ) (camc314)
- 8f61129 regex: Decode escaped capturing group names (#27156 ) (camc314)
- da1fed2 minifier: Fold conditional expressions with long sequences (#27083 ) (Armano)
- 0c601f4 isolated-declarations: Allow adding undefined to keyof parameter types (#27173 ) (Dunqing)
- 4896287 isolated-declarations: Support readonly parameter types (#27009 ) (sama Pyb)
- 72d62a1 transformer/explicit-resource-management: Transform classic for loop using declarations (#27148 ) (camc314)
- 4cf9ae2 minifier: Preserve sibling declarations in arguments copy rewrite (#27140 ) (camc314)
- 24b7015 transformer/explicit-resource-management: Lower using in catch and finally (#27142 ) (camc314)
### ⚡ Performance
- 99e3c15 minifier: Small performance improvement when merging imports (#27238 ) (Armano)
- d37d1db codegen: Pre-allocate sourcemap builder vectors (#27230 ) (codspeed)
- 466ef10 minifier: Update expressions in place in `merge_import_export` (#27226 ) (Armano)
- 028ffb8 minifier: Update nodes in place in `wrap_to_avoid_ambiguous_else` (#27194 ) (Armano)
- 6fcd135 minifier: Avoid conversion from ident to str when for substitute symbols (#27209 ) (Armano)
- 0b9799d minifier: Reduce usage of minimize_conditional (#26028 ) (Armano)
- 3ca3ded minifier: Short-circuit IfStatement termination on alternate (#25198 ) (Armano)
### 📚 Documentation
- 335ce79 agents: Scope verification for local and stacked work (#27299 ) (Dunqing)
2026-10-05 10:09:39 +00:00
oxc-guard
dfbc0d1ea7
release(crates): oxc v0.152.0 ( #27133 )
...
### 🚀 Features
- 02331c8 str: Add `JSStr`, `JSChar` and `JSStrBuilder` types (#26435 ) (Dunqing)
- 52ae63f regular_expression: Support buffer boundary assertions (#27048 ) (Boshen)
- 3255b89 transform-react: Add `reportDiagnostics` option to expose recoverable React Compiler diagnostics (#26624 ) (Jack)
- f585cb4 napi: Add threadless WASI builds (#26898 ) (Boshen)
### 🐛 Bug Fixes
- c380c85 minifier: Preserve iife with directives (#27060 ) (Armano)
- c55b35d str: Correct clippy reason (#27013 ) (overlookmotel)
- 8fbddb1 formatter/jsdoc: More alignment with original plugin (#27039 ) (leaysgur)
- 5186328 parser: Handle HTML comment values (#22933 ) (Boshen)
- 01ff33e parser: Reject module export names containing a lone surrogate (#26953 ) (Dunqing)
- d79ad19 codegen: Remove redundant dollar escapes in minified templates (#26924 ) (camc314)
### ⚡ Performance
- 0afbf85 minifier: Fold logical expressions in place (#26768 ) (Armano)
- 3471f29 minifier: Avoid creation of empty block when folding try finally (#26971 ) (Armano)
- 3893d64 minifier: Update boolean context expressions in place (#26823 ) (Armano)
- de8af47 minifier: Take return argument directly when converting arrow fn (#26830 ) (Armano)
- fc37ba0 minifier: Reduce allocations when minimizing assignments (#26609 ) (Armano)
- dce64f6 minifier: Use ident hashes for catch var and arguments (#26907 ) (Armano)
- 57610b3 minifier: Use ident hashes in label comparison (#26887 ) (Armano)
### 📚 Documentation
- dfa6cf9 str: Reformat and simplify comments (#27011 ) (overlookmotel)
- d775315 parser: Document AST property order (#27038 ) (Boshen)
- cd80e3f ast: Correct `JSXExpressionContainer` example (#26975 ) (camc314)
- 8cb05e3 ast: Simplify `JSXAttribute` value description (#26974 ) (camc314)
- fda7fbb ast: Correct `TSNumberKeyword` example (#26973 ) (camc314)
- e63c439 ast: Clarify `RegExpFlags::V` flag features (#26972 ) (camc314)
- 278288e ast: Correct `JSXText` example (#26970 ) (camc314)
- e9ff529 ast: Correct `TSIntrinsicKeyword` example (#26967 ) (camc314)
- c643ce4 ast: Fix `TSTupleType` example syntax (#26966 ) (camc314)
- 895b1a7 ast: Correct `TSPropertySignature` usage example (#26964 ) (camc314)
- 8d8cc7c ast: Correct `Class` abstract example values (#26963 ) (camc314)
- f7ef2e2 ast: Use valid variance example for `TSTypeParameter` (#26962 ) (camc314)
- 145fcdb ast: Attach `pure` comment to `NewExpression` field (#26961 ) (camc314)
- 06dfd9f ast: Clarify `TSNonNullExpression` docs (#26960 ) (camc314)
- d5f92b5 ast: Add docs for TSNonNullExpression (#26910 ) (camchenry)
- 4a76723 ast: Add docs for TSNamespaceExportDeclaration (#26909 ) (camchenry)
- de41927 ast: Add docs for `TSInstantiationExpression` (#26908 ) (camchenry)
2026-09-28 09:39:56 +00:00
Boshen
f585cb42cd
feat(napi): add threadless WASI builds ( #26898 )
...
## Summary
- add threadless `wasm32-wasip1` builds and generated loaders for parser, minify, transform, transform-react, and transform-relay
- use the threadless bindings for browser and Cloudflare Workers while preserving threaded WASI and WebContainer fallbacks
- build and publish the new target in CI and release workflows
Closes #25271
## Testing
- native NAPI builds and package tests: 1,091 passed
- parser Chromium browser tests passed
- local workerd smoke tests passed for all five packages
- deployed Workers using local package tarballs passed for all five packages and reported `wasm32-wasip1`
- packed main-package file lists match the published `0.150.0` packages
- `just fmt`, `just check`, `just lint`, `just doc`, `just ast`, targeted Oxlint, typos, and `git diff --check` passed
- `just ready` reaches three unrelated Oxlint ANSI-color snapshot mismatches in this non-interactive environment; no pending snapshots remain
## AI assistance
Codex was used to help implement and test this change. The contributor remains responsible for reviewing and understanding the changes before merge.
2026-09-23 06:54:41 +00:00
oxc-guard
bec650f15b
release(crates): oxc v0.151.0 ( #26875 )
...
### 🚀 Features
- 1fac655 coverage: Support new TypeScript fixture layout (#26226 ) (camc314)
### 🐛 Bug Fixes
- cd7228f minifier: Add missing negation for boolean literal (#26847 ) (Armano)
- 32305e2 transformer: Skip enum reverse mappings for syntactic string initializers (#26724 ) (Dunqing)
- 7811f0a parser: Preserve reparsed `await` tokens (#26619 ) (camc314)
- 9220158 transformer: Skip recovered using loop patterns (#26722 ) (camc314)
- 3130405 parser: Recover await using object binding patterns (#26721 ) (camc314)
- 827fdbd parser: Reject invalid modifiers on import aliases (#26622 ) (camc314)
### ⚡ Performance
- 3f1e3aa minifier: Preallocate stmts vec size to avoid excesive reallocs (#26856 ) (Armano)
- bd3f69e semantic: Reuse identifier hashes in enum member lookups (#26773 ) (camc314)
- 5f72954 minifier: Reduce allocations when processing if statements (#26666 ) (Armano)
2026-09-21 12:15:01 +00:00
oxc-guard
5a6e37e5cf
release(crates): oxc v0.150.0 ( #26632 )
...
### 🚀 Features
- ca649e0 ecma: Define math constants as known globals and resolve their types (#26585 ) (Armano)
- 9ef028c codegen: Add `ascii_only` option (#25994 ) (Samuel Attard)
- 80a76a0 minifier: Negate binary comparison for `typeof x < 'u'` (#26367 ) (Armano)
### 🐛 Bug Fixes
- 8ca76da parser: Reject `accessor` modifiers on methods (#26617 ) (camc314)
- 1916f31 parser: Reject `readonly` modifier on constructors (#26612 ) (camc314)
- 1c42008 parser: Handle escaped let in for loops (#26583 ) (camc314)
- d21d5cf parser: Recognize annotated empty arrows in conditionals (#26537 ) (camc314)
- d7713ad parser: Classify Unicode line breaks in block comments (#26536 ) (camc314)
- 75cd919 transformer: Preserve receivers in private optional chains (#26535 ) (camc314)
- b32d25d parser: Reject escaped import-phase keywords (#26534 ) (camc314)
- 47b8311 parser: Recognize contextual binding names in type lookaheads (#26532 ) (camc314)
- d6b6705 parser: Require arrow separator in TypeScript function types (#26529 ) (camc314)
- e98beef parser: Disambiguate await using in for initializers (#26527 ) (camc314)
- 92afee6 parser: Allow parenthesized JSX comma expressions with preserve_parens=false (#26524 ) (camc314)
- 31508b1 parser: Reject return types on constructor overloads (#26523 ) (camc314)
- a091fc4 parser: Validate await context for await using declarations (#26495 ) (camc314)
- 5501e86 parser: Disallow in expressions in using for-loop initializers (#26490 ) (camc314)
- c8e5fa7 parser: Allow escaped type names in import and export specifiers (#26487 ) (camc314)
- 2dcee2f parser: Reject async modifiers on class fields (#26486 ) (camc314)
- 973d58e parser: Require comma after TypeScript this parameter (#26480 ) (camc314)
- 32d00c5 codegen: Preserve instantiation expression precedence (#26424 ) (camc314)
- cfa47ab parser: Allow `in` expressions in class static blocks (#26423 ) (camc314)
- 5986187 packages/codegen: Preserve private-in right operand precedence (#26420 ) (camc314)
- f8e6c6c packages/codegen: Preserve in restriction through yield arguments (#26421 ) (camc314)
- d61e3bf parser: Validate TS named tuple rest elements (#26419 ) (camc314)
- ae6c386 codegen: Preserve in restriction through yield arguments (#26413 ) (camc314)
- 42ac916 codegen: Preserve private-in right operand precedence (#26411 ) (camc314)
- 10521b2 parser: Allow escaped type default import bindings (#26409 ) (camc314)
- 72cb5e3 parser: Reject rest parameters in getters (#26400 ) (camc314)
- 6e15ad5 packages/codegen: Print matching quoted import names as identifiers (#26404 ) (camc314)
- bbbb4bc packages/codegen: Preserve private-in left operand precedence (#26403 ) (camc314)
- a111b5b packages/codegen: Print accessibility modifiers before abstract (#26402 ) (camc314)
- 4e76602 parser: Allow `in` in arrow block bodies within `for` initializers (#26395 ) (camc314)
- b20fc19 parser: Reject partially parenthesized mixed coalesce expressions (#26394 ) (camc314)
### ⚡ Performance
- 1f902a6 isolated_declarations: Key scope maps by `Ident` (#26380 ) (Dunqing)
- a242469 minfiier: Reduce allocs when creating indirect access (#26601 ) (Armano)
- 5b4787f minifier: Update chain expressions in place (#26544 ) (Armano)
- 0bc1661 minifier: Try merging before creating new expression statements (#26556 ) (Armano)
- c78d707 minifier: Process newly created stmt in handle_if_statement (#26541 ) (Armano)
- 029c84b minfier: Update expressions in place when substituting alternate syntax (#26460 ) (Armano)
- d198982 codegen: Outline postfix source mapping work (#26450 ) (camc314)
- 53f006e ecmascript: Format small integer literals with itoa (#26446 ) (camc314)
- 8bfb8c0 codegen: Avoid duplicate sourcemap name lookups (#26441 ) (camc314)
### 📚 Documentation
- 38533ac ast: Move type annotation span comment to span field (#26522 ) (camc314)
2026-09-14 11:25:40 +00:00
oxc-guard
60fa13878c
release(crates): oxc v0.149.0 ( #26397 )
...
### 💥 BREAKING CHANGES
- 66744f0 parser: [**BREAKING**] Rename `panicked` to `fatal_error` in `ParserReturn` (#26382 ) (overlookmotel)
- 2c9a947 parser: [**BREAKING**] Reduce `MAX_LEN` to 256 bytes below `u32::MAX` (#26352 ) (overlookmotel)
### 🚀 Features
- 32bdc5b allocator: Construct `ArenaHashSet` with any `Default` hasher (#26372 ) (Dunqing)
- a17de58 minifier: Process of return/throw in non last position and fix async * inlining (#26214 ) (Armano)
- bfb4c57 parser: Distinguish unapplied no-side-effects comments (#26120 ) (碳苯 Carbon)
- 1d9b9d3 ast: Add `GetNodeId` trait (#26145 ) (camc314)
### 🐛 Bug Fixes
- b156333 codegen: Order accessibility before abstract on accessors (#26392 ) (camc314)
- 116c8b8 transformer/class-properties: Keep private methods in class-expression scope (#26308 ) (Changsu Seong)
- 1400a0f parser: Require a string source after `export ... from` (#26389 ) (camc314)
- 2da73b7 codegen: Print matching quoted import names as identifiers (#26386 ) (camc314)
- 0a81d29 codegen: Preserve private-in left operand precedence (#26383 ) (camc314)
- 9a02337 parser: Correctly round large nondecimal literals (#26379 ) (camc314)
- 3d95477 transformer: Gate async-only rewrites by owning transform (#26326 ) (Dunqing)
- f45a9ee transformer: Limit arguments capture to lowered async functions (#26317 ) (Dunqing)
- 789969f transformer: Gate this capture by owning async transform (#26227 ) (Dunqing)
- affeb14 minifier: Mangle class private members in Node API (#26118 ) (碳苯 Carbon)
- 8b35abd semantic: Detect duplicate private class elements (#26361 ) (camc314)
- 457ed57 semantic: Reject await and yield in rest parameter defaults (#26359 ) (camc314)
- 4b89c7b semantic: Reject jumps across arrow functions (#26357 ) (camc314)
- c966aca parser: Do not omit `<` token opening type argument list (#26328 ) (overlookmotel)
- f07dca5 ast_visit: Add the trimmed prefix length to translation table offsets (#26173 ) (Bharadwaj Pendyala)
- 3ab9bd1 parser: Do not re-lex template substitution tail after fatal error (#26230 ) (overlookmotel)
- 07851b9 parser: Fix debug assert failure when lexer error with tokens enabled (#26229 ) (overlookmotel)
- 00dea7a allocator: Gate `Allocator::data_end_ptr` behind fixed_size feature (#26248 ) (camc314)
- 853ffab ecmascript: Avoid `charAt` panic on 32-bit (#26244 ) (camc314)
- 34feccb runtime: Remove stale regenerator exports (#26243 ) (camc314)
### ⚡ Performance
- 34a242e minifier: Use `Ident` for property mangler (#26334 ) (sapphi-red)
- 5303f5c minifier: Unify merging of last expression into target sequence (#26264 ) (Armano)
- 2ca7d29 minifier: Consume nodes in minimize_statements in reverse order (#26258 ) (Armano)
- d2354b4 mangler: Use `Ident` for variable names to keep (#26333 ) (sapphi-red)
- 5b3e335 minifier: Use `Ident` instead of `Str` in `KeepVar` (#26332 ) (sapphi-red)
- 51366fb minifier: Use `IdentHashSet` in `PrivateMemberUsageStack` (#26331 ) (sapphi-red)
- d19c42a minifier: Merge nested if stmt in place instead of creating dummies (#26351 ) (Armano)
- 356def6 parser: Shrink annotation comment ranges (#26356 ) (overlookmotel)
- a5be474 parser: Shave instruction off `parse_jsx_element_name` (#26355 ) (overlookmotel)
- 9780663 parser: Remove fatal error guard from `parse_jsx_element_name` (#26354 ) (overlookmotel)
- 766e12f parser: Remove `token` field from `LexerCheckpoint` (#26350 ) (overlookmotel)
### 📚 Documentation
- d4b4e61 transformer: Document ES2015 target floor (#26378 ) (Dunqing)
- 67dd054 ast_visit: Correct out-of-date comments on `Utf8ToUtf16` converter (#26285 ) (overlookmotel)
- a8ed2a7 minifier: Fix stale validation instructions (#26251 ) (camc314)
2026-09-07 14:29:34 +00:00
oxc-guard
894c8f9cd8
release(crates): oxc v0.148.0 ( #26198 )
...
### 💥 BREAKING CHANGES
- a31567a allocator: [**BREAKING**] Make `Allocator::cursor_ptr` and `data_end_ptr` private (#26081 ) (overlookmotel)
### 🚀 Features
- 784e9fa minifier: Invert `!0` and `!1` in place for boolean context to `1` and `0` (#26050 ) (Armano)
- 1e902cc minifier: Expand fold leading assignments into the var decl (#26142 ) (Armano)
- 3ed4f6a minifier: Expand de morgan's optimization to allow move of `!` (#25930 ) (Armano)
- 5672585 parser: Attach all comments to nodes (#25944 ) (camc314)
### 🐛 Bug Fixes
- 4adfb4c semantic: Validate chained continue labels (#26157 ) (camc314)
- b874f48 ecmascript: `Math.round` only exact half ties (#26150 ) (camc314)
- a625378 minifier: Coerce omitted `indexOf` search argument (#26149 ) (camc314)
- dc7398b ecmascript: Trim trailing whitespace in string to number (#26148 ) (camc314)
- 243b685 transformer/object-rest: Lower multiple declarators correctly (#26147 ) (camc314)
- dc09a3a parser: Avoid panic on escaped string export names (#26146 ) (camc314)
- e412cf2 linter: Clamp invalid JS plugin locations (#26144 ) (camc314)
- c3dedc9 semantic: Skip function body bindings in parameters (#26099 ) (Dunqing)
- e74de61 transform-react: Match Babel diagnostic reporting (#26128 ) (Boshen)
- d5163d0 parser: Correctly classify unapplied pure annotations (#26084 ) (camc314)
- 8531b9b linter/plugins: Alter method for obtaining mutable `Program` when sending AST to JS plugins (#26077 ) (overlookmotel)
- 9b51658 regular_expression: Allow oversized decimal escape for Annex B (#26070 ) (leaysgur)
- c8de4df regular_expression: Reject oversized backreferences (#26055 ) (camc314)
### ⚡ Performance
- ac4785a diagnostics: Use fixed ANSI styles (#26130 ) (Boshen)
- 07a0793 packages/codegen: Flatten output in chunks (#26109 ) (overlookmotel)
- 487427a packages/codegen: Faster string flattening (#26108 ) (overlookmotel)
- 7785583 packages/codegen: Ensure indent strings are flattened (#26107 ) (overlookmotel)
- 0dd4db3 packages/codegen: Store mapping positions in an `Int32Array` (#26085 ) (overlookmotel)
2026-09-01 08:15:07 +00:00
Boshen
63bc313934
chore(npm): update funding URL ( #26066 )
...
Update npm package funding links to the Oxc organization sponsorship page.
Closes #26062 .
AI-assisted with Codex.
2026-08-24 14:42:18 +00:00
oxc-guard
4e258430cd
release(crates): oxc v0.147.0 ( #26046 )
...
### 🚀 Features
- b6e9e5e minifier: Fold switch stmt whose parent is not block stmt (#25403 ) (Armano)
### 🐛 Bug Fixes
- 8a9bdbd estree: Include decorators in `FormalParameterRest ` spans (#26021 ) (camc314)
- 6f0c7cf minifier: Avoid merging `if` to `for` in sloppy mode when containing function declaration (#25638 ) (sapphi-red)
- 2cde1f6 rust: Address nightly deprecations (#25998 ) (Boshen)
- 6c5ad1b codegen: Only add mapping names for `PrivateIdentifier`s which have changed (#25958 ) (overlookmotel)
- 2dad1e0 parser: Track irregular line terminators in trivia (#25947 ) (camc314)
- 58ba651 minifier: Avoid merging `if` to `for` when the body contains a function declaration (#25637 ) (sapphi-red)
- a185ac3 codegen: Print `#` before private identifier in TS signature key (#25938 ) (overlookmotel)
- af82a07 minifier: Keep unary `+` when the other operand has side effects (#25645 ) (Kotaro Chikuba)
### ⚡ Performance
- 53f6270 packages/codegen: Eagerly initialize `mapNames` (#25979 ) (overlookmotel)
- 5b43c60 packages/codegen: Split recording mappings into multiple functions (#25978 ) (overlookmotel)
- cc947b5 packages/codegen: Reduce property lookups (#25977 ) (overlookmotel)
- c22a9cc packages/codegen: Combine condition checks (#25976 ) (overlookmotel)
- 215a6a5 packages/codegen: Add functions for writing/marking unnamed mappings (#25975 ) (overlookmotel)
- fe444cc codegen: Avoid allocations for single comment anchors (#25598 ) (camc314)
- a0aee81 minifier: Do not rebuild expression when substituting void to null (#25964 ) (Armano)
- 1004439 packages/codegen: Merge `mark` and `write` calls in `printImportAttributes` (#25972 ) (overlookmotel)
- 94c8a34 packages/codegen: Remove `node` param from `printString` and `printNonNegativeFloat` (#25971 ) (overlookmotel)
- 7e2b4b3 packages/codegen: `printNonNegativeFloat` write mapping directly (#25968 ) (overlookmotel)
- f09c8ab minifier: Avoid creation of unnecessary conditional expressions (#25931 ) (Armano)
- 53ff080 packages/codegen: Remove `lastWasPostfixClose` (#25888 ) (overlookmotel)
### 📚 Documentation
- 07de646 packages/codegen: Fix JSDoc comments on `write*` methods (#25966 ) (overlookmotel)
- 3b09c04 packages/codegen: Clarify comment (#25959 ) (overlookmotel)
2026-08-24 11:19:12 +00:00
oxc-guard
0389c4010e
release(crates): oxc v0.146.0 ( #25912 )
...
### 🚀 Features
- 83cb516 minifier: Improve negation of expressions in boolean context (#25755 ) (Armano)
### 🐛 Bug Fixes
- 134fb22 isolated-declarations: Preserve unresolved parameter types (#25909 ) (Dunqing)
- 526c2b3 codegen: Remove deprecated test APIs (#25889 ) (camc314)
- 344a9b2 codegen: Align enum template sourcemaps (#25872 ) (camc314)
### ⚡ Performance
- 5ef0c93 minifier: Unwrap all unary exprs without creating dummy expressions (#25891 ) (Armano)
- 8783524 packages/codegen: Remove loop from `growMappingBuffer` (#25886 ) (overlookmotel)
- b6b14c0 packages/codegen: Remove redundant branch (#25885 ) (overlookmotel)
- be6adf0 packages/sourcemap: Make `location` passed to `recordSourceMapping` always a number (#25884 ) (overlookmotel)
- f720f15 packages/codegen: Take named-mapping only code off hot path in `recordSourceMapping` (#25883 ) (overlookmotel)
- a734af5 packages/codegen: Remove redundant setting of `last` in `printImportAttributes` and `printIf` (#25882 ) (overlookmotel)
- c6e44c6 packages/codegen: Combine 2 writes in `printJSXElement` (#25881 ) (overlookmotel)
- 8801662 packages/codegen: Remove redundant mapping from `printParams` (#25880 ) (overlookmotel)
### 📚 Documentation
- 5ad330e packages/codegen: Reformat comments (#25876 ) (overlookmotel)
2026-08-19 08:29:51 +00:00
oxc-guard[bot] and Boshen
4a4a1fb2e7
release(crates): oxc v0.145.0 ( #25865 )
...
### 💥 BREAKING CHANGES
- 365274e packages/codegen: [**BREAKING**] `printSync` return an object
(#25720 ) (overlookmotel)
### 🚀 Features
- 6a7eb60 packages/codegen: Alter capitalization of `sourceFilename`
option (#25854 ) (overlookmotel)
- 300763f packages/codegen: Add full source map support (#25585 )
(camc314)
- a169e4a napi/minify: Expose property name mangling options (#24741 )
(Dunqing)
- 2f5cdb1 minifier: Add property name mangling (#24740 ) (Dunqing)
- 4922141 mangler: Deduplicate private accessor names (#25601 ) (camc314)
- 1c4f519 napi: Add Relay transform plugin (#25503 ) (Boshen)
- a4478e9 codegen: Add `oxc-codegen` package (#25488 ) (overlookmotel)
### 🐛 Bug Fixes
- 0fbcf64 codegen: Validate sourcemap options (#25860 ) (camc314)
- 345f981 react_compiler: Skip node_modules by default (#25859 ) (Boshen)
- ab81f3f minifier: Drop side-effect-free additions (#25639 ) (Dunqing)
- 241c559 napi/minify: Accept RegExp for property filters (#25827 )
(Dunqing)
- 4cc7ea4 codegen: Reject invalid indent options (#25807 ) (camc314)
- 53f9295 isolated-declarations: Preserve undefined for defaulted any
(#25292 ) (camc314)
- 8ab883a codegen: Preserve property key annotations (#25766 ) (Dunqing)
- b13fd48 minifier: Model uninitialized module vars as undefined
(#25497 ) (Dunqing)
- f6000ac ecmascript: Fold `**` with `Number::exponentiate`, not IEEE
`pow` (#25644 ) (Kotaro Chikuba)
- b846abc isolated-declarations: Handle ambient expando properties
(#25655 ) (camc314)
- dec0a86 react-compiler: Standardize diagnostics (#25702 ) (Boshen)
- fca2e0c parser: Reject initialized lexical declarations in for-in
(#25700 ) (Boshen)
- ae9be8f parser: Forbid type parameters on quoted constructors (#25696 )
(Boshen)
- c5f188a react-compiler: Use Babel v1 validation defaults (#25676 )
(Boshen)
- db44651 napi: Disable reuseWorker in browser bindings (#25640 )
(leaysgur)
- ce35d47 react_compiler: Preserve JSX import source pragmas (#25592 )
(Boshen)
- 059784d semantic: Respect shadowed `Infinity` and `NaN` in enum
evaluation (#25604 ) (camc314)
- bb5a232 minifier: Keep variable declaration initilized with class when
keepNames is enabled (#25584 ) (sapphi-red)
- f49229d minifier: Keep side effects when rotating bitwise operands
(#25596 ) (Kotaro Chikuba)
- e82495b ecmascript: Derive `ToNumber` of `!x` from `ToBoolean`
(#25595 ) (Kotaro Chikuba)
- 509931b semantic: Classify global references per identifier (#25608 )
(camc314)
- 80484ce mangler: Correct base54 safety comment (#25606 ) (camc314)
- c1369a7 codegen: Resolve private names in class heritage (#25588 )
(camc314)
- c002f29 codegen: Escape sources for empty import specifiers (#25586 )
(camc314)
- 0c68b7f estree: Emit `decorators` on `FormalParameterRest` (#25582 )
(camc314)
- cdf1846 semantic: Allow legacy escapes in JSX attributes (#25576 )
(Boshen)
- e75e102 minifier: Preserve block statement in labeled iteration
statements (#25162 ) (Armano)
- 771d79a mangler: Exclude non-manglable symbols from slot assignment
(#25539 ) (sapphi-red)
- 76b19f5 minifier: Avoid duplicating large folded strings (#25532 )
(Dunqing)
- 59e8895 codegen: Validate starting indent level (#25550 ) (camc314)
- 88b34f2 clippy: Remove unneeded `unsafe` (#25551 ) (camc314)
- 23a7ad0 parser: Stop delimited lists at end of file (#25542 ) (Boshen)
- 73acba9 parser: Preserve fatal errors during await reparse (#25541 )
(Boshen)
- c3e99d1 minifier: Avoid invalid octal escapes in template folds
(#25495 ) (Dunqing)
- b4e6a9e codegen: Output newline after `export default interface`
(#25487 ) (overlookmotel)
- 5fcf683 minifier: Correct issue with try finally termination (#25185 )
(Armano)
- 1645d93 react_compiler: Preserve source spans (#25462 ) (Boshen)
- 8d7f9cf react_compiler: Honor eslint suppressions (#25394 ) (Boshen)
### ⚡ Performance
- 568203e ecmascript: Use binary search for known globals (#25817 )
(Boshen)
- c84ede3 estree_tokens: Share JS token update entry point (#25826 )
(Boshen)
- 9a6e862 minifier: Move owned statements directly (#25835 ) (Dunqing)
- 61b2aef minifier: Move owned AST nodes directly (#25837 ) (Dunqing)
- 673b04b minifier: Replace expressions without take_in dummies (#25836 )
(Dunqing)
- 63ff8ef linter: Outline diagnostic construction (#25762 ) (Boshen)
- 621808e diagnostics: Measure graphemes lazily (#25723 ) (Boshen)
- f62ed0e diagnostics: Optimize graphical number rendering (#25715 )
(Boshen)
- 7152834 diagnostics: Reduce graphical formatting overhead (#25714 )
(Boshen)
- 10fc4b7 diagnostics: Reduce graphical rendering allocations (#25711 )
(Boshen)
- 9c8abab diagnostics: Batch graphical reports (#25710 ) (Boshen)
- 757f3d4 mangler: Share allocated names across reused slots (#25605 )
(camc314)
- 5444cbf codegen: Skip escaping harmless `<` tokens (#25564 ) (camc314)
### 📚 Documentation
- 58f7ab9 packages/codegen: Reformat docs and comments (#25848 )
(overlookmotel)
- 627466e transform-react: Document all options (#25800 ) (Boshen)
- ce03ac1 packages/codegen: Fix JSDoc comments for `printSync` (#25722 )
(overlookmotel)
- 386a699 packages/codegen: Correct JSDoc comment (#25716 )
(overlookmotel)
- 31e571d mangler: Update code example (#25599 ) (camc314)
- fd62354 codegen: Revamp package readme (#25560 ) (camc314)
- ffa3153 codegen: Clarify raw transfer Node requirement (#25565 )
(camc314)
- c5d4063 codegen: Clarify binary walk allocations (#25562 ) (camc314)
- 5703d7a codegen: Correct stale printer comments (#25561 ) (camc314)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2026-08-18 22:26:40 +08:00
oxc-guard
b6f1458dec
release(crates): oxc v0.144.0 ( #25474 )
...
### 💥 BREAKING CHANGES
- a33788e ast: [**BREAKING**] Group class heritage into `ClassHeritage` (#25360 ) (camc314)
- 5c5cdcd ast: [**BREAKING**] Narrow `TSInterfaceHeritage::expression` to TSTypeName (#24360 ) (camc314)
- 6be314f ast: [**BREAKING**] Remove duplicated `VariableDeclarator::kind` (#25319 ) (camc314)
- 44fd320 ast: [**BREAKING**] Split TS external modules & Namespace Declarations (#25284 ) (camc314)
### 🚀 Features
- 9a37c41 napi: Restructure React transform options (#25326 ) (Boshen)
- b3c1b30 allocator: Add `ArenaVec::push_mut` (#25338 ) (overlookmotel)
### 🐛 Bug Fixes
- bbd6ed3 codegen: Wrap string literal in parens after directives (#25435 ) (overlookmotel)
- d07a293 codegen: Preserve cast parentheses in conditional tests (#25115 ) (camc314)
- 8b7d441 codegen: Preserve satisfies parentheses before bitwise operators (#25113 ) (camc314)
- e0fb2d7 minifier: Avoid unsafe return removal in labeled blocks (#25406 ) (Armano)
- c49f4ce parser: Preserve terminal license comments (#25400 ) (camc314)
- 9d19ab3 transform_react: Downgrade nonfatal compiler diagnostics (#25418 ) (Boshen)
- 937825c react_compiler: Disable exhaustive memo validation by default (#25417 ) (Boshen)
- 12937b3 parser: Reject comma expressions in class fields (#25385 ) (Cameron)
- 7d8a9b5 react_compiler: Preserve hook spans for React Refresh (#25393 ) (Boshen)
- 9e93ba6 parser: Reset auto-accessor initializer context (#25384 ) (camc314)
- cc2e28d parser: Reject trailing tokens in `Parser::parse_expression` (#25371 ) (camc314)
- 697c629 minifier: Preserve Annex B labeled-function bindings in implicit-return rewrite (#25349 ) (Armano)
- 4d723ca parser: Report TS1035 for quoted module names (#25305 ) (camc314)
- 0c9b980 semantic: Report module declaration diagnostics (#25285 ) (camc314)
- 2a1058a napi: Omit parser header from WASI declarations (#25254 ) (camc314)
### ⚡ Performance
- dd1430b semantic: Avoid allocation in class overload check (#25440 ) (camc314)
- e420816 parser: Optimize trailing comma tracking (#25376 ) (camc314)
- 6529d1a minifier: Short-circuit scope check when alternate already determines result (#25318 ) (Armano)
### 📚 Documentation
- fe111eb allocator: Improve doc comments for `Arena` methods (#24922 ) (overlookmotel)
2026-08-10 09:57:10 +00:00
renovate[bot] and Cameron
b937e3e2f1
chore(deps): update napi ( #25019 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Adoption](https://docs.renovatebot.com/merge-confidence/ ) |
[Passing](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@napi-rs/cli](https://napi.rs/ )
([source](https://redirect.github.com/napi-rs/napi-rs )) | [`3.7.4` →
`3.8.2`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.7.4/3.8.2 ) |

|

|

|

| pnpm.catalog.default | minor |
| [napi](https://redirect.github.com/napi-rs/napi-rs ) | `3.11.0` →
`3.12.0` |

|

|

|

| workspace.dependencies | minor |
| [napi-build](https://redirect.github.com/napi-rs/napi-rs ) | `2.3.2` →
`2.4.0` |

|

|

|

| workspace.dependencies | minor |
| [napi-derive](https://redirect.github.com/napi-rs/napi-rs ) | `3.6.0` →
`3.6.2` |

|

|

|

| workspace.dependencies | patch |
---
### Release Notes
<details>
<summary>napi-rs/napi-rs (@​napi-rs/cli)</summary>
###
[`v3.8.2`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.1...@napi-rs/cli@3.8.2 )
[Compare
Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.1...@napi-rs/cli@3.8.2 )
###
[`v3.8.1`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.0...@napi-rs/cli@3.8.1 )
[Compare
Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.0...@napi-rs/cli@3.8.1 )
###
[`v3.8.0`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.7.4...@napi-rs/cli@3.8.0 )
[Compare
Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.7.4...@napi-rs/cli@3.8.0 )
</details>
---
### Configuration
📅 **Schedule**: (in timezone Asia/Shanghai)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com >
2026-08-03 11:21:03 +01:00
Boshen
85d0f4dd1f
feat(napi): add React Compiler transform binding ( #24934 )
...
Adds the `oxc-transform-react` N-API binding and its public CI and publish workflows.
AI-assisted.
2026-07-29 09:08:58 +00:00