Boshen
06370495a0
release(crates): oxc v0.105.0 ( #17259 )
2025-12-22 17:32:08 +08:00
renovate[bot]
86298e8234
chore(deps): update dependency oxfmt to ^0.19.0 ( #16602 )
2025-12-19 12:32:14 +08:00
Boshen
c90ab786d0
release(crates): oxc v0.104.0 ( #17096 )
...
### 🚀 Features
- d209c21 allocator: Add cap to FixedSizeAllocatorPool and block when
exhausted (#17023 ) (Cameron)
- fb2af91 allocator: Add bitset utils (#17042 ) (zhaoting zhou)
- c16082c tasks/compat_data: Integrate `node-compat-table` (#16831 )
(Boshen)
- 5586823 span: Extract TS declaration file check to its own function
(#17037 ) (camchenry)
- 3d2b492 minifier: Fold iife arrow functions in call expressions
(#16477 ) (Armano)
- 67e9f9e codegen: Keep comments on the export specifiers (#16943 )
(夕舞八弦)
- cb515fa parser: Improve error message for `yield` as identifier usage
(#16950 ) (sapphi-red)
- dcc856b parser: Add help for `new_dynamic_import` error (#16949 )
(sapphi-red)
- c3c79f8 parser: Improve import attribute value error message (#16948 )
(sapphi-red)
- 291b57b ast_tools: Generate TS declaration files for deserializer and
walk files (#16912 ) (camc314)
- 74eae13 minifier: Remove unused import specifiers (#16797 ) (camc314)
### 🐛 Bug Fixes
- fb9e193 linter: OOM problems with custom plugins (#17082 )
(overlookmotel)
- e59132b parser/napi: Fix lazy deser (#17069 ) (overlookmotel)
- a92faf0 ast_tools: Support `u128` in `assert_layouts` generator
(#17050 ) (overlookmotel)
- 47b4c2f minifier/docs: Correct hyperlink path in OPTIMIZATIONS.md
(#16986 ) (GRK)
- 3002649 transformer/typescript: Remove unused import equals
declaration (#16776 ) (Dunqing)
- 5a2af88 regular_expression: Correct named capture group reference
error (#16952 ) (sapphi-red)
### ⚡ Performance
- b657bb6 allocator: Reduce time `Mutex` lock is held in
`FixedSizeAllocatorPool::get` (#17079 ) (overlookmotel)
- 1f3b19b ast: `#[ast]` macro use `#[repr(transparent)]` for
single-field structs (#17052 ) (overlookmotel)
- 225f229 parser: Use SmallVec for duplicate default export detection
(#16801 ) (camc314)
### 📚 Documentation
- a9c419f traverse: Update safety comments (#16944 ) (overlookmotel)
Co-authored-by: overlookmotel <557937+overlookmotel@users.noreply.github.com >
2025-12-19 02:14:06 +00:00
Boshen
aa9f46f6fa
chore(js): remove tsc from package scripts as we use oxlint --type-check ( #16985 )
2025-12-17 16:18:14 +08:00
Boshen
c8281dd0bb
chore(pnpm): move workspace devDependencies to used packages ( #16982 )
...
To ensure monorepo dependencies are only visible to where they are used.
2025-12-17 15:09:08 +08:00
Boshen
6fca2f7f60
chore(infra): use oxfmt for all files, remove dprint ( #16599 )
...
Toml formatting is missing but there's only a few toml files, can wait
for oxfmt plugins.
- [x] Something is slow, can't figure out why, need #16607
2025-12-15 12:06:24 +00:00
Boshen
e6ad960231
release(crates): oxc v0.103.0 ( #16887 )
2025-12-15 18:17:19 +08:00
Boshen
745873e4cd
release(crates): oxc v0.102.0 ( #16595 )
...
### 💥 BREAKING CHANGES
- 083fea9 napi/parser: [**BREAKING**] Represent empty optional fields on
JS side as `null` (#16411 ) (overlookmotel)
### 🚀 Features
- 7a2afee parser: Add TS1174 error for classes extending multiple base
classes (#15993 ) (sapphi-red)
- da87812 semantic: Add TS2309 error for export assignment with other
exports (#15992 ) (sapphi-red)
- d6d2bcd minifier: Remove unused function calls that are marked by
`manual_pure_functions` (#16534 ) (sapphi-red)
- c90f053 minifier: Support `.` separated values for
`compress.treeshake.manualPureFunctions` (#16529 ) (sapphi-red)
- a607cc4 codegen: Preserve comments between CatchClause's param and
body (#16167 ) (copilot-swe-agent)
- 8c10694 semantic: Expose get_comment_at method (#16439 ) (camc314)
- 3981e7a ast: Add get_comment_at to lookup a comment by span (#16438 )
(camc314)
### 🐛 Bug Fixes
- 699406a napi/parser: Move `ExportEntry::module_request` field to first
(#16412 ) (overlookmotel)
- 12bd794 napi/parser: Move `ExportEntry::module_request` field to last
(#16403 ) (overlookmotel)
### ⚡ Performance
- 790beeb napi/parser: Do not remove extraneous options on JS side
(#16447 ) (overlookmotel)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-12-08 11:47:22 +00:00
Boshen
701ab87e3e
release(crates): oxc v0.101.0 ( #16381 )
2025-12-02 17:19:30 +08:00
Boshen
08727586bc
release(crates): oxc v0.100.0 ( #16331 )
...
### 💥 BREAKING CHANGES
- 74cf572 ast: [**BREAKING**] Make `source` field of `TSImportType` a
`StringLiteral` (#16114 ) (copilot-swe-agent)
- 43156ae ast: [**BREAKING**] Rename `TSImportType` `argument` field to
`source` (#16110 ) (overlookmotel)
- 934d873 napi: [**BREAKING**] Drop `armv7-unknown-linux-musleabihf`
support (#16105 ) (Boshen)
### 🚀 Features
- 669afe0 ast: Add `Expression::is_jsx` method (#16154 ) (Dunqing)
- 17a8caa parser: Add diagnostic for JSX identifiers with hyphens
(#16133 ) (camchenry)
- 0549ae5 parser: Add diagnostic for expected ident after optional chain
(#16132 ) (camchenry)
- db839ae parser: Improve diagnostic for unexpected optional
declarations (#16131 ) (camchenry)
- bab4bc8 napi/parser: Add type annotations to parse-raw-worker test
(#15998 ) (camc314)
### 🐛 Bug Fixes
- 35ed36c traverse: Fix panic when truncating non-ASCII variable names
(#16265 ) (peter)
- 9149a26 linter/plugins, napi/parser: Deep freeze visitor keys (#16293 )
(overlookmotel)
- 6b54dab minifier: Incorrect non-null object condition simplification
with `&&` and `||` (#16161 ) (sapphi-red)
- 9cc20a1 minifier: Avoid merging side effectful expressions to next
assignment statement if the side effect may change the left hand side
reference (#16165 ) (sapphi-red)
- 91eb3f2 ast/estree: Convert `TSImportType` `argument` field to
`Literal` (#16109 ) (overlookmotel)
- 1199cee parser: Reject invalid modifiers on parameter properties with
binding patterns (#16083 ) (camc314)
- f376325 traverse: Remove `console.log` from build script (#16049 )
(overlookmotel)
### ⚡ Performance
- 82d784f lexer: Reduce bounds checks in `Lexer::get_string` (#16317 )
(overlookmotel)
- cc2f352 span: Add `#[inline]` to `Atom` methods (#16311 )
(overlookmotel)
- ffca070 span: Add `#[repr(transparent)]` to `Atom` (#16310 )
(overlookmotel)
- 02bdf90 linter/plugins, napi/parser: Reuse arrays in visitor keys
(#16294 ) (overlookmotel)
### 📚 Documentation
- 891e0b4 parser: Add note about falling back to parse TSType in
TSImportType (#16119 ) (camc314)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-12-01 15:01:33 +00:00
Boshen
934d873eb0
feat(napi)!: drop armv7-unknown-linux-musleabihf support ( #16105 )
...
Also add `aarch64-unknown-linux-ohos` support.
`armv7-unknown-linux-musleabihf` target is broken for a while (https://github.com/nodejs/node/issues/53489 ) and is a legacy target.
part of #16094
2025-11-25 13:03:14 +00:00
Boshen
7252123e5e
release(crates): oxc v0.99.0 ( #16037 )
...
### 💥 BREAKING CHANGES
- cbb27fd ast: [**BREAKING**] Add `TSGlobalDeclaration` type (#15712 )
(overlookmotel)
### 🚀 Features
- 0c1f82b linter/plugins: Add `tokens` property to `Program` (#16020 )
(overlookmotel)
- 6cff132 span: Add `Span::merge_within` method (#15869 ) (sapphi-red)
- 102365d allocator/vec: Add `Vec::into_bump_slice` method (#15770 )
(Dunqing)
### 🐛 Bug Fixes
- e2ca770 codegen: Add support for printing type arguments in new
expressions (#15963 ) (Ives van Hoorne)
- 2bd3cb6 apps, editors, napi: Fix `oxlint-disable` comments (#16014 )
(overlookmotel)
- 622cb5e parser: Preserve legal comments with @preserve/@license when
preceded by other annotations (#15929 ) (copilot-swe-agent)
- 7c46a9e transformer/tagged-template-transform: Handle `\n` escape
sequences (#15830 ) (Dunqing)
- f386efc minifier: Avoid generating invalid spans (#15778 ) (sapphi-red)
- d4ff004 parser: Forbid invalid modifiers on `module` and `global`
(#15723 ) (overlookmotel)
- 2191ae9 semantic: Allow reserved keywords in typescript ambient
contexts (#15495 ) (sapphi-red)
- 7d1ebad isolated-declarations: Incorrect nested namespace output in
isolated declarations (#15800 ) (copilot-swe-agent)
### ⚡ Performance
- b4b0ed8 transformer/typescript: Reverse order of checks (#15722 )
(overlookmotel)
### 📚 Documentation
- c81a331 data_structures: Doc comments on fields of `Stack` (#15793 )
(overlookmotel)
- cfae31d allocator: Use `allocator` as var name in examples (#15781 )
(overlookmotel)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-11-24 10:06:24 +00:00
Boshen
c588bc59ac
release(crates): oxc v0.98.0 ( #15771 )
...
### 💥 BREAKING CHANGES
- ea51b0b napi: [**BREAKING**] Standardize function naming with sync
suffixes (#15661 ) (Boshen)
### 🚀 Features
- 77efb76 parser: Improve error message for invalid switch clauses
(#15728 ) (sapphi-red)
- 5691727 parser: Improve `import source` `from` error message (#15727 )
(sapphi-red)
- b7404bc parser: Improve error message for missing function body
(#15726 ) (sapphi-red)
- 71c2fb0 parser: Improve error message when JSX is found while not
enabled (#15725 ) (sapphi-red)
- 56e7e44 minifier: Disable removal of unnecessary `use strict`
directives for DCE (#15691 ) (sapphi-red)
- 8a61cfd allocator, ast: Introduce `UnstableAddress` trait (#15700 )
(overlookmotel)
- f5ce55a napi: Export all options using wildcard exports (Boshen)
- 68703b9 minifier: Rotate binary expressions to remove parentheses
(#15473 ) (sapphi-red)
### 🐛 Bug Fixes
- c023ba6 semantic: Do not duplicate statements in temp `Vec` when
binding `TSModuleDeclaration`s (#15724 ) (overlookmotel)
- d60ca81 parser: Reject `import something 'source'` (#15746 )
(sapphi-red)
- e0728fa ast: Exclude comment end position from `is_inside_comment`
check (#15753 ) (camc314)
- 9f54a36 semantic: Error on `\00` in strict mode (#15743 ) (sapphi-red)
- 440a977 ast: Include rest properties when using
`get_binding_identifiers` (#15710 ) (camc314)
### ⚡ Performance
- 1f09d3c parser: Faster checking for invalid modifiers (#15717 )
(overlookmotel)
- d8d4e31 ast: Use loop instead of recursion in
`TSModuleDeclarationBody::as_module_block_mut` (#15713 ) (overlookmotel)
### 📚 Documentation
- e033d50 ast: Clarify behavior of
`TSModuleDeclaration::has_use_strict_directive` (#15730 ) (overlookmotel)
- 9eda70f allocator: Improve docs for `Address` methods (#15697 )
(overlookmotel)
2025-11-17 12:38:34 +00:00
Boshen
98585f01a1
release(crates): oxc v0.97.0 ( #15582 )
2025-11-11 17:18:13 +08:00
Boshen
14fe64a935
release(crates): v0.96.0 ( #15115 )
2025-10-30 15:43:06 +08:00
camc314
ada9989c17
chore(deps): update vitest to v4 ( #14919 )
2025-10-24 14:09:11 +00:00
Boshen
454ee94ff3
release(crates): v0.95.0 ( #14619 )
2025-10-15 15:06:05 +08:00
Boshen
f88f5f4593
release(crates): v0.94.0 ( #14377 )
2025-10-06 20:48:05 +08:00
Boshen
aa0689fe38
release(crates): v0.93.0 ( #14194 )
2025-09-28 14:13:41 +08:00
Masanori Tani
06b16a9a18
chore(infra): add publint ( #13937 )
...
close #13768
Setup [publint](https://publint.dev/ ) and fix warnings.
target directory: `napi/` and `editor/vscode`. (I couldn’t determine
whether I should include the `npm/` directory or not.)
Co-authored-by: Boshen <boshenc@gmail.com >
2025-09-27 17:47:15 +08:00
Boshen
1b3f437468
release(crates): v0.92.0 ( #14067 )
2025-09-24 12:18:07 +08:00
overlookmotel
cc0019fb0a
refactor(napi): move scripts into scripts directory ( #14048 )
...
Move all build scripts in `napi` packages into a `scripts` dir. These packages don't have root directories with tons of files like `napi/parser` and `apps/oxlint` do, but IMO it's preferable to have a consistent directory structure in all NAPI packages.
Also, rename these scripts from `.mjs` to `.js`, since these packages are ESM.
2025-09-23 14:47:41 +00:00
overlookmotel
2f9e16da2e
fix(napi/minifier, napi/transformer): rename CommonJS file to .cjs ( #14047 )
...
`webcontainer-fallback.js` in `napi/minify` and `napi/transform` are CommonJS files, but these packages are ESM. Rename them to `webcontainer-fallback.cjs` to avoid module resolution errors/fallbacks.
2025-09-23 14:47:40 +00:00
Boshen
fb347da614
release(crates): v0.91.0 ( #13961 )
2025-09-21 13:23:09 +08:00
Boshen
d116504831
release(crates): v0.90.0 ( #13888 )
2025-09-18 22:07:37 +08:00
Copilot
b52389a569
feat(node): Bump engines field to require Node.js 20.19.0+ for ESM support ( #13879 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-09-18 20:10:11 +08:00
Boshen
de40f0bee0
release(crates): v0.89.0 ( #13774 )
2025-09-15 14:33:03 +08:00
Boshen
369287abac
release(crates): v0.88.0 ( #13765 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-09-15 11:01:32 +08:00
oxc-bot
7128fb57dd
release(crates): v0.87.0 ( #13587 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-09-08 11:35:41 +08:00
oxc-bot
7652c8d6ab
release(crates): v0.86.0 ( #13464 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-08-31 18:46:10 +08:00
oxc-bot
42ebd43ba0
release(crates): v0.85.0 ( #13413 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-08-30 15:44:00 +08:00
oxc-bot
d6a8aa1ce0
release(crates): v0.84.0 ( #13412 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-08-30 13:15:55 +08:00
oxc-bot
732c57e55e
release(crates): v0.83.0 ( #13387 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-08-29 14:49:51 +08:00
Boshen
34d0a014f6
feat(napi/minify,transform)!: change module type to ESM ( #13349 )
...
part of #13329
2025-08-28 12:47:24 +00:00
oxc-bot
8b1e022f7f
release(crates): v0.82.3 ( #13230 )
2025-08-20 23:19:06 +08:00
oxc-bot
4d0a05e1e7
release(crates): v0.82.2 ( #13158 )
2025-08-17 23:31:38 +08:00
Kevin Deng
d5431999d0
chore(napi): fix publint issues ( #13107 )
...
See https://publint.dev/oxc-parser
2025-08-15 22:25:18 +08:00
oxc-bot
92a3550c40
release(crates): v0.82.1 ( #13049 )
2025-08-13 12:24:37 +08:00
oxc-bot
c58a699e19
release(crates): v0.82.0 ( #13014 )
2025-08-12 13:53:10 +08:00
oxc-bot
c245d9bf78
release(crates): v0.81.0 ( #12850 )
2025-08-06 23:05:58 +08:00
oxc-bot
9671def11f
release(crates): v0.80.0 ( #12777 )
2025-08-03 16:38:23 +08:00
overlookmotel
0ec214b4aa
test(napi): compile tests in debug mode ( #12750 )
...
Compile NAPI tests in debug mode (not release mode), to speed up build in CI.
Only exception is `napi/parser` which is compiled with `--profile coverage`. The tests for this package are quite slow, so they'd take too long if package was compiled with no optimizations. `coverage` profile is closer to `--release`, but enables debug assertions, and has somewhat faster compilation (`-O 2` not `-O 3` etc).
In CI:
* Build time reduced by 1m30s.
* Test run time increased by 30s.
* Total reduction in CI time: 1 minute.
NAPI tests are still the slowest task in CI by a long margin. Trimming a minute off the time is something, but this task is still too slow.
2025-08-02 12:18:41 +00:00
oxc-bot
5ff286a57a
release(crates): v0.79.1 ( #12655 )
2025-07-31 16:13:45 +08:00
oxc-bot
0fa9b8a8ab
release(crates): v0.79.0 ( #12600 )
2025-07-30 10:31:53 +08:00
oxc-bot
ccf1fb4241
release(crates): v0.78.0 ( #12486 )
2025-07-24 12:02:16 +08:00
oxc-bot
11cad7d0f6
release(crates): v0.77.3 ( #12407 )
2025-07-20 22:34:27 +08:00
oxc-bot
f4e06c89ab
release(crates): v0.77.2 ( #12372 )
2025-07-17 23:40:00 +08:00
oxc-bot
ab68d5c7b4
release(crates): v0.77.1 ( #12319 )
2025-07-16 19:28:15 +08:00
oxc-bot
95b13e8c00
release(crates): v0.77.0 ( #12234 )
2025-07-12 10:15:34 +08:00
camc314
baa372641e
refactor(tests/napi): add build-test script for tests ( #12132 )
2025-07-08 17:08:14 +00:00