Commit Graph

229 Commits

Author SHA1 Message Date
Boshen ce4ecb0ffe release(crates): oxc v0.118.0 (#20266)
Co-authored-by: leaysgur <6259812+leaysgur@users.noreply.github.com>
2026-03-12 14:31:12 +09:00
Boshen dafe4ad8cc release(crates): oxc v0.117.0 (#20142)
### 🚀 Features

- e8547cc parser: Report error for using declarations in ambient
contexts (#19934) (camc314)
- 8345318 allocator: Add methods for boxed slices `ArenaBox<[T]>`
(#19968) (overlookmotel)
- f83be30 allocator: Add `Vec::push_fast` method (#19959)
(overlookmotel)

### 🐛 Bug Fixes

- 291d867 transformer_plugins: Unwrap ChainExpression after define
replacement removes optional markers (#20058) (IWANABETHATGUY)
- 36b2e56 codegen: Print type for TSImportEqualsDeclaration (#20128)
(camc314)
- 5a246ec codegen: Print type arguments for JSXOpeningElement (#20127)
(camc314)
- a40870e codegen: Preserve parens for TSNonNullExpression (#20125)
(camc314)
- ae830b2 codegen: Print `declare` for `TSInterfaceDeclaration` (#20124)
(camc314)
- 92cfb14 linter/plugins: Fix types for `walkProgram` and
`walkProgramWithCfg` (#20081) (overlookmotel)
- ee0491e apps,napi: Explicitly specify libs in tsconfigs (#20071)
(camc314)
- 588009e codegen: Print `static` keyword for TSIndexSignature (#19755)
(Dunqing)
- 5a8799c codegen: Print `with_clause` for `ExportNamedDeclaration`
(#20002) (Dunqing)
- 7502afe parser: Correct capacity for tokens `Vec` (#19967)
(overlookmotel)

### ⚡ Performance

- 4ea8f9a napi: Remove `napi_build::setup()` from `oxc_napi` to avoid
redundant rebuilds (#20094) (Boshen)
- 2baa5fb napi: Unify build-test profile to coverage for cache sharing
(#20090) (Boshen)
- 8ba61dd parser: Make pushing tokens faster (#19960) (overlookmotel)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2026-03-09 10:49:21 +00:00
Boshen 3a8c4a4cad release(crates): oxc v0.116.0 (#19911)
### 🚀 Features

- 733d6dc parser: Report error on `infer` outside conditional type
(#19879) (camc314)
- c2a42f6 allocator: Add `Vec::into_bump_slice_mut` (#19895)
(overlookmotel)
- ee4982b parser: Add `VARIANTS` const to `Kind` via `fieldless_enum!`
macro (#19877) (overlookmotel)
- b3dceae data_structures: Add `fieldless_enum!` macro (#19876)
(overlookmotel)
- 12b841e parser: Make all `Kind::is_*` methods `const` (#19874)
(overlookmotel)
- 25c2e25 estree/tokens: Add function to update tokens in place (#19856)
(overlookmotel)
- f78e6df parser: Add `mutate_tokens` Cargo feature (#19853)
(overlookmotel)
- 5036bb6 parser: Report error on `for await` in static blocks (#19844)
(camc314)
- 42bd431 parser: Report error for missing initializer in using decl
(#19824) (camc314)
- a2f58e5 parser: Report error for `implements` clause in non-ts files
(#19820) (Cameron)
- b25228a estree: Add `IS_COMPACT` const to `Formatter` trait (#19787)
(overlookmotel)
- e2a1b79 estree: Expose buffer and formatter of serializers (#19773)
(overlookmotel)
- 4699498 data_structures: Add `CodeBuffer::print_strs_array` (#19760)
(overlookmotel)
- 233f947 estree: `oxc_estree` crate export config and formatter types
(#19724) (overlookmotel)
- 5937a32 semantic: Introduce `symbol_declarations` method (#19609)
(camc314)
- ea6b796 parser: Add `LexerConfig::TOKENS_METHOD_IS_STATIC` const
(#19683) (overlookmotel)
- 655c38f semantic: Add "did you mean?" suggestions to undefined name
errors (#19102) (copilot-swe-agent)
- 9e11dc6 parser,estree,coverage: Collect tokens in parser and convert
to ESTree format (#19497) (camc314)
- c4a3677 parser: Report error for initializer in ambient context
(#19187) (camc314)

### 🐛 Bug Fixes

- abc7e19 codegen: Improve parenthesised checks when printing types
(#19880) (camc314)
- 017de5d parser: Update error code for type annotation in `for...in`
statement (#19882) (camc314)
- 7682e5a linter/plugins: Decode escapes in identifier tokens (#19838)
(overlookmotel)
- 06767ed estree/tokens: Convert `this` tokens in `TSTypeName` (#19815)
(overlookmotel)
- ef798af parser: Use TS8037 for satisfies expression in JS files
diagnostic (#19819) (camc314)
- 98ea5c5 parser: Use TS8016 for type assertions in JS files diagnostic
(#19818) (camc314)
- 1710f56 codegen: Remove double indentation for enum inside namespace
(#19775) (Dunqing)
- 9e4995c codegen: Print type annotation on `CatchParameter` (#19790)
(camc314)
- 297b2bb codegen: Wrap `TSConditionalType` in parens when necessary
(#19788) (camc314)
- cec7878 codegen: Print `definite` property on AccessorProperty
(#19786) (camc314)
- 6f395cf codegen: Print `definite` property on PropertyDefinition
(#19785) (camc314)
- b749373 codegen: Correctly parenthesise TSArrayType (#19784) (camc314)
- 876dc1b codegen: Print object property `this` param (#19783) (camc314)
- 93bb861 formatter: Trim trailing whitespace before breaking line
(#19740) (leaysgur)
- ed17bbf codegen: Print `override` keyword for method and property
definitions (#19753) (Dunqing)
- 6a59a76 parser: Improve error recovery for private identifiers in
property names (#19710) (Boshen)
- 3b96f41 codegen: Print comments in JSX expression containers and
spread attributes (#19701) (Boshen)
- f5694ce estree/tokens: Reverse field order of `regex` object in tokens
(#19679) (overlookmotel)
- b2b7a55 estree/tokens: Generate tokens for files with BOM (#19535)
(overlookmotel)
- 50a7514 estree: Fix tokens for JSX (#19524) (overlookmotel)
- a35063e minifier: Preserve side effects for meta property url reads
(#19668) (Boshen)
- 8ad3430 semantic/jsdoc: Handle even-numbered backtick sequences in
JSDoc parsing (#19664) (Boshen)

### ⚡ Performance

- 05ccf9f linter/plugins: Transfer tokens via raw transfer (#19893)
(overlookmotel)
- c1bfdcf estree/tokens: Preallocate sufficient space for tokens JSON
(#19851) (overlookmotel)
- 4b0611a estree/tokens: Introduce `ESTreeTokenConfig` trait (#19842)
(overlookmotel)
- 81bab90 estree/tokens: Do not JSON-encode keyword, punctuator, etc
tokens (#19814) (overlookmotel)
- 6260ddd estree/tokens: Do not JSON-encode `this` identifiers (#19813)
(overlookmotel)
- b378f4a estree/tokens: Do not JSON-encode JSX identifiers (#19812)
(overlookmotel)
- 5016d92 estree/tokens: Handle regex tokens separately (#19796)
(overlookmotel)
- 780a68e estree/tokens: Use strings from AST for identifier tokens
(#19744) (overlookmotel)
- dc9c2e3 estree: Use `CodeBuffer::print_strs_array` to reduce bounds
checks (#19766) (overlookmotel)
- 845da35 estree: Use `CodeBuffer::print_indent` (#19727)
(overlookmotel)
- ec88f6a estree/tokens: Serialize tokens while visiting AST (#19726)
(overlookmotel)
- bc6507f estree/tokens: Serialize with `ESTree` not `serde` (#19725)
(overlookmotel)
- ec24859 estree/tokens: Do not branch on presence of override twice
(#19721) (overlookmotel)
- dac14be estree/tokens: Replace hash map with `Vec` (#19718)
(overlookmotel)
- b9d2443 estree/tokens: Replace multiple hash sets into a single hash
map (#19716) (overlookmotel)
- 7233548 parser: Remove branches from `finish_next_inner` (#19695)
(overlookmotel)
- b5d9845 parser: Remove const generic param from `finish_next_inner`
(#19684) (overlookmotel)
- 8940f66 estree/tokens: Serialize tokens to compact JSON (#19572)
(overlookmotel)
- 136e39b parser/tokens: Pre-allocate capacity for tokens (#19543)
(overlookmotel)
- 6a6513c linter/plugins: Use Oxc tokens in plugins (#19498) (camc314)
- b3b2d30 parser: Introduce `ParserConfig` (#19637) (overlookmotel)

### 📚 Documentation

- b2b7a64 estree/tokens: Correct comment (#19873) (overlookmotel)
- 0399311 estree/tokens: Improve comments (#19836) (overlookmotel)
- 1b392de minifier: Add `Function.prototype.toString` assumption
(#19758) (sapphi-red)
- 75c9cd8 parser: Improve doc comments for `ParserConfig` and
`LexerConfig` (#19682) (overlookmotel)
- 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2026-03-02 11:21:50 +00:00
Boshen 7675bc43e7 release(crates): oxc v0.115.0 (#19626)
### 🚀 Features

- e814049 oxc_data_structure/rope: Add `get_offset_from_line_and_column`
(#18133) (Sysix)

### 🐛 Bug Fixes

- 7958b56 linter: Fix syntax error reporting in some output formatters.
(#19590) (connorshea)
- e316694 codegen: Avoid sourcemap panic on `U+2028`/`U+2029` (#19548)
(camc314)
- 933ff72 semantic: Emit correct error code for reserved type name
(#19545) (camc314)

### ⚡ Performance

- b5fa195 codegen: Remove bounds check from `SourcemapBuilder` (#19578)
(overlookmotel)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2026-02-23 10:07:11 +00:00
Boshen 704c109d6d release(crates): oxc v0.114.0 (#19429)
### 🚀 Features

- 429d876 semantic: Assign ast node ids during semantic build (#19263)
(Boshen)
- ebb80b3 ast: Add `node_id` field to all AST struct nodes (#18138)
(Boshen)

### 🐛 Bug Fixes

- bfb15a3 semantic: Make multi_index_vec clone panic-safe (#19299)
(Boshen)
- 41c50a5 transformer: Ignore invalid JSX pragma identifiers (#19296)
(Boshen)
- deed3d8 transformer: Remove unnecessary trailing expression in object
rest spread assignment (#19259) (Boshen)
- 5bdaacc transformer: Propagate source spans for sourcemap correctness
(#19258) (Boshen)
- 3e0e5ba isolated-declarations: Align readonly class array initializer
diagnostics with tsc (#19218) (camc314)

### ⚡ Performance

- c169c77 syntax: Optimize `is_identifier_name_patched` (#19386)
(sapphi-red)
- aa1e1a8 allocator: Inline BitSet accessors (#19331) (Boshen)
- 5b90d46 semantic: Improve SoA with multi index vec (#19138) (Boshen)
- 99ce2a6 isolated_declarations: Mark all diagnostic functions as
`#[cold]` (#19279) (camc314)
- dd0220f transformer: Remove TS-only nodes earlier in
`enter_statements` (#19166) (Dunqing)
- e5baf60 isolated-declarations: Replace hash collections with
index-based Vec (#19221) (Dunqing)

### 📚 Documentation

- 569aa61 rust: Add missing rustdocs and remove missing_docs lint attrs
(#19306) (Boshen)
2026-02-16 13:03:46 +00:00
Boshen acdb40ed42 release(crates): oxc v0.113.0 (#19210)
### 💥 BREAKING CHANGES

- 2bf7293 mangler: [**BREAKING**] Enable `top_level` by default for
modules and commonjs (#18278) (sapphi-red)
- 48b0542 span: [**BREAKING**] SourceType::ts should set module to
unambigious (#18873) (Boshen)

### 🚀 Features

- 500d071 minifier: Local traverse ctx and generated minifier traverse
(#19106) (Boshen)
- 142a1be parser: Detect binary files with TS1490 error (#19047)
(Boshen)
- e316857 allocator/bitset: Add `Ones` iterator to `BitSet` (#19027)
(sapphi-red)
- 742ad3f minifier: Default `invalid_import_side_effects` to `false`
(#18916) (sapphi-red)
- 0eff6be parser: Error JSX-like type assertions and generics in
`.mts`/`.cts` (#18910) (Boshen)
- 18320c6 span: Store file extension in `SourceType` (#18893) (Boshen)

### 🐛 Bug Fixes

- a7514e4 isolated-declarations: Preserve const context in literal type
inference (#19178) (camc314)
- 312e756 isolated-declarations: Preserve readonly literal initializers
(#19177) (camc314)
- d0ca8d0 isolated-declarations: Skip parenthesis when inferring type
(#19176) (camc314)
- 110c300 oxc_ecmascript: `+[false]` and `+[true]` should evaluate to
`NaN` (#19174) (copilot-swe-agent)
- f32ea19 semantic: Report redeclaration error for import bindings
conflicting with value declarations (#19068) (Boshen)
- 3aeba7a semantic: Report redeclaration error for `function a() {} var
a` in module mode (#19041) (Boshen)
- 35e32c6 coverage: Match Babel's options.json inheritance for test
fixtures (#19002) (Boshen)
- 463d60d semantic: Skip TS2391 for standalone computed-name class
methods (#19025) (Boshen)
- 56c086b parser: Add modifier ordering validation (TS1029) (#19024)
(Boshen)
- 6067a49 linter/jsdoc: False positive in `check-tag-names` for `@` in
email addresses and npm scopes (#19021) (Boshen)
- b13bb70 semantic/jsdoc: Inline tags like `{@link}` break jsdoc parsing
(#19019) (Boshen)
- e3609e3 regular_expression: Preserve UnicodeEscape CharacterKind in
string literals (#18998) (Boshen)
- 57917ee parser: Parse decorators on rest parameters (#18938) (Boshen)
- 487601b napi: Disable mimalloc on Windows to fix worker_threads crash
(#18923) (Boshen)
- 1f6b193 parser: Validate TypeScript import type options (#18889)
(Boshen)
- 1663184 parser: Allow conditional types in function type parameters
(#18886) (Boshen)
- 5758046 parser: Error on property access after instantiation
expression (#18887) (Boshen)
- 5eb4a94 parser: Handle `<<` as two `<` tokens in type argument
contexts (#18885) (Boshen)

### ⚡ Performance

- ed8c054 oxc_str: Add precomputed hash to Ident for fast HashMap
lookups (#19143) (Boshen)
- d4a0867 transformer_plugins: Switch ReplaceGlobalDefines from Traverse
to VisitMut (#19146) (Boshen)
- 9eb16b3 syntax: Pack ASCII identifier tables into single bitflag table
(#19088) (Boshen)
- e7595d1 mangler: Use BitSet for exported symbols set (#19023)
(sapphi-red)
- 2537924 semantic: Optimize scope resolution with fast paths and
inlining (#19029) (Boshen)
- 69a8d85 mangler: Use BitSet for keep_names symbols set (#19028)
(sapphi-red)
- f78c525 parser: Try hybrid parsing for jsx children and closing
element/fragments (#18789) (camchenry)

Co-authored-by: camc314 <18101008+camc314@users.noreply.github.com>
2026-02-10 09:57:59 +00:00
Boshen 6114a1335e release(crates): oxc v0.112.0 (#18842)
### 💥 BREAKING CHANGES

- 445cb1a oxc_allocator: [**BREAKING**] Remove dangerous `Allocator`
methods (#18715) (overlookmotel)

### 🚀 Features

- 8670b18 parser: Error on ambient class accessor implementations
(#18592) (camc314)

### 🐛 Bug Fixes

- 2e34461 minifier: Prevent expression inlining into block-scoped for-in
declarations (#18651) (copilot-swe-agent)

### 📚 Documentation

- 3d01fa1 transformer: Update links to use Oxc docs (#18722)
(sapphi-red)

Co-authored-by: camc314 <18101008+camc314@users.noreply.github.com>
2026-02-02 09:44:24 +00:00
overlookmotel 3d349ca4d3 refactor(linter/plugins): bump @typescript-eslint/scope-manager dependency (#18632)
Closes #18398.

Bump `@typescript-eslint/scope-manager` to latest. That release contains 2 bug fixes:

* https://github.com/typescript-eslint/typescript-eslint/pull/11982
* https://github.com/typescript-eslint/typescript-eslint/pull/11995

We had workarounds for both bugs, added in:

* #18312
* #18402

This PR bumps dependency to the new version which included the big fixes, and removes both workarounds, as they're no longer required.

Also bumped all other usages of `@typescript-eslint/*` packages, so we use the same versions for everything.
2026-01-27 17:33:44 +00:00
renovate 942663d9f7 chore(deps): update npm packages (#18582)
> ℹ️ **Note**
>
> This PR body was truncated due to platform limits.

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/) |
|---|---|---|---|---|---|
| [@babel/core](https://babel.dev/docs/en/next/babel-core) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-core)) | [`7.28.5` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.28.5/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcore/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcore/7.28.5/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.28.5/7.28.6?slim=true) |
| [@babel/plugin-proposal-decorators](https://babel.dev/docs/en/next/babel-plugin-proposal-decorators) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators)) | [`7.28.0` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-proposal-decorators/7.28.0/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-proposal-decorators/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-proposal-decorators/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-proposal-decorators/7.28.0/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-proposal-decorators/7.28.0/7.28.6?slim=true) |
| [@babel/plugin-transform-async-to-generator](https://babel.dev/docs/en/next/babel-plugin-transform-async-to-generator) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-async-to-generator)) | [`7.27.1` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-async-to-generator/7.27.1/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-async-to-generator/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-async-to-generator/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-async-to-generator/7.27.1/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-async-to-generator/7.27.1/7.28.6?slim=true) |
| [@babel/plugin-transform-class-properties](https://babel.dev/docs/en/next/babel-plugin-transform-class-properties) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-properties)) | [`7.27.1` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-class-properties/7.27.1/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-class-properties/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-class-properties/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-class-properties/7.27.1/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-class-properties/7.27.1/7.28.6?slim=true) |
| [@babel/plugin-transform-class-static-block](https://babel.dev/docs/en/next/babel-plugin-transform-class-static-block) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block)) | [`7.28.3` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-class-static-block/7.28.3/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-class-static-block/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-class-static-block/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-class-static-block/7.28.3/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-class-static-block/7.28.3/7.28.6?slim=true) |
| [@babel/plugin-transform-explicit-resource-management](https://babel.dev/docs/en/next/babel-plugin-transform-explicit-resource-management) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-explicit-resource-management)) | [`7.28.0` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-explicit-resource-management/7.28.0/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-explicit-resource-management/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-explicit-resource-management/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-explicit-resource-management/7.28.0/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-explicit-resource-management/7.28.0/7.28.6?slim=true) |
| [@babel/plugin-transform-exponentiation-operator](https://babel.dev/docs/en/next/babel-plugin-transform-exponentiation-operator) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-exponentiation-operator)) | [`7.28.5` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-exponentiation-operator/7.28.5/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-exponentiation-operator/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-exponentiation-operator/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-exponentiation-operator/7.28.5/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-exponentiation-operator/7.28.5/7.28.6?slim=true) |
| [@babel/plugin-transform-logical-assignment-operators](https://babel.dev/docs/en/next/babel-plugin-transform-logical-assignment-operators) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-logical-assignment-operators)) | [`7.28.5` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-logical-assignment-operators/7.28.5/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-logical-assignment-operators/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-logical-assignment-operators/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-logical-assignment-operators/7.28.5/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-logical-assignment-operators/7.28.5/7.28.6?slim=true) |
| [@babel/plugin-transform-optional-chaining](https://babel.dev/docs/en/next/babel-plugin-transform-optional-chaining) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-optional-chaining)) | [`7.28.5` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-optional-chaining/7.28.5/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-optional-chaining/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-optional-chaining/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-optional-chaining/7.28.5/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-optional-chaining/7.28.5/7.28.6?slim=true) |
| [@babel/plugin-transform-private-methods](https://babel.dev/docs/en/next/babel-plugin-transform-private-methods) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-private-methods)) | [`7.27.1` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-private-methods/7.27.1/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-private-methods/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-private-methods/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-private-methods/7.27.1/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-private-methods/7.27.1/7.28.6?slim=true) |
| [@babel/plugin-transform-private-property-in-object](https://babel.dev/docs/en/next/babel-plugin-transform-private-property-in-object) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-private-property-in-object)) | [`7.27.1` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-private-property-in-object/7.27.1/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-private-property-in-object/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-private-property-in-object/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-private-property-in-object/7.27.1/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-private-property-in-object/7.27.1/7.28.6?slim=true) |
| [@babel/plugin-transform-typescript](https://babel.dev/docs/en/next/babel-plugin-transform-typescript) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-typescript)) | [`7.28.5` → `7.28.6`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-typescript/7.28.5/7.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-typescript/7.28.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-typescript/7.28.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-typescript/7.28.5/7.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-typescript/7.28.5/7.28.6?slim=true) |
| [@napi-rs/wasm-runtime](https://napi.rs/) ([source](https://redirect.github.com/napi-rs/napi-rs/tree/HEAD/wasi-runtime)) | [`1.1.0` → `1.1.1`](https://renovatebot.com/diffs/npm/@napi-rs%2fwasm-runtime/1.1.0/1.1.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fwasm-runtime/1.1.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fwasm-runtime/1.1.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fwasm-runtime/1.1.0/1.1.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fwasm-runtime/1.1.0/1.1.1?slim=true) |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`4.0.15` → `4.0.18`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/4.0.15/4.0.18) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/4.0.18?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/4.0.18?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/4.0.15/4.0.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/4.0.15/4.0.18?slim=true) |
| [@vitest/browser-playwright](https://vitest.dev/config/browser/playwright) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright)) | [`4.0.15` → `4.0.18`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser-playwright/4.0.15/4.0.18) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser-playwright/4.0.18?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser-playwright/4.0.18?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser-playwright/4.0.15/4.0.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser-playwright/4.0.15/4.0.18?slim=true) |
| [esbuild](https://redirect.github.com/evanw/esbuild) | [`0.27.1` → `0.27.2`](https://renovatebot.com/diffs/npm/esbuild/0.27.1/0.27.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.27.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.27.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.27.1/0.27.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.27.1/0.27.2?slim=true) |
| [eslint](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint)) | [`9.36.0` → `9.39.2`](https://renovatebot.com/diffs/npm/eslint/9.36.0/9.39.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/9.39.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/9.39.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/9.36.0/9.39.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/9.36.0/9.39.2?slim=true) |
| [esquery](https://redirect.github.com/estools/esquery) | [`1.6.0` → `1.7.0`](https://renovatebot.com/diffs/npm/esquery/1.6.0/1.7.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/esquery/1.7.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esquery/1.7.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esquery/1.6.0/1.7.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esquery/1.6.0/1.7.0?slim=true) |
| [ovsx](https://open-vsx.org) ([source](https://redirect.github.com/eclipse/openvsx/tree/HEAD/cli)) | [`0.10.7` → `0.10.8`](https://renovatebot.com/diffs/npm/ovsx/0.10.7/0.10.8) | ![age](https://developer.mend.io/api/mc/badges/age/npm/ovsx/0.10.8?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ovsx/0.10.8?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ovsx/0.10.7/0.10.8?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ovsx/0.10.7/0.10.8?slim=true) |
| [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`1.57.0` → `1.58.0`](https://renovatebot.com/diffs/npm/playwright/1.57.0/1.58.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.58.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.58.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.57.0/1.58.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.57.0/1.58.0?slim=true) |
| [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.24.0` → `10.28.1`](https://renovatebot.com/diffs/npm/pnpm/10.24.0/10.28.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.28.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/10.28.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/10.24.0/10.28.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.24.0/10.28.1?slim=true) |
| [prettier](https://prettier.io) ([source](https://redirect.github.com/prettier/prettier)) | [`3.8.0` → `3.8.1`](https://renovatebot.com/diffs/npm/prettier/3.8.0/3.8.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.8.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.8.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.8.0/3.8.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.8.0/3.8.1?slim=true) |
| [publint](https://publint.dev) ([source](https://redirect.github.com/publint/publint/tree/HEAD/packages/publint)) | [`0.3.15` → `0.3.17`](https://renovatebot.com/diffs/npm/publint/0.3.15/0.3.17) | ![age](https://developer.mend.io/api/mc/badges/age/npm/publint/0.3.17?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/publint/0.3.17?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/publint/0.3.15/0.3.17?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/publint/0.3.15/0.3.17?slim=true) |
| [tinypool](https://redirect.github.com/tinylibs/tinypool) | [`2.0.0` → `2.1.0`](https://renovatebot.com/diffs/npm/tinypool/2.0.0/2.1.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/tinypool/2.1.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tinypool/2.1.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tinypool/2.0.0/2.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tinypool/2.0.0/2.1.0?slim=true) |
| [type-fest](https://redirect.github.com/sindresorhus/type-fest) | [`5.3.0` → `5.4.1`](https://renovatebot.com/diffs/npm/type-fest/5.3.0/5.4.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/5.4.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/type-fest/5.4.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/type-fest/5.3.0/5.4.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/5.3.0/5.4.1?slim=true) |
| [vitest](https://vitest.dev) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.0.15` → `4.0.18`](https://renovatebot.com/diffs/npm/vitest/4.0.15/4.0.18) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.0.18?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/4.0.18?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/4.0.15/4.0.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.0.15/4.0.18?slim=true) |

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/core)</summary>

### [`v7.28.6`](https://redirect.github.com/babel/babel/compare/v7.28.5...v7.28.6)

[Compare Source](https://redirect.github.com/babel/babel/compare/v7.28.5...v7.28.6)

</details>

<details>
<summary>babel/babel (@&#8203;babel/plugin-proposal-decorators)</summary>

### [`v7.28.6`](https://redirect.github.com/babel/babel/releases/tag/v7.28.6)

[Compare Source](https://redirect.github.com/babel/babel/compare/v7.28.0...v7.28.6)

##### v7.28.6 (2026-01-12)

Thanks [@&#8203;kadhirash](https://redirect.github.com/kadhirash) and [@&#8203;kolvian](https://redirect.github.com/kolvian) for your first PRs!

##### 🐛 Bug Fix

- `babel-cli`, `babel-code-frame`, `babel-core`, `babel-helper-check-duplicate-nodes`, `babel-helper-fixtures`, `babel-helper-plugin-utils`, `babel-node`, `babel-plugin-transform-flow-comments`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-property-mutators`, `babel-preset-env`, `babel-traverse`, `babel-types`
  - [#&#8203;17589](https://redirect.github.com/babel/babel/pull/17589) Improve Unicode handling in code-frame tokenizer ([@&#8203;JLHwung](https://redirect.github.com/JLHwung))
- `babel-plugin-transform-regenerator`
  - [#&#8203;17556](https://redirect.github.com/babel/babel/pull/17556) fix: `transform-regenerator` correctly handles scope ([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))
- `babel-plugin-transform-react-jsx`
  - [#&#8203;17538](https://redirect.github.com/babel/babel/pull/17538) fix: Keep jsx comments ([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))

##### :nail\_care: Polish

- `babel-core`, `babel-standalone`
  - [#&#8203;17606](https://redirect.github.com/babel/babel/pull/17606) Polish(standalone): improve message on invalid preset/plugin ([@&#8203;JLHwung](https://redirect.github.com/JLHwung))

##### 🏠 Internal

- `babel-plugin-bugfix-v8-static-class-fields-redefine-readonly`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-import-attributes-to-assertions`, `babel-plugin-proposal-import-wasm-source`, `babel-plugin-syntax-async-do-expressions`, `babel-plugin-syntax-decorators`, `babel-plugin-syntax-destructuring-private`, `babel-plugin-syntax-do-expressions`, `babel-plugin-syntax-explicit-resource-management`, `babel-plugin-syntax-export-default-from`, `babel-plugin-syntax-flow`, `babel-plugin-syntax-function-bind`, `babel-plugin-syntax-function-sent`, `babel-plugin-syntax-import-assertions`, `babel-plugin-syntax-import-attributes`, `babel-plugin-syntax-import-defer`, `babel-plugin-syntax-import-source`, `babel-plugin-syntax-jsx`, `babel-plugin-syntax-module-blocks`, `babel-plugin-syntax-optional-chaining-assign`, `babel-plugin-syntax-partial-application`, `babel-plugin-syntax-pipeline-operator`, `babel-plugin-syntax-throw-expressions`, `babel-plugin-syntax-typescript`, `babel-plugin-transform-async-generator-functions`, `babel-plugin-transform-async-to-generator`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-class-static-block`, `babel-plugin-transform-dotall-regex`, `babel-plugin-transform-duplicate-named-capturing-groups-regex`, `babel-plugin-transform-explicit-resource-management`, `babel-plugin-transform-exponentiation-operator`, `babel-plugin-transform-json-strings`, `babel-plugin-transform-logical-assignment-operators`, `babel-plugin-transform-nullish-coalescing-operator`, `babel-plugin-transform-numeric-separator`, `babel-plugin-transform-object-rest-spread`, `babel-plugin-transform-optional-catch-binding`, `babel-plugin-transform-optional-chaining`, `babel-plugin-transform-private-methods`, `babel-plugin-transform-private-property-in-object`, `babel-plugin-transform-regexp-modifiers`, `babel-plugin-transform-unicode-property-regex`, `babel-plugin-transform-unicode-sets-regex`
  - [#&#8203;17580](https://redirect.github.com/babel/babel/pull/17580) Allow Babel 8 in compatible Babel 7 plugins ([@&#8203;nicolo-ribaudo](https://redirect.github.com/nicolo-ribaudo))

##### :running\_woman: Performance

- `babel-plugin-transform-react-jsx`
  - [#&#8203;17555](https://redirect.github.com/babel/babel/pull/17555) perf: Use lighter traversal for jsx `__source,__self` ([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))

##### Committers: 7

- Babel Bot ([@&#8203;babel-bot](https://redirect.github.com/babel-bot))
- Eliot Pontarelli ([@&#8203;kolvian](https://redirect.github.com/kolvian))
- Huáng Jùnliàng ([@&#8203;JLHwung](https://redirect.github.com/JLHwung))
- Kadhirash Sivakumar ([@&#8203;kadhirash](https://redirect.github.com/kadhirash))
- Nicolò Ribaudo ([@&#8203;nicolo-ribaudo](https://redirect.github.com/nicolo-ribaudo))
- [@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu)
- coderaiser ([@&#8203;coderaiser](https://redirect.github.com/coderaiser))

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/wasm-runtime)</summary>

### [`v1.1.1`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.1.0...@napi-rs/wasm-runtime@1.1.1)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.1.0...@napi-rs/wasm-runtime@1.1.1)

</details>

<details>
<summary>vitest-dev/vitest (@&#8203;vitest/browser)</summary>

### [`v4.0.18`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.18)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.17...v4.0.18)

#####    🚀 Experimental Features

- **experimental**: Add `onModuleRunner` hook to `worker.init`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9286](https://redirect.github.com/vitest-dev/vitest/issues/9286) [<samp>(ea837)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ea837de7d)

#####    🐞 Bug Fixes

- Use `meta.url` in `createRequire`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9441](https://redirect.github.com/vitest-dev/vitest/issues/9441) [<samp>(e0572)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e057281ca)
- **browser**: Hide injected data-testid attributes  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9503](https://redirect.github.com/vitest-dev/vitest/issues/9503) [<samp>(f8989)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f89899cd8)
- **ui**: Process artifact attachments when generating HTML reporter  -  by [@&#8203;macarie](https://redirect.github.com/macarie) in [#&#8203;9472](https://redirect.github.com/vitest-dev/vitest/issues/9472) [<samp>(22543)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/225435647)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.17...v4.0.18)

### [`v4.0.17`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.17)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17)

#####    🚀 Experimental Features

- Support openTelemetry for browser mode  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9180](https://redirect.github.com/vitest-dev/vitest/issues/9180) [<samp>(1ec3a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1ec3a8b68)
- Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation  -  by [@&#8203;Copilot](https://redirect.github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9295](https://redirect.github.com/vitest-dev/vitest/issues/9295) [<samp>(876cb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/876cb84c2)

#####    🐞 Bug Fixes

- Improve asymmetric matcher diff readability by unwrapping container matchers  -  by [@&#8203;Copilot](https://redirect.github.com/Copilot), **sheremet-va**, **hi-ogawa** and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9330](https://redirect.github.com/vitest-dev/vitest/issues/9330) [<samp>(b2ec7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b2ec724a8)
- Improve runner error when importing outside of test context  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9335](https://redirect.github.com/vitest-dev/vitest/issues/9335) [<samp>(2dd3d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2dd3dd839)
- Replace crypto.randomUUID to allow insecure environments (fix [#&#8203;9](https://redirect.github.com/vitest-dev/vitest/issues/9)…  -  by [@&#8203;plusgut](https://redirect.github.com/plusgut) in [#&#8203;9339](https://redirect.github.com/vitest-dev/vitest/issues/9339) and [#&#8203;9](https://redirect.github.com/vitest-dev/vitest/issues/9) [<samp>(e6a3f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e6a3f8cc7)
- Handle null options in `addEventHandler` [#&#8203;9371](https://redirect.github.com/vitest-dev/vitest/issues/9371)  -  by [@&#8203;ThibautMarechal](https://redirect.github.com/ThibautMarechal) in [#&#8203;9372](https://redirect.github.com/vitest-dev/vitest/issues/9372) and [#&#8203;9371](https://redirect.github.com/vitest-dev/vitest/issues/9371) [<samp>(40841)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/40841ff00)
- Typo in browser.provider error  -  by [@&#8203;deammer](https://redirect.github.com/deammer) in [#&#8203;9394](https://redirect.github.com/vitest-dev/vitest/issues/9394) [<samp>(4b67f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4b67fc25a)
- **browser**:
  - Fix `process.env` and `import.meta.env` defines in inline project  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9239](https://redirect.github.com/vitest-dev/vitest/issues/9239) [<samp>(b70c9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b70c96121)
  - Fix upload File instance  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9294](https://redirect.github.com/vitest-dev/vitest/issues/9294) [<samp>(b6778)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b67788c69)
  - Fix invalid project token for artifacts assets  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9321](https://redirect.github.com/vitest-dev/vitest/issues/9321) [<samp>(caa7d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/caa7d73d4)
  - Log `ErrorEvent.message` when unhandled `ErrorEvent.error` is null  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9322](https://redirect.github.com/vitest-dev/vitest/issues/9322) [<samp>(5d84e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5d84eeb91)
  - Support `fileParallelism` on an instance  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9328](https://redirect.github.com/vitest-dev/vitest/issues/9328) [<samp>(15006)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/150065459)
- **coverage**:
  - Remove unnecessary `istanbul-lib-source-maps` usage  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9344](https://redirect.github.com/vitest-dev/vitest/issues/9344) [<samp>(b0940)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b09405375)
  - Apply patch from [istanbuljs/istanbuljs#837](https://redirect.github.com/istanbuljs/istanbuljs/issues/837)  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) and **sapphi-red** in [#&#8203;9413](https://redirect.github.com/vitest-dev/vitest/issues/9413) and [#&#8203;837](https://redirect.github.com/vitest-dev/vitest/issues/837) [<samp>(e05ce)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e05cedbf4)
- **fsModuleCache**:
  - Don't store importers in cache  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9422](https://redirect.github.com/vitest-dev/vitest/issues/9422) [<samp>(75136)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/751364eec)
  - Add importers alongside importedModules  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9423](https://redirect.github.com/vitest-dev/vitest/issues/9423) [<samp>(59f92)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/59f92d403)
- **mocker**:
  - Fix mock transform with class  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9421](https://redirect.github.com/vitest-dev/vitest/issues/9421) [<samp>(d390e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d390eb527)
- **pool**:
  - Validate environment options when reusing the worker  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9349](https://redirect.github.com/vitest-dev/vitest/issues/9349) [<samp>(a8a88)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a8a8836e3)
  - Handle worker start failures gracefully  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9337](https://redirect.github.com/vitest-dev/vitest/issues/9337) [<samp>(200da)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/200dadb32)
- **reporter**:
  - Report test module if it failed to run  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9272](https://redirect.github.com/vitest-dev/vitest/issues/9272) [<samp>(c7888)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c78882985)
- **runner**:
  - Respect nested test.only within describe.only  -  by [@&#8203;Ujjwaljain16](https://redirect.github.com/Ujjwaljain16) in [#&#8203;9021](https://redirect.github.com/vitest-dev/vitest/issues/9021) and [#&#8203;9213](https://redirect.github.com/vitest-dev/vitest/issues/9213) [<samp>(55d5d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/55d5dad69)
- **typecheck**:
  - Improve error message when tsc outputs help text  -  by [@&#8203;Ujjwaljain16](https://redirect.github.com/Ujjwaljain16) in [#&#8203;9214](https://redirect.github.com/vitest-dev/vitest/issues/9214) [<samp>(7b10a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7b10ab4cd)
- **ui**:
  - Detect gzip by magic numbers instead of Content-Type header in html reporter  -  by [@&#8203;Copilot](https://redirect.github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9278](https://redirect.github.com/vitest-dev/vitest/issues/9278) [<samp>(dd033)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/dd0331632)
- **webdriverio**:
  - Fall back to WebDriver Classic [#&#8203;9244](https://redirect.github.com/vitest-dev/vitest/issues/9244)  -  by [@&#8203;JustasMonkev](https://redirect.github.com/JustasMonkev) in [#&#8203;9373](https://redirect.github.com/vitest-dev/vitest/issues/9373) and [#&#8203;9244](https://redirect.github.com/vitest-dev/vitest/issues/9244) [<samp>(c23dd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c23dd11bd)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17)

### [`v4.0.16`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.16)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.15...v4.0.16)

#####    🐞 Bug Fixes

- Fix browser mode default testTimeout back to 15 seconds  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9167](https://redirect.github.com/vitest-dev/vitest/issues/9167) [<samp>(da0ad)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/da0ade249)
- Avoid crashing on `process.versions` stub  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9174](https://redirect.github.com/vitest-dev/vitest/issues/9174) [<samp>(78cfb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/78cfbf99a)
- Reject calling suite function inside test  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9198](https://redirect.github.com/vitest-dev/vitest/issues/9198) [<samp>(1a259)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1a259c340)
- Allow inlining fully dynamic import  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9137](https://redirect.github.com/vitest-dev/vitest/issues/9137) [<samp>(56851)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/568513ca6)
- Fix module graph UI on html reporter with headless browser mode  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9219](https://redirect.github.com/vitest-dev/vitest/issues/9219) [<samp>(60642)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/60642b304)
- Log deprecated `test.poolOptions` if it's set  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9226](https://redirect.github.com/vitest-dev/vitest/issues/9226) [<samp>(f7f6a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f7f6aa8ba)
- **browser**:
  - Import `recordArtifact` from the vitest package  -  by [@&#8203;macarie](https://redirect.github.com/macarie) in [#&#8203;9186](https://redirect.github.com/vitest-dev/vitest/issues/9186) [<samp>(01c56)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/01c56454d)
  - Fix `import.meta.env` define  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9205](https://redirect.github.com/vitest-dev/vitest/issues/9205) [<samp>(01a9a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/01a9a58d9)
  - String formatting bug when including placeholders in console.log  -  by [@&#8203;michael-debs](https://redirect.github.com/michael-debs) and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9030](https://redirect.github.com/vitest-dev/vitest/issues/9030) and [#&#8203;9131](https://redirect.github.com/vitest-dev/vitest/issues/9131) [<samp>(84a30)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/84a306210)
- **coverage**:
  - Istanbul untested files source maps are off  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9208](https://redirect.github.com/vitest-dev/vitest/issues/9208) [<samp>(372e8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/372e86fde)
- **experimental**:
  - Export `setupEnvironment` for custom pools  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9187](https://redirect.github.com/vitest-dev/vitest/issues/9187) [<samp>(5d26b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5d26b87b0)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.15...v4.0.16)

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.27.2`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0272)

[Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.27.1...v0.27.2)

- Allow import path specifiers starting with `#/` ([#&#8203;4361](https://redirect.github.com/evanw/esbuild/pull/4361))

  Previously the specification for `package.json` disallowed import path specifiers starting with `#/`, but this restriction [has recently been relaxed](https://redirect.github.com/nodejs/node/pull/60864) and support for it is being added across the JavaScript ecosystem. One use case is using it for a wildcard pattern such as mapping `#/*` to `./src/*` (previously you had to use another character such as `#_*` instead, which was more confusing). There is some more context in [nodejs/node#49182](https://redirect.github.com/nodejs/node/issues/49182).

  This change was contributed by [@&#8203;hybrist](https://redirect.github.com/hybrist).

- Automatically add the `-webkit-mask` prefix ([#&#8203;4357](https://redirect.github.com/evanw/esbuild/issues/4357), [#&#8203;4358](https://redirect.github.com/evanw/esbuild/issues/4358))

  This release automatically adds the `-webkit-` vendor prefix for the [`mask`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/mask) CSS shorthand property:

  ```css
  /* Original code */
  main {
    mask: url(x.png) center/5rem no-repeat
  }

  /* Old output (with --target=chrome110) */
  main {
    mask: url(x.png) center/5rem no-repeat;
  }

  /* New output (with --target=chrome110) */
  main {
    -webkit-mask: url(x.png) center/5rem no-repeat;
    mask: url(x.png) center/5rem no-repeat;
  }
  ```

  This change was contributed by [@&#8203;BPJEnnova](https://redirect.github.com/BPJEnnova).

- Additional minification of `switch` statements ([#&#8203;4176](https://redirect.github.com/evanw/esbuild/issues/4176), [#&#8203;4359](https://redirect.github.com/evanw/esbuild/issues/4359))

  This release contains additional minification patterns for reducing `switch` statements. Here is an example:

  ```js
  // Original code
  switch (x) {
    case 0:
      foo()
      break
    case 1:
    default:
      bar()
  }

  // Old output (with --minify)
  switch(x){case 0:foo();break;case 1:default:bar()}

  // New output (with --minify)
  x===0?foo():bar();
  ```

- Forbid `using` declarations inside `switch` clauses ([#&#8203;4323](https://redirect.github.com/evanw/esbuild/issues/4323))

  This is a rare change to remove something that was previously possible. The [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) proposal introduced `using` declarations. These were previously allowed inside `case` and `default` clauses in `switch` statements. This had well-defined semantics and was already widely implemented (by V8, SpiderMonkey, TypeScript, esbuild, and others). However, it was considered to be too confusing because of how scope works in switch statements, so it has been removed from the specification. This edge case will now be a syntax error. See [tc39/proposal-explicit-resource-management#215](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/215) and [rbuckton/ecma262#14](https://redirect.github.com/rbuckton/ecma262/pull/14) for details.

  Here is an example of code that is no longer allowed:

  ```js
  switch (mode) {
    case 'read':
      using readLock = db.read()
      return readAll(readLock)

    case 'write':
      using writeLock = db.write()
      return writeAll(writeLock)
  }
  ```

  That code will now have to be modified to look like this instead (note the additional `{` and `}` block statements around each case body):

  ```js
  switch (mode) {
    case 'read': {
      using readLock = db.read()
      return readAll(readLock)
    }
    case 'write': {
      using writeLock = db.write()
      return writeAll(writeLock)
    }
  }
  ```

  This is not being released in one of esbuild's breaking change releases since this feature hasn't been finalized yet, and esbuild always tracks the current state of the specification (so esbuild's previous behavior was arguably incorrect).

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v9.39.2`](https://redirect.github.com/eslint/eslint/compare/v9.39.1...9278324aa0023d223874825b0d4b6ac75783096a)

[Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.39.1...v9.39.2)

### [`v9.39.1`](https://redirect.github.com/eslint/eslint/compare/v9.39.0...e2772811a8595d161870835ff04822b25a2cdf45)

[Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.39.0...v9.39.1)

### [`v9.39.0`](https://redirect.github.com/eslint/eslint/compare/v9.38.0...ac3a60dffc29d8d4d5031621bc062e77f891532a)

[Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.38.0...v9.39.0)

### [`v9.38.0`](https://redirect.github.com/eslint/eslint/releases/tag/v9.38.0)

[Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.37.0...v9.38.0)

#### Features

- [`ce40f74`](https://redirect.github.com/eslint/eslint/commit/ce40f74efd45f66d9fbfc6f78ce622ee72008485) feat: update `complexity` rule to only highlight function header ([#&#8203;20048](https://redirect.github.com/eslint/eslint/issues/20048)) (Atul Nair)
- [`e37e590`](https://redirect.github.com/eslint/eslint/commit/e37e590aae2a7fcca4d3a9adc1379ad466e5c5d1) feat: correct `no-loss-of-precision` false positives with `e` notation ([#&#8203;20187](https://redirect.github.com/eslint/eslint/issues/20187)) (Francesco Trotta)

#### Bug Fixes

- [`50c3dfd`](https://redirect.github.com/eslint/eslint/commit/50c3dfd98065622765a51a8ddb1e70c44fc5a4cb) fix: improve type support for isolated dependencies in pnpm ([#&#8203;20201](https://redirect.github.com/eslint/eslint/issues/20201)) (Francesco Trotta)
- [`a1f06a3`](https://redirect.github.com/eslint/eslint/commit/a1f06a350c4155c4dbf39bf932a38d71d70f1b65) fix: correct SourceCode typings ([#&#8203;20114](https://redirect.github.com/eslint/eslint/issues/20114)) (Pixel998)

#### Documentation

- [`462675a`](https://redirect.github.com/eslint/eslint/commit/462675af8a811f9ca984efaedbdc5b46b13ced7a) docs: improve web accessibility by hiding non-semantic character ([#&#8203;20205](https://redirect.github.com/eslint/eslint/issues/20205)) (루밀LuMir)
- [`c070e65`](https://redirect.github.com/eslint/eslint/commit/c070e65f6bb9e38d06a89ba2b3261781bec3d397) docs: correct formatting in `no-irregular-whitespace` rule documentation ([#&#8203;20203](https://redirect.github.com/eslint/eslint/issues/20203)) (루밀LuMir)
- [`b39e71a`](https://redirect.github.com/eslint/eslint/commit/b39e71a2130ae1ea3fbc19b19f5b951eb625722a) docs: Update README (GitHub Actions Bot)
- [`cd39983`](https://redirect.github.com/eslint/eslint/commit/cd3998314876a4fad6463d9011bc73778ccc1fd9) docs: move `custom-formatters` type descriptions to `nodejs-api` ([#&#8203;20190](https://redirect.github.com/eslint/eslint/issues/20190)) (Percy Ma)

#### Chores

- [`d17c795`](https://redirect.github.com/eslint/eslint/commit/d17c795bf1624e0604998482b98e6bb6bff39045) chore: upgrade [@&#8203;eslint/js](https://redirect.github.com/eslint/js)@&#8203;9.38.0 ([#&#8203;20221](https://redirect.github.com/eslint/eslint/issues/20221)) (Milos Djermanovic)
- [`25d0e33`](https://redirect.github.com/eslint/eslint/commit/25d0e33270e08baed09dbee2cdd56a8e5cd9da0f) chore: package.json update for [@&#8203;eslint/js](https://redirect.github.com/eslint/js) release (Jenkins)
- [`c82b5ef`](https://redirect.github.com/eslint/eslint/commit/c82b5efa1fc91900e029efa23e688fad67fc17fa) refactor: Use types from [@&#8203;eslint/core](https://redirect.github.com/eslint/core) ([#&#8203;20168](https://redirect.github.com/eslint/eslint/issues/20168)) (Nicholas C. Zakas)
- [`ff31609`](https://redirect.github.com/eslint/eslint/commit/ff31609f195654d448954210ba4d31e921d463e8) ci: add Node.js 25 to `ci.yml` ([#&#8203;20220](https://redirect.github.com/eslint/eslint/issues/20220)) (루밀LuMir)
- [`004577e`](https://redirect.github.com/eslint/eslint/commit/004577eda2f2f4b2829e0364f8b41893cebfc859) ci: bump github/codeql-action from 3 to 4 ([#&#8203;20211](https://redirect.github.com/eslint/eslint/issues/20211)) (dependabot\[bot])
- [`eac71fb`](https://redirect.github.com/eslint/eslint/commit/eac71fb77113de7bf199ff20c6ee44cefcb59848) test: remove use of `nodejsScope` option of eslint-scope from tests ([#&#8203;20206](https://redirect.github.com/eslint/eslint/issues/20206)) (Milos Djermanovic)
- [`4168a18`](https://redirect.github.com/eslint/eslint/commit/4168a18b7efd8facbbd71cd44a62942a9f656a30) chore: fix typo in legacy-eslint.js ([#&#8203;20202](https://redirect.github.com/eslint/eslint/issues/20202)) (Sweta Tanwar)
- [`205dbd2`](https://redirect.github.com/eslint/eslint/commit/205dbd2d9272e761574c478e3b0181f7b89ed0f6) chore: fix typos ([#&#8203;20200](https://redirect.github.com/eslint/eslint/issues/20200)) (ntnyq)
- [`dbb200e`](https://redirect.github.com/eslint/eslint/commit/dbb200e3604e63bba23a18d40089ca44604835ed) chore: use team member's username when name is not available in data ([#&#8203;20194](https://redirect.github.com/eslint/eslint/issues/20194)) (Milos Djermanovic)
- [`8962089`](https://redirect.github.com/eslint/eslint/commit/8962089edbd978b43513576387a134036b8e2d36) chore: mark deprecated rules as available until v11.0.0 ([#&#8203;20184](https://redirect.github.com/eslint/eslint/issues/20184)) (Pixel998)

### [`v9.37.0`](https://redirect.github.com/eslint/eslint/releases/tag/v9.37.0)

[Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.36.0...v9.37.0)

#### Features

- [`39f7fb4`](https://redirect.github.com/eslint/eslint/commit/39f7fb493a6924ff7dc638fd4d6e7b3d8eb95383) feat: `preserve-caught-error` should recognize all static "cause" keys ([#&#8203;20163](https://redirect.github.com/eslint/eslint/issues/20163)) (Pixel998)
- [`f81eabc`](https://redirect.github.com/eslint/eslint/commit/f81eabc5849ece98b8ca054f96b29f038a69bcf8) feat: support TS syntax in `no-restricted-imports` ([#&#8203;19562](https://redirect.github.com/eslint/eslint/issues/19562)) (Nitin Kumar)

#### Bug Fixes

- [`a129cce`](https://redirect.github.com/eslint/eslint/commit/a129cced7a86ea2518eb9be6990fa18af39694ca) fix: correct `no-loss-of-precision` false positives for leading zeros ([#&#8203;20164](https://redirect.github.com/eslint/eslint/issues/20164)) (Francesco Trotta)
- [`09e04fc`](https://redirect.github.com/eslint/eslint/commit/09e04fcc3f4cc963eea7c9c579391de5e231595b) fix: add missing AST token types ([#&#8203;20172](https://redirect.github.com/eslint/eslint/issues/20172)) (Pixel998)
- [`861c6da`](https://redirect.github.com/eslint/eslint/commit/861c6da2bd2796414e6eed782155ec34e2ed6344) fix: correct `ESLint` typings ([#&#8203;20122](https://redirect.github.com/eslint/eslint/issues/20122)) (Pixel998)

#### Documentation

- [`b950359`](https://redirect.github.com/eslint/eslint/commit/b950359c5f39085483c3137a6a160e582ef32007) docs: fix typos across the docs ([#&#8203;20182](https://redirect.github.com/eslint/eslint/issues/20182)) (루밀LuMir)
- [`42498a2`](https://redirect.github.com/eslint/eslint/commit/42498a27981d50750dd15ae8660dbe85c4f4587c) docs: improve ToC accessibility by hiding non-semantic character ([#&#8203;20181](https://redirect.github.com/eslint/eslint/issues/20181)) (Percy Ma)
- [`29ea092`](https://redirect.github.com/eslint/eslint/commit/29ea092b93608756350b1e9c5a4f29c8a49264ab) docs: Update README (GitHub Actions Bot)
- [`5c97a04`](https://redirect.github.com/eslint/eslint/commit/5c97a04578e6280c2395f642c2d8d6bdf30eec18) docs: show `availableUntil` in deprecated rule banner ([#&#8203;20170](https://redirect.github.com/eslint/eslint/issues/20170)) (Pixel998)
- [`90a71bf`](https://redirect.github.com/eslint/eslint/commit/90a71bf5024a86fc232cd2e05f96811e2a18fd0f) docs: update `README` files to add badge and instructions ([#&#8203;20115](https://redirect.github.com/eslint/eslint/issues/20115)) (루밀LuMir)
- [`1603ae1`](https://redirect.github.com/eslint/eslint/commit/1603ae1526d9b6f557c7d5534a4f40f46842edd6) docs: update references from `master` to `main` ([#&#8203;20153](https://redirect.github.com/eslint/eslint/issues/20153)) (루밀LuMir)

#### Chores

- [`afe8a13`](https://redirect.github.com/eslint/eslint/commit/afe8a1346958242031fea66fdfbb239e8bf408b7) chore: update `@eslint/js` dependency to version 9.37.0 ([#&#8203;20183](https://redirect.github.com/eslint/eslint/issues/20183)) (Francesco Trotta)
- [`abee4ca`](https://redirect.github.com/eslint/eslint/commit/abee4ca1fa10da733b1cc4a7d5e765b912a9de82) chore: package.json update for [@&#8203;eslint/js](https://redirect.github.com/eslint/js) release (Jenkins)
- [`fc9381f`](https://redirect.github.com/eslint/eslint/commit/fc9381f6ca57b824e82d118c14631c17bea79d7e) chore: fix typos in comments ([#&#8203;20175](https://redirect.github.com/eslint/eslint/issues/20175)) (overlookmotel)
- [`e1574a2`](https://redirect.github.com/eslint/eslint/commit/e1574a22d38fd7e1891f86f8db0b09053f8963cb) chore: unpin jiti ([#&#8203;20173](https://redirect.github.com/eslint/eslint/issues/20173)) (renovate\[bot])
- [`e1ac05e`](https://redirect.github.com/eslint/eslint/commit/e1ac05e2fae779e738f85bd47dda1cc2b7099346) refactor: mark `ESLint.findConfigFile()` as `async`, add missing docs ([#&#8203;20157](https://redirect.github.com/eslint/eslint/issues/20157)) (Pixel998)
- [`347906d`](https://redirect.github.com/eslint/eslint/commit/347906d627c53bf45d63ba831d2fd2b83fb0a749) chore: update eslint ([#&#8203;20149](https://redirect.github.com/eslint/eslint/issues/20149)) (renovate\[bot])
- [`0cb5897`](https://redirect.github.com/eslint/eslint/commit/0cb5897e24059bacadb8d2e6458184904759fda1) test: remove tmp dir created for circular fixes in multithread mode test ([#&#8203;20146](https://redirect.github.com/eslint/eslint/issues/20146)) (Milos Djermanovic)
- [`bb99566`](https://redirect.github.com/eslint/eslint/commit/bb995665e32b3a958e78006c9fd75744c5604f1b) ci: pin `jiti` to version 2.5.1 ([#&#8203;20151](https://redirect.github.com/eslint/eslint/issues/20151)) (Pixel998)
- [`177f669`](https://redirect.github.com/eslint/eslint/commit/177f669adc0f96d14ae1a71cde7786f327515863) perf: improve worker count calculation for `"auto"` concurrency ([#&#8203;20067](https://redirect.github.com/eslint/eslint/issues/20067)) (Francesco Trotta)
- [`448b57b`](https://redirect.github.com/eslint/eslint/commit/448b57bca3406ee12c4e44e9298fc0c99d3ee10c) chore: Mark deprecated formatting rules as available until v11.0.0 ([#&#8203;20144](https://redirect.github.com/eslint/eslint/issues/20144)) (Milos Djermanovic)

</details>

<details>
<summary>estools/esquery (esquery)</summary>

### [`v1.7.0`](https://redirect.github.com/estools/esquery/compare/v1.6.0...444da2c9b1f973555102b0e3a2c62f5d607dc6fe)

[Compare Source](https://redirect.github.com/estools/esquery/compare/v1.6.0...444da2c9b1f973555102b0e3a2c62f5d607dc6fe)

</details>

<details>
<summary>eclipse/openvsx (ovsx)</summary>

### [`v0.10.8`](https://redirect.github.com/eclipse/openvsx/blob/HEAD/cli/CHANGELOG.md#v0108-Jan-2026)

[Compare Source](https://redirect.github.com/eclipse/openvsx/compare/2000f6441959b4a2bcdfa81b5daa35ae0591ed78...f3382bc2d7a7b9c4ed1e9ed1392bf0656436aee8)

##### Dependencies

- Upgrade `jws` from `3.2.2` to `4.0.1` ([#&#8203;1482](https://redirect.github.com/eclipse/openvsx/pull/1482))
- Upgrade `@vscode/vsce` from `3.2.1` to `3.7.1` ([#&#8203;1482](https://redirect.github.com/eclipse/openvsx/pull/1482))

</details>

<details>
<summary>microsoft/playwright (playwright)</summary>

### [`v1.58.0`](https://redirect.github.com/microsoft/playwright/compare/v1.57.0...961381ec73a9fa2661d92504eab1a6bd6eaffc75)

[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.57.0...v1.58.0)

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v10.28.1`](https://redirect.github.com/pnpm/pnpm/compare/v10.28.0...v10.28.1)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.28.0...v10.28.1)

### [`v10.28.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.27.0...v10.28.0)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.27.0...v10.28.0)

### [`v10.27.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.26.2...v10.27.0)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.26.2...v10.27.0)

### [`v10.26.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v10.26.2): pnpm 10.26.2

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.26.1...v10.26.2)

#### Patch Changes

- Improve error message when a package version exists but does not meet the `minimumReleaseAge` constraint. The error now clearly states that the version exists and shows a human-readable time since release (e.g., "released 6 hours ago") [#&#8203;10307](https://redirect.github.com/pnpm/pnpm/issues/10307).

- Fix installation of Git dependencies using annotated tags [#&#8203;10335](https://redirect.github.com/pnpm/pnpm/issues/10335).

  Previously, pnpm would store the annotated tag object's SHA in the lockfile instead of the actual commit SHA. This caused `ERR_PNPM_GIT_CHECKOUT_FAILED` errors because the checked-out commit hash didn't match the stored tag object hash.

- Binaries of runtime engines (Node.js, Deno, Bun) are written to `node_modules/.bin` before lifecycle scripts (install, postinstall, prepare) are executed [#&#8203;10244](https://redirect.github.com/pnpm/pnpm/issues/10244).

- Try to avoid making network calls with preferOffline [#&#8203;10334](https://redirect.github.com/pnpm/pnpm/pull/10334).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" />
            <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
            <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" />
            <img src="https:/

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-01-27 04:55:04 +00:00
Boshen 9951f16184 release(crates): oxc v0.111.0 (#18572)
### 💥 BREAKING CHANGES

- 22dec6a semantic: [**BREAKING**] Remove
`Scoping::scope_build_child_ids` and all related APIs (#18362) (Dunqing)
- 30a4899 oxc: [**BREAKING**] Remove
`CompilerInterface::semantic_child_scope_ids` (#18361) (Dunqing)
- 777fc40 ast: [**BREAKING**] Add `Ident` type (#18354) (Boshen)
- af0ca46 span: [**BREAKING**] Use `ModuleKind::CommonJS` for
`SourceType::cjs()` (#18276) (sapphi-red)

### 🚀 Features

- 0a02026 semantic: Add TS1499 code to diagnostic (#18557) (camc314)
- 8b4618f parser: Add TS1500 code to diagnostic (#18547) (camc314)
- 866b6b3 parser: Add TS1048 code to diagnostic (#18546) (camc314)
- 1117c44 parser: Add TS1054 code to diagnostic (#18541) (camc314)
- e4fcdde semantic: Add TS1053 code to diagnostic (#18539) (camc314)
- bcbf396 semantic: Add TS1052 code to diagnostic (#18538) (camc314)
- 8155edf semantic: Add TS1049 code to diagnostic (#18535) (camc314)
- 51d3b3f parser: Add TS1502 code to diagnostic (#18534) (camc314)
- 00854e8 semantic: Add TS2337 error code to super call diagnostic
(#18531) (camc314)
- 993fd2b parser: Parse unambiguous await with better error messages
(#18480) (Boshen)
- 8db0e78 linter/plugins: Handle BOMs (#18376) (overlookmotel)
- 6ac09e2 linter/plugins: Support source text not being at start of
buffer (#18375) (overlookmotel)
- 2ef5647 ast: Add escape_raw parameter to template_element builders
(#18121) (Boshen)

### 🐛 Bug Fixes

- 74d0998 semantic: Update error msg for multiple `default` cases in
switch stmt (#18526) (camc314)
- c205b0d ast: Remove `ThisExpression` from `TSModuleReference` (#18489)
(Boshen)
- aed3669 parser: Parse HTML-like comments in unambiguous mode (#18442)
(Boshen)
- c4132fb parser: Validate accessor parameters in interface method
signatures (#18391) (Boshen)
- b0cd74d semantic: Allow `var` and `function` with same name in static
blocks (#18358) (Boshen)
- 6037995 semantic: Allow `new.target` in class field initializers
(#18349) (Boshen)
- 9a15c6a semantic: Do not rely on spans for node comparison in
`Function::bind` (#18296) (overlookmotel)

### ⚡ Performance

- 6b600c4 semantic: Skip parent lookup for function declarations in
`Function::bind` (#18293) (overlookmotel)
- c27ad2d semantic: Move check for function declaration out of
`is_function_part_of_if_statement` (#18292) (overlookmotel)
- 63eb89e semantic: Skip checking redeclarations for function
expressions (#18291) (overlookmotel)
- 7c12743 semantic: Skip checking unresolved exports in CommonJS files
(#18250) (overlookmotel)
- 2349031 allocator: Increase initial chunk size from 512B to 16KB
(#18234) (Boshen)

### 📚 Documentation

- 8ccd853 npm: Update package homepage URLs and add keywords (#18509)
(Boshen)
- 9b3165f napi/parser: Clarify when to use `parseAsync` vs `parseSync`
(#18486) (Boshen)
- 1b59f63 napi/parser: Correct typo in README (#18251) (overlookmotel)
- 00ff75f mangler: Fix `top_level` option in example (#18233)
(overlookmotel)
- 2ddc073 semantic: Fix typo in comment (#18238) (overlookmotel)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2026-01-26 10:49:55 +00:00
Boshen 8ccd853d91 docs(npm): update package homepage URLs and add keywords (#18509)
## Summary

- Update homepage links to point to specific documentation pages (e.g., `https://oxc.rs/docs/guide/usage/linter`)
- Add usage instruction links to napi package READMEs
- Add relevant keywords for better npm discoverability

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-25 07:02:08 +00:00
overlookmotel 1b616ff7a8 chore(deps): bump typescript-eslint packages to latest (#18401)
Bump `@typescript-eslint/scope-manager` and `@typescript-eslint/visitor-keys` dependencies to latest.
2026-01-22 11:39:43 +00:00
Boshen 89de3a146b release(crates): oxc v0.110.0 (#18240)
### 🐛 Bug Fixes

- f1e2dc0 semantic: No error in `check_function_redeclaration` for
CommonJS files (#18231) (overlookmotel)
- 645c3f0 transformer: Use `require` not `import` in CommonJS files
(#18226) (overlookmotel)
- ee9f6a4 mangler: Use `retain` instead of `truncate` to remove empty
frequency slots (#18225) (Dunqing)

### ⚡ Performance

- 52073d9 semantic: Use cheaper test for source type (#18235)
(overlookmotel)

Co-authored-by: overlookmotel <557937+overlookmotel@users.noreply.github.com>
2026-01-19 13:42:45 +00:00
Boshen 7282e9c564 release(crates): oxc v0.109.0 (#18222) 2026-01-19 18:42:47 +08:00
Boshen 140cb1f405 release(crates): oxc v0.108.0 (#17920)
### 🚀 Features

- 10426af codegen: Print soft space between inline block comments on the
same line (#17799) (camc314)
- 2261e6e semantic: Improve error message to add `#` for private
identifiers (#17779) (Dunqing)

### 🐛 Bug Fixes

- 7422b7e parser/trivia: Correctly mark whether a block comment is on a
newline (#17754) (camc314)
- c32e8d5 codegen: Wrap `TSAsExpression` in parens when used with
in/instanceof operators (#17752) (camc314)
- 5755b2d semantic: Report duplicate private identifier for static and
instance elements (#17591) (camc314)
- 0600df3 isolated_declarations: Only print jsdoc comments (#17748)
(camc314)
- ef7e014 parser: Preserve `@__NO_SIDE_EFFECTS__` annotation with
parenthesized expressions (#17711) (camc314)
- 59a6228 parser: Detect TS1363 error for type-only imports with mixed
default and named/namespace bindings (#17712) (Copilot)

### ⚡ Performance

- 864f1fa semantic: Mark duplicate class element error reporting as cold
(#17746) (camc314)
- 3a452b8 semantic: Use smallvec for storing reference IDs (#17731)
(camchenry)
- d5979dc minifier: Do not allocate when checking to convert `const` to
`let` (#17730) (camchenry)
- 3f4429c parser: Do not re-allocate TS interface heritage (#17692)
(camchenry)

### 📚 Documentation

- 120a27c minifier: Add prettier-ignore for js-in-md part (#17687)
(leaysgur)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2026-01-12 17:51:21 +08:00
Boshen 811b2a753c release(crates): oxc v0.107.0 (#17661)
### 🚀 Features

- 659c23e linter: Init note field boilerplate  (#17589) (Shrey Sudhir)
- 6870b64 parser: Add TS1363 error code (#17609) (Sysix)
- 23680a3 mangler: Skip mangling only in scopes affected by direct eval (#17612) (camc314)
- a7e1643 parser: Add TS2528 error code to duplicate_default_export diagnostic (#17558) (camc314)

### 🐛 Bug Fixes

- 1044116 ecmascript: Mark `new Symbol` as non side-effect free (#17568) (camc314)
- ab5e4ca isolated-declarations: Strip default values from rest parameter binding patterns (#17602) (camc314)
- 68b2e54 minifier: Prevent incorrect ??= transformation when member base is mutated (#17472) (copilot-swe-agent)

### ⚡ Performance

- 6067143 semantic: Remove hash when checking identifier (#17564) (camchenry)
- a28ab3d semantic: Avoid bounds check when checking string literal (#17545) (camc314)
- 04809d1 semantic: Use SIMD for finding backslashes in `check_string_literal` (#17534) (camchenry)
- 49ad2f0 semantic: Mark all diagnostic functions as `#[cold]` (#17487) (camc314)
- ea82b50 transformer: Mark all diagnostic functions as `#[cold]` (#17486) (camc314)
- d968e51 semantic: Mark `checker::check` as `inline(always)` (#17459) (camc314)
2026-01-05 13:45:22 +00:00
Boshen 9ec93401a3 release(crates): oxc v0.106.0 (#17447) 2025-12-29 17:16:30 +08:00
Boshen a7f385237f build(napi): Align NAPI targets to 20 platforms across all packages (#17203) 2025-12-24 15:36:45 +08:00
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
camc314 5d211a8c69 refactor(napi/parser): move generated JS into src-js (#16957)
moves the generated code into src-js to keep the same pattern as oxlint
2025-12-17 11:43:42 +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 1d680de87e chore(pnpm): remove tasks/e2e workspace (#16881)
I thought making it a separate would be easier to manage,
but it's actually not.

Previous setup was also downloading packages from npm on every CI run.
2025-12-16 14:03:25 +00: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
renovate 211afcff5f chore(deps): update npm packages (#15994)
> **Note:** This PR body was truncated due to platform limits.

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/) |
|---|---|---|---|---|---|
| [@napi-rs/wasm-runtime](https://redirect.github.com/napi-rs/napi-rs) ([source](https://redirect.github.com/napi-rs/napi-rs/tree/HEAD/wasi-runtime)) | [`1.0.7` -> `1.1.0`](https://renovatebot.com/diffs/npm/@napi-rs%2fwasm-runtime/1.0.7/1.1.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fwasm-runtime/1.1.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fwasm-runtime/1.1.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fwasm-runtime/1.0.7/1.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fwasm-runtime/1.0.7/1.1.0?slim=true) |
| [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`11.1.6` -> `11.1.9`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.6/11.1.9) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/11.1.9?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/11.1.9?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/11.1.6/11.1.9?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/11.1.6/11.1.9?slim=true) |
| [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`11.1.6` -> `11.1.9`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.6/11.1.9) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/11.1.9?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/11.1.9?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/11.1.6/11.1.9?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/11.1.6/11.1.9?slim=true) |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`11.1.6` -> `11.1.9`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/11.1.6/11.1.9) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/11.1.9?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/11.1.9?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/11.1.6/11.1.9?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/11.1.6/11.1.9?slim=true) |
| [@nestjs/testing](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing)) | [`11.1.6` -> `11.1.9`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/11.1.6/11.1.9) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/11.1.9?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/11.1.9?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/11.1.6/11.1.9?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/11.1.6/11.1.9?slim=true) |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`24.9.1` -> `24.10.1`](https://renovatebot.com/diffs/npm/@types%2fnode/24.9.1/24.10.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/24.10.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/24.10.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/24.9.1/24.10.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/24.9.1/24.10.1?slim=true) |
| [@typescript-eslint/scope-manager](https://typescript-eslint.io/packages/scope-manager) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager)) | [`8.46.2` -> `8.48.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.46.2/8.48.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fscope-manager/8.48.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fscope-manager/8.48.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fscope-manager/8.46.2/8.48.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fscope-manager/8.46.2/8.48.1?slim=true) |
| [@typescript-eslint/typescript-estree](https://typescript-eslint.io/packages/typescript-estree) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree)) | [`8.47.0` -> `8.48.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2ftypescript-estree/8.47.0/8.48.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2ftypescript-estree/8.48.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2ftypescript-estree/8.48.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2ftypescript-estree/8.47.0/8.48.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2ftypescript-estree/8.47.0/8.48.1?slim=true) |
| [@typescript-eslint/visitor-keys](https://typescript-eslint.io) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys)) | [`8.47.0` -> `8.48.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.47.0/8.48.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.48.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.48.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.47.0/8.48.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.47.0/8.48.1?slim=true) |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`4.0.6` -> `4.0.15`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/4.0.6/4.0.15) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/4.0.15?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/4.0.15?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/4.0.6/4.0.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/4.0.6/4.0.15?slim=true) |
| [@vitest/browser-playwright](https://vitest.dev/config/browser/playwright) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright)) | [`4.0.6` -> `4.0.15`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser-playwright/4.0.6/4.0.15) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser-playwright/4.0.15?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser-playwright/4.0.15?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser-playwright/4.0.6/4.0.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser-playwright/4.0.6/4.0.15?slim=true) |
| [@vscode/vsce](https://code.visualstudio.com) ([source](https://redirect.github.com/Microsoft/vsce)) | [`3.6.2` -> `3.7.1`](https://renovatebot.com/diffs/npm/@vscode%2fvsce/3.6.2/3.7.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@vscode%2fvsce/3.7.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vscode%2fvsce/3.7.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vscode%2fvsce/3.6.2/3.7.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vscode%2fvsce/3.6.2/3.7.1?slim=true) |
| [alpinejs](https://alpinejs.dev) ([source](https://redirect.github.com/alpinejs/alpine/tree/HEAD/packages/alpinejs)) | [`3.15.0` -> `3.15.2`](https://renovatebot.com/diffs/npm/alpinejs/3.15.0/3.15.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/alpinejs/3.15.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/alpinejs/3.15.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/alpinejs/3.15.0/3.15.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/alpinejs/3.15.0/3.15.2?slim=true) |
| [antd](https://ant.design) ([source](https://redirect.github.com/ant-design/ant-design)) | [`6.0.0` -> `6.0.1`](https://renovatebot.com/diffs/npm/antd/6.0.0/6.0.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/antd/6.0.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/antd/6.0.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/antd/6.0.0/6.0.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/antd/6.0.0/6.0.1?slim=true) |
| [axios](https://axios-http.com) ([source](https://redirect.github.com/axios/axios)) | [`1.12.2` -> `1.13.2`](https://renovatebot.com/diffs/npm/axios/1.12.2/1.13.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/axios/1.13.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/axios/1.13.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/axios/1.12.2/1.13.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/axios/1.12.2/1.13.2?slim=true) |
| [dayjs](https://day.js.org) ([source](https://redirect.github.com/iamkun/dayjs)) | [`1.11.18` -> `1.11.19`](https://renovatebot.com/diffs/npm/dayjs/1.11.18/1.11.19) | ![age](https://developer.mend.io/api/mc/badges/age/npm/dayjs/1.11.19?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/dayjs/1.11.19?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/dayjs/1.11.18/1.11.19?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dayjs/1.11.18/1.11.19?slim=true) |
| [emnapi](https://redirect.github.com/toyobayashi/emnapi) | [`1.6.0` -> `1.7.1`](https://renovatebot.com/diffs/npm/emnapi/1.6.0/1.7.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/emnapi/1.7.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/emnapi/1.7.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/emnapi/1.6.0/1.7.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/emnapi/1.6.0/1.7.1?slim=true) |
| [es-toolkit](https://es-toolkit.dev) ([source](https://redirect.github.com/toss/es-toolkit)) | [`1.40.0` -> `1.42.0`](https://renovatebot.com/diffs/npm/es-toolkit/1.40.0/1.42.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/es-toolkit/1.42.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/es-toolkit/1.42.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/es-toolkit/1.40.0/1.42.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/es-toolkit/1.40.0/1.42.0?slim=true) |
| [esbuild](https://redirect.github.com/evanw/esbuild) | [`^0.25.0` -> `^0.27.0`](https://renovatebot.com/diffs/npm/esbuild/0.25.12/0.27.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.27.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.27.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.25.12/0.27.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.25.12/0.27.1?slim=true) |
| [execa](https://redirect.github.com/sindresorhus/execa) | [`9.6.0` -> `9.6.1`](https://renovatebot.com/diffs/npm/execa/9.6.0/9.6.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/execa/9.6.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/execa/9.6.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/execa/9.6.0/9.6.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/execa/9.6.0/9.6.1?slim=true) |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`20.0.7` -> `20.0.11`](https://renovatebot.com/diffs/npm/happy-dom/20.0.7/20.0.11) | ![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/20.0.11?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/20.0.11?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/20.0.7/20.0.11?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/20.0.7/20.0.11?slim=true) |
| [memfs](https://redirect.github.com/streamich/memfs) | [`4.49.0` -> `4.51.1`](https://renovatebot.com/diffs/npm/memfs/4.49.0/4.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/memfs/4.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/memfs/4.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/memfs/4.49.0/4.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/memfs/4.49.0/4.51.1?slim=true) |
| [motion](https://redirect.github.com/motiondivision/motion) | [`12.23.24` -> `12.23.25`](https://renovatebot.com/diffs/npm/motion/12.23.24/12.23.25) | ![age](https://developer.mend.io/api/mc/badges/age/npm/motion/12.23.25?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/motion/12.23.25?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/motion/12.23.24/12.23.25?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/motion/12.23.24/12.23.25?slim=true) |
| [ovsx](https://open-vsx.org) ([source](https://redirect.github.com/eclipse/openvsx/tree/HEAD/cli)) | [`0.10.6` -> `0.10.7`](https://renovatebot.com/diffs/npm/ovsx/0.10.6/0.10.7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/ovsx/0.10.7?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ovsx/0.10.7?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ovsx/0.10.6/0.10.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ovsx/0.10.6/0.10.7?slim=true) |
| [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`1.56.1` -> `1.57.0`](https://renovatebot.com/diffs/npm/playwright/1.56.1/1.57.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.57.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.57.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.56.1/1.57.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.56.1/1.57.0?slim=true) |
| [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.20.0` -> `10.24.0`](https://renovatebot.com/diffs/npm/pnpm/10.20.0/10.24.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.24.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/10.24.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/10.20.0/10.24.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.20.0/10.24.0?slim=true) |
| [preact](https://preactjs.com) ([source](https://redirect.github.com/preactjs/preact)) | [`10.27.2` -> `10.28.0`](https://renovatebot.com/diffs/npm/preact/10.27.2/10.28.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/preact/10.28.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/preact/10.28.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/preact/10.27.2/10.28.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/preact/10.27.2/10.28.0?slim=true) |
| [react](https://react.dev/) ([source](https://redirect.github.com/facebook/react/tree/HEAD/packages/react)) | [`19.2.0` -> `19.2.1`](https://renovatebot.com/diffs/npm/react/19.2.0/19.2.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react/19.2.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react/19.2.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react/19.2.0/19.2.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react/19.2.0/19.2.1?slim=true) |
| [react-dom](https://react.dev/) ([source](https://redirect.github.com/facebook/react/tree/HEAD/packages/react-dom)) | [`19.2.0` -> `19.2.1`](https://renovatebot.com/diffs/npm/react-dom/19.2.0/19.2.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-dom/19.2.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-dom/19.2.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-dom/19.2.0/19.2.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-dom/19.2.0/19.2.1?slim=true) |
| [solid-js](https://solidjs.com) ([source](https://redirect.github.com/solidjs/solid)) | [`1.9.9` -> `1.9.10`](https://renovatebot.com/diffs/npm/solid-js/1.9.9/1.9.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/solid-js/1.9.10?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/solid-js/1.9.10?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/solid-js/1.9.9/1.9.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/solid-js/1.9.9/1.9.10?slim=true) |
| [terser](https://terser.org) ([source](https://redirect.github.com/terser/terser)) | [`5.44.0` -> `5.44.1`](https://renovatebot.com/diffs/npm/terser/5.44.0/5.44.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/terser/5.44.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/terser/5.44.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/terser/5.44.0/5.44.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/terser/5.44.0/5.44.1?slim=true) |
| [type-fest](https://redirect.github.com/sindresorhus/type-fest) | [`5.2.0` -> `5.3.0`](https://renovatebot.com/diffs/npm/type-fest/5.2.0/5.3.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/5.3.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/type-fest/5.3.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/type-fest/5.2.0/5.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/5.2.0/5.3.0?slim=true) |
| [vitest](https://vitest.dev) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.0.1` -> `4.0.15`](https://renovatebot.com/diffs/npm/vitest/4.0.1/4.0.15) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.0.15?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/4.0.15?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/4.0.1/4.0.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.0.1/4.0.15?slim=true) |
| [vitest](https://vitest.dev) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.0.10` -> `4.0.15`](https://renovatebot.com/diffs/npm/vitest/4.0.10/4.0.15) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.0.15?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/4.0.15?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/4.0.10/4.0.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.0.10/4.0.15?slim=true) |
| [vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://redirect.github.com/vuejs/core)) | [`3.5.22` -> `3.5.25`](https://renovatebot.com/diffs/npm/vue/3.5.22/3.5.25) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.5.25?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.5.25?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.5.22/3.5.25?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.5.22/3.5.25?slim=true) |

---

### Release Notes

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/wasm-runtime)</summary>

### [`v1.1.0`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.0.7...@napi-rs/wasm-runtime@1.1.0)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.0.7...@napi-rs/wasm-runtime@1.1.0)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/common)</summary>

### [`v11.1.9`](https://redirect.github.com/nestjs/nest/releases/tag/v11.1.9)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.1.8...v11.1.9)

##### v11.1.9 (2025-11-14)

##### Bug fixes

- `core`
  - [#&#8203;15865](https://redirect.github.com/nestjs/nest/pull/15865) fix(core): make get() throw for implicitly request-scoped trees ([@&#8203;JoeNutt](https://redirect.github.com/JoeNutt))

##### Enhancements

- `common`
  - [#&#8203;15863](https://redirect.github.com/nestjs/nest/pull/15863) feat(common): add method options to [@&#8203;sse](https://redirect.github.com/sse) decorator ([@&#8203;TomerSteinberg](https://redirect.github.com/TomerSteinberg))

##### Dependencies

- `platform-fastify`
  - [#&#8203;15899](https://redirect.github.com/nestjs/nest/pull/15899) chore(deps): bump fastify from 5.6.1 to 5.6.2 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))

##### Committers: 4

- Rami ([@&#8203;JoeNutt](https://redirect.github.com/JoeNutt))
- Rhynel Algopera ([@&#8203;dev-rhynel](https://redirect.github.com/dev-rhynel))
- Tomer Steinberg ([@&#8203;TomerSteinberg](https://redirect.github.com/TomerSteinberg))
- WuMingDao ([@&#8203;WuMingDao](https://redirect.github.com/WuMingDao))

### [`v11.1.8`](https://redirect.github.com/nestjs/nest/compare/v11.1.7...68cd54594972011663e19123c3f620e20baea53a)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.1.7...v11.1.8)

### [`v11.1.7`](https://redirect.github.com/nestjs/nest/compare/v11.1.6...ee1b3475551e9173b51381211f058298be504a6a)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.1.6...v11.1.7)

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/scope-manager)</summary>

### [`v8.48.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8481-2025-12-02)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.48.0...v8.48.1)

This was a version bump only for scope-manager to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.48.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8480-2025-11-24)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.47.0...v8.48.0)

##### 🚀 Features

- **eslint-plugin:** \[no-redundant-type-constituents] use assignability checking for redundancy checks ([#&#8203;10744](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10744))

##### 🩹 Fixes

- **scope-manager:** change unhelpful `aaa` error message and change `analyze` to expects `Program` ([#&#8203;11747](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11747))

##### ❤️ Thank You

- Josh Goldberg
- mdm317 [@&#8203;gen-ip-1](https://redirect.github.com/gen-ip-1)
- Younsang Na [@&#8203;nayounsang](https://redirect.github.com/nayounsang)

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.47.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8470-2025-11-17)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.46.4...v8.47.0)

This was a version bump only for scope-manager to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.46.4`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8464-2025-11-10)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.46.3...v8.46.4)

This was a version bump only for scope-manager to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.46.3`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8463-2025-11-03)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.46.2...v8.46.3)

This was a version bump only for scope-manager to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/typescript-estree)</summary>

### [`v8.48.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-estree/CHANGELOG.md#8481-2025-12-02)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.48.0...v8.48.1)

This was a version bump only for typescript-estree to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.48.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-estree/CHANGELOG.md#8480-2025-11-24)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.47.0...v8.48.0)

##### 🚀 Features

- **typescript-estree:** replace fast-glob with tinyglobby ([#&#8203;11740](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11740))
- **eslint-plugin:** \[no-redundant-type-constituents] use assignability checking for redundancy checks ([#&#8203;10744](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10744))
- **typescript-estree:** gate all errors behind allowInvalidAST ([#&#8203;11693](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11693))

##### 🩹 Fixes

- **typescript-estree:** disallow binding patterns in parameter properties ([#&#8203;11760](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11760))
- **typescript-estree:** infers singleRun as true for project service ([#&#8203;11327](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11327))

##### ❤️ Thank You

- Ben McCann [@&#8203;benmccann](https://redirect.github.com/benmccann)
- Dima Barabash [@&#8203;dbarabashh](https://redirect.github.com/dbarabashh)
- fisker Cheung [@&#8203;fisker](https://redirect.github.com/fisker)
- James Henry [@&#8203;JamesHenry](https://redirect.github.com/JamesHenry)
- JamesHenry [@&#8203;JamesHenry](https://redirect.github.com/JamesHenry)
- Josh Goldberg
- Josh Goldberg ✨
- mdm317 [@&#8203;gen-ip-1](https://redirect.github.com/gen-ip-1)
- Younsang Na [@&#8203;nayounsang](https://redirect.github.com/nayounsang)

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/visitor-keys)</summary>

### [`v8.48.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8481-2025-12-02)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.48.0...v8.48.1)

This was a version bump only for visitor-keys to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.48.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8480-2025-11-24)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.47.0...v8.48.0)

This was a version bump only for visitor-keys to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>vitest-dev/vitest (@&#8203;vitest/browser)</summary>

### [`v4.0.15`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.15)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.14...v4.0.15)

#####    🚀 Experimental Features

- **cache**: Add opt-out on a plugin level, fix internal root cache  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9154](https://redirect.github.com/vitest-dev/vitest/issues/9154) [<samp>(a68f7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a68f74e5e)
- **reporters**: Print import duration breakdown  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9105](https://redirect.github.com/vitest-dev/vitest/issues/9105) [<samp>(122ff)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/122ff321c)

#####    🐞 Bug Fixes

- Keep built-in id as is in bun and deno  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9117](https://redirect.github.com/vitest-dev/vitest/issues/9117) [<samp>(075ab)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/075ab3520)
- Use `optimizeDeps.rolldownOptions` to fix depreated warning + fix `ssr.external: true`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9121](https://redirect.github.com/vitest-dev/vitest/issues/9121) [<samp>(fd8bd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fd8bd6dee)
- Fix external behavior with `deps.optimizer`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9125](https://redirect.github.com/vitest-dev/vitest/issues/9125) [<samp>(4c754)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4c75492cc)
- Very minor typo in "Chrome DevTools Protocol"  -  by [@&#8203;HowToTestFrontend](https://redirect.github.com/HowToTestFrontend) in [#&#8203;9146](https://redirect.github.com/vitest-dev/vitest/issues/9146) [<samp>(20997)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/209976419)
- **browser**: Run `toMatchScreenshot` only once when used with `expect.element`  -  by [@&#8203;macarie](https://redirect.github.com/macarie) in [#&#8203;9132](https://redirect.github.com/vitest-dev/vitest/issues/9132) [<samp>(0d2e7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0d2e7e3e2)
- **coverage**: Istanbul provider to not break source maps  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9040](https://redirect.github.com/vitest-dev/vitest/issues/9040) [<samp>(e4ca9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e4ca917f1)
- **deps**: Update dependency tinyexec to v1  -  in [#&#8203;9122](https://redirect.github.com/vitest-dev/vitest/issues/9122) [<samp>(fd786)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fd7860222)
- **docs**: Remove `--browser.provider` from docs  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9115](https://redirect.github.com/vitest-dev/vitest/issues/9115) [<samp>(120b3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/120b3dac1)
- **expect**: Preserve `currentTestName` in extended matchers  -  by [@&#8203;macarie](https://redirect.github.com/macarie) in [#&#8203;9106](https://redirect.github.com/vitest-dev/vitest/issues/9106) [<samp>(e4345)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e43458e02)
- **pool**: Terminate workers on `CTRL+c` forceful exits  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9140](https://redirect.github.com/vitest-dev/vitest/issues/9140) [<samp>(d57d8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d57d8bf0a)
- **reporters**: Show project in github reporter  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9138](https://redirect.github.com/vitest-dev/vitest/issues/9138) [<samp>(bb65e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bb65e15c7)
- **spy**: Do not mock overriden method, if parent was automocked  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9116](https://redirect.github.com/vitest-dev/vitest/issues/9116) [<samp>(1a246)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1a24607b4)
- **web-worker**: MessagePort objects passed to Worker.postMessage work when clone === "native"  -  by [@&#8203;whitphx](https://redirect.github.com/whitphx) in [#&#8203;9118](https://redirect.github.com/vitest-dev/vitest/issues/9118) [<samp>(deee8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/deee83e54)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.14...v4.0.15)

### [`v4.0.14`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.14)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.13...v4.0.14)

#####    🚀 Experimental Features

- **browser**: Expose `utils.configurePrettyDOM`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9103](https://redirect.github.com/vitest-dev/vitest/issues/9103) [<samp>(2cc34)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2cc34e0d4)
- **runner**: Add full names to tasks  -  by [@&#8203;macarie](https://redirect.github.com/macarie) in [#&#8203;9087](https://redirect.github.com/vitest-dev/vitest/issues/9087) [<samp>(821aa)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/821aa2002)
- **ui**: Add tabbed failure view for `toMatchScreenshot` with comparison slider  -  by [@&#8203;macarie](https://redirect.github.com/macarie) in [#&#8203;8813](https://redirect.github.com/vitest-dev/vitest/issues/8813) [<samp>(c37c2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c37c2eb0b)

#####    🐞 Bug Fixes

- Externalize before caching  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9077](https://redirect.github.com/vitest-dev/vitest/issues/9077) [<samp>(e1b2e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e1b2e086a)
- Collect the duration of external imports  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9097](https://redirect.github.com/vitest-dev/vitest/issues/9097) [<samp>(3326c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3326cc9f4)
- Rename `collect` to `import`, remove `prepare`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9091](https://redirect.github.com/vitest-dev/vitest/issues/9091) [<samp>(1256b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1256b5ca3)
- **browser**:
  - Unsubscribe `onCancel` on rpc destroy  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9088](https://redirect.github.com/vitest-dev/vitest/issues/9088) [<samp>(f5b72)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f5b72374b)
  - Revert the viewport scaling in non-ui mode [#&#8203;9018](https://redirect.github.com/vitest-dev/vitest/issues/9018)  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9072](https://redirect.github.com/vitest-dev/vitest/issues/9072) and [#&#8203;9018](https://redirect.github.com/vitest-dev/vitest/issues/9018) [<samp>(64502)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/64502a2c4)
- **coverage**:
  - Invalidate circular modules correctly on rerun with coverage  -  by [@&#8203;aicest](https://redirect.github.com/aicest) in [#&#8203;9096](https://redirect.github.com/vitest-dev/vitest/issues/9096) [<samp>(6f22c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6f22c675f)
- **expect**:
  - Allow function as standard schema  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;9099](https://redirect.github.com/vitest-dev/vitest/issues/9099) [<samp>(ed8a2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ed8a2ebbd)
- **jsdom**:
  - Reuse abort signals if possible  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9090](https://redirect.github.com/vitest-dev/vitest/issues/9090) [<samp>(2c468)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2c468ee95)
- **pool**:
  - Init `VITEST_POOL_ID` + `VITEST_WORKER_ID` before environment setup  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9085](https://redirect.github.com/vitest-dev/vitest/issues/9085) [<samp>(37918)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/379185b40)
- **web-worker**:
  - `postMessage` to send ports to workers  -  by [@&#8203;whitphx](https://redirect.github.com/whitphx) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9078](https://redirect.github.com/vitest-dev/vitest/issues/9078) [<samp>(9d176)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9d1763d11)

#####    🏎 Performance

- Replace `debug` with `obug`  -  by [@&#8203;sxzz](https://redirect.github.com/sxzz) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9057](https://redirect.github.com/vitest-dev/vitest/issues/9057) [<samp>(acc51)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/acc5152b9)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.13...v4.0.14)

### [`v4.0.13`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.13)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.12...v4.0.13)

#####    🐞 Bug Fixes

- **types**:
  - Don't use type from Vite 7.1  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9071](https://redirect.github.com/vitest-dev/vitest/issues/9071) [<samp>(6356b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6356b1d38)
  - Don't import node.js dependent types in vitest/browser  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9068](https://redirect.github.com/vitest-dev/vitest/issues/9068) [<samp>(332af)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/332afa0de)

#####    🏎 Performance

- Avoid fetchModule roundtrip if the module is cached  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9075](https://redirect.github.com/vitest-dev/vitest/issues/9075) [<samp>(b27e0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b27e002e5)
- **experimental**: If `fsCacheModule` is enabled, read from the memory when possible  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9076](https://redirect.github.com/vitest-dev/vitest/issues/9076) [<samp>(6b9a1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6b9a1b5b1)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.12...v4.0.13)

### [`v4.0.12`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.12)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.11...v4.0.12)

#####    🐞 Bug Fixes

- Inherit `fsModuleCachePath` by default  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9063](https://redirect.github.com/vitest-dev/vitest/issues/9063) [<samp>(9a8bc)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9a8bc78c5)
- Don't import from `@opentelemetry/api` in public types  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9066](https://redirect.github.com/vitest-dev/vitest/issues/9066) [<samp>(e944a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e944a37b7)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.11...v4.0.12)

### [`v4.0.11`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.11)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.10...v4.0.11)

#####    🚀 Experimental Features

- **api**: Add extensible test artifact API  -  by [@&#8203;macarie](https://redirect.github.com/macarie) in [#&#8203;8987](https://redirect.github.com/vitest-dev/vitest/issues/8987) [<samp>(77292)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/772923645)
  - See more at <https://vitest.dev/api/advanced/artifacts>
- **expect**: Provide `task` in `MatchState`  -  by [@&#8203;macarie](https://redirect.github.com/macarie) in [#&#8203;9022](https://redirect.github.com/vitest-dev/vitest/issues/9022) [<samp>(afd1f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/afd1f3e52)
- **experimental**: Support OpenTelemetry traces  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8994](https://redirect.github.com/vitest-dev/vitest/issues/8994) [<samp>(d6d33)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d6d3359dd)
  - See more at <https://vitest.dev/guide/open-telemetry>

#####    🏎 Performance

- **experimental**: Add file system cache  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9026](https://redirect.github.com/vitest-dev/vitest/issues/9026) [<samp>(1b147)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1b1473712)
  - See more at <https://vitest.dev/config/experimental#experimental-fsmodulecache>

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.10...v4.0.11)

### [`v4.0.10`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.10)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.9...v4.0.10)

#####    🐞 Bug Fixes

- Remove `onCancel` when worker is terminated  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9033](https://redirect.github.com/vitest-dev/vitest/issues/9033) [<samp>(6d7f0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6d7f0a99e)
- **browser**:
  - Don't scale the iframe if UI is disabled  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9018](https://redirect.github.com/vitest-dev/vitest/issues/9018) [<samp>(5406e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5406e8ea4)
  - Handle dependency stack traces with external source maps. Resolves: [#&#8203;9003](https://redirect.github.com/vitest-dev/vitest/issues/9003)  -  by [@&#8203;iclectic](https://redirect.github.com/iclectic) in [#&#8203;9016](https://redirect.github.com/vitest-dev/vitest/issues/9016) and [#&#8203;9003](https://redirect.github.com/vitest-dev/vitest/issues/9003) [<samp>(57ae5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/57ae547de)
- **bun**:
  - Parsing of stack trace for bun runtime  -  by [@&#8203;nazarhussain](https://redirect.github.com/nazarhussain) in [#&#8203;9032](https://redirect.github.com/vitest-dev/vitest/issues/9032) [<samp>(f3ec6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f3ec6fcb0)
- **core**:
  - Prevent starting new run when cancelling  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;8991](https://redirect.github.com/vitest-dev/vitest/issues/8991) [<samp>(eb98d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/eb98dd8fd)
- **pool**:
  - Prevent writing to closed worker  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;9023](https://redirect.github.com/vitest-dev/vitest/issues/9023) [<samp>(042c6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/042c60c80)
- **reporters**:
  - Report correct test run duration at the end  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8969](https://redirect.github.com/vitest-dev/vitest/issues/8969) [<samp>(bc3a6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bc3a6921e)
- **ui**:
  - Use execution time from ws reporter (`onFinished`)  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [#&#8203;8975](https://redirect.github.com/vitest-dev/vitest/issues/8975) [<samp>(f56dc)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f56dc0cc4)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.9...v4.0.10)

### [`v4.0.9`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.9)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.8...v4.0.9)

#####    🚀 Experimental Features

- **expect**: Add Set support to toBeOneOf  -  by [@&#8203;tim-we](https://redirect.github.com/tim-we) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8906](https://redirect.github.com/vitest-dev/vitest/issues/8906) [<samp>(a415d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a415d0375)

#####    🐞 Bug Fixes

- **browser**: Add favicon icons to the browser mode ui  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [#&#8203;8972](https://redirect.github.com/vitest-dev/vitest/issues/8972) [<samp>(353ee)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/353ee5bbc)
- **forks**: Increase worker start timeout  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;9027](https://redirect.github.com/vitest-dev/vitest/issues/9027) [<samp>(5e750)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5e750f4ba)
- **jsdom**: Cloned request is an instance of `Request`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8985](https://redirect.github.com/vitest-dev/vitest/issues/8985) [<samp>(506a9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/506a9fd0f)
- **ui**: Collect file/suite/test duration correctly  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [#&#8203;8976](https://redirect.github.com/vitest-dev/vitest/issues/8976) [<samp>(8016d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8016da886)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.8...v4.0.9)

### [`v4.0.8`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.8)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.7...v4.0.8)

#####    🐞 Bug Fixes

- Workaround `noExternal` merging bug on Vite 6  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [#&#8203;8950](https://redirect.github.com/vitest-dev/vitest/issues/8950) [<samp>(bcb13)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bcb132fd4)
- Missed context.d.ts file  -  by [@&#8203;termorey](https://redirect.github.com/termorey) in [#&#8203;8965](https://redirect.github.com/vitest-dev/vitest/issues/8965) [<samp>(9044d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9044d9356)
- Incorrect error message for non-awaited `expect.element()`  -  by [@&#8203;StyleShit](https://redirect.github.com/StyleShit) in [#&#8203;8954](https://redirect.github.com/vitest-dev/vitest/issues/8954) [<samp>(9638d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9638db0f3)
- **browser**: Cleanup frame-ancestors from CSP header at coverage middleware  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [#&#8203;8941](https://redirect.github.com/vitest-dev/vitest/issues/8941) [<samp>(1f730)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1f7303738)
- **deps**: Update all non-major dependencies  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8636](https://redirect.github.com/vitest-dev/vitest/issues/8636) [<samp>(da8b9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/da8b93aa5)
- **forks**: Do not fail with Windows Defender enabled  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8967](https://redirect.github.com/vitest-dev/vitest/issues/8967) [<samp>(c79f4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c79f47c65)
- **runner**: Properly encode Uint8Array body in annotations  -  by [@&#8203;Livan-pro](https://redirect.github.com/Livan-pro) in [#&#8203;8951](https://redirect.github.com/vitest-dev/vitest/issues/8951) [<samp>(997ca)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/997ca5a82)
- **spy**: Copy static properties if spy is initialised with `vi.fn()`, fix types for `vi.spyOn(obj, class)`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8956](https://redirect.github.com/vitest-dev/vitest/issues/8956) [<samp>(75e7f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/75e7fcc51)
- **webdriverio**: When no argument is passed to the .click interaction command, the webdriver command should also have no argument  -  by [@&#8203;julienw](https://redirect.github.com/julienw) in [#&#8203;8937](https://redirect.github.com/vitest-dev/vitest/issues/8937) [<samp>(069e6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/069e6db9b)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.7...v4.0.8)

### [`v4.0.7`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.7)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.6...v4.0.7)

#####    🐞 Bug Fixes

- Bind `process` in case global is overwritten  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;8916](https://redirect.github.com/vitest-dev/vitest/issues/8916) [<samp>(6240d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6240d51a6)
- Create environment once per worker with `isolate: false`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8915](https://redirect.github.com/vitest-dev/vitest/issues/8915) [<samp>(c9078)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c9078a26e)
- Add Locator as a possible element type in `toContainElement()` matcher  -  by [@&#8203;vitalybaev](https://redirect.github.com/vitalybaev) in [#&#8203;8910](https://redirect.github.com/vitest-dev/vitest/issues/8910) and [#&#8203;8927](https://redirect.github.com/vitest-dev/vitest/issues/8927) [<samp>(35a27)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/35a27d4b3)
- **browser**: Inherit `isolate` option, deprecate `browser.isolate`/`browser.fileParallelism`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8890](https://redirect.github.com/vitest-dev/vitest/issues/8890) [<samp>(9d2b4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9d2b4d501)
- **cli**: Parse `--execArgv` as array  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;8924](https://redirect.github.com/vitest-dev/vitest/issues/8924) [<samp>(751c3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/751c3926f)
- **jsdom**: Support `URL.createObjectURL`, `FormData.set(prop, blob)`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8935](https://redirect.github.com/vitest-dev/vitest/issues/8935) [<samp>(a1b73)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a1b7361ab)
- **pool**: Avoid `--require` argument when running in deno  -  by [@&#8203;pi0](https://redirect.github.com/pi0) in [#&#8203;8897](https://redirect.github.com/vitest-dev/vitest/issues/8897) [<samp>(d41fa)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d41fa742f)
- **typecheck**: Handle re-runs outside `tsc`  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;8920](https://redirect.github.com/vitest-dev/vitest/issues/8920) [<samp>(fdb2e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fdb2e7982)

#####    🏎 Performance

- **pool**:
  - Sort test files by project by default  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [#&#8203;8914](https://redirect.github.com/vitest-dev/vitest/issues/8914) [<samp>(680a6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/680a612ea)
- **reporters**:
  - Optimize getting the tests stats  -  by [@&#8203;Connormiha](https://redirect.github.com/Connormiha) in [#&#8203;8908](https://redirect.github.com/vitest-dev/vitest/issues/8908) [<samp>(06d62)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/06d6207fb)
  - Remove unnecessary `Array.from` call  -  by [@&#8203;Connormiha](https://redirect.github.com/Connormiha) in [#&#8203;8907](https://redirect.github.com/vitest-dev/vitest/issues/8907) [<samp>(b6014)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b60149b27)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.6...v4.0.7)

</details>

<details>
<summary>Microsoft/vsce (@&#8203;vscode/vsce)</summary>

### [`v3.7.1`](https://redirect.github.com/microsoft/vscode-vsce/releases/tag/v3.7.1)

[Compare Source](https://redirect.github.com/Microsoft/vsce/compare/v3.7.0...v3.7.1)

#### Changes:

- [#&#8203;1223](https://redirect.github.com/Microsoft/vsce/issues/1223): Bump js-yaml
- [#&#8203;1222](https://redirect.github.com/Microsoft/vsce/issues/1222): Bump glob

This list of changes was [auto generated](https://dev.azure.com/monacotools/Monaco/_build/results?buildId=378097\&view=logs).

### [`v3.7.0`](https://redirect.github.com/microsoft/vscode-vsce/releases/tag/v3.7.0)

[Compare Source](https://redirect.github.com/Microsoft/vsce/compare/v3.6.2...v3.7.0)

#### Changes:

- [#&#8203;1219](https://redirect.github.com/Microsoft/vsce/issues/1219): Remove invalid validation for extension dependencies
- [#&#8203;1212](https://redirect.github.com/Microsoft/vsce/issues/1212): Validate extension dependencies use lowercase letters and warn about deprecated github.copilot
- [#&#8203;1209](https://redirect.github.com/Microsoft/vsce/issues/1209): Bump validator from 13.9.0 to 13.15.20
- [#&#8203;1200](https://redirect.github.com/Microsoft/vsce/issues/1200): Bump tar-fs from 2.1.3 to 2.1.4

This list of changes was [auto generated](https://dev.azure.com/monacotools/Monaco/_build/results?buildId=372155\&view=logs).

</details>

<details>
<summary>alpinejs/alpine (alpinejs)</summary>

### [`v3.15.2`](https://redirect.github.com/alpinejs/alpine/releases/tag/v3.15.2)

[Compare Source](https://redirect.github.com/alpinejs/alpine/compare/v3.15.1...v3.15.2)

#### Changes

- Imrove CSP bundle [#&#8203;4704](https://redirect.github.com/alpinejs/alpine/pull/4704)
- Add `setErrorHandler` [#&#8203;4673](https://redirect.github.com/alpinejs/alpine/pull/4673)

### [`v3.15.1`](https://redirect.github.com/alpinejs/alpine/releases/tag

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xNi4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-12-09 14:39:49 +00: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
renovate[bot] 1395c67b05 chore(deps): lock file maintenance npm packages (#15232) 2025-11-05 20:49:00 +08:00
Boshen 14fe64a935 release(crates): v0.96.0 (#15115) 2025-10-30 15:43:06 +08:00
renovate 2314a2714f chore(deps): lock file maintenance npm packages (#14957)
This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|---|---|
|  |  | lockFileMaintenance | All locks refreshed |  |  |  |  |
| [@babel/core](https://babel.dev/docs/en/next/babel-core) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-core)) | devDependencies | patch | [`7.28.4` -> `7.28.5`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.28.4/7.28.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcore/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcore/7.28.4/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.28.4/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@babel/plugin-transform-exponentiation-operator](https://babel.dev/docs/en/next/babel-plugin-transform-exponentiation-operator) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-exponentiation-operator)) | devDependencies | minor | [`7.27.1` -> `7.28.5`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-exponentiation-operator/7.27.1/7.28.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-exponentiation-operator/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-exponentiation-operator/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-exponentiation-operator/7.27.1/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-exponentiation-operator/7.27.1/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@babel/plugin-transform-logical-assignment-operators](https://babel.dev/docs/en/next/babel-plugin-transform-logical-assignment-operators) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-logical-assignment-operators)) | devDependencies | minor | [`7.27.1` -> `7.28.5`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-logical-assignment-operators/7.27.1/7.28.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-logical-assignment-operators/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-logical-assignment-operators/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-logical-assignment-operators/7.27.1/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-logical-assignment-operators/7.27.1/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@babel/plugin-transform-optional-chaining](https://babel.dev/docs/en/next/babel-plugin-transform-optional-chaining) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-optional-chaining)) | devDependencies | minor | [`7.27.1` -> `7.28.5`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-optional-chaining/7.27.1/7.28.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-optional-chaining/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-optional-chaining/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-optional-chaining/7.27.1/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-optional-chaining/7.27.1/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@babel/plugin-transform-typescript](https://babel.dev/docs/en/next/babel-plugin-transform-typescript) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-typescript)) | dependencies | patch | [`7.28.0` -> `7.28.5`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-typescript/7.28.0/7.28.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-typescript/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-typescript/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-typescript/7.28.0/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-typescript/7.28.0/7.28.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | dependencies | patch | [`11.1.6` -> `11.1.7`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.6/11.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/11.1.6/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/11.1.6/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | dependencies | patch | [`11.1.6` -> `11.1.7`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.6/11.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/11.1.6/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/11.1.6/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | dependencies | patch | [`11.1.6` -> `11.1.7`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/11.1.6/11.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/11.1.6/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/11.1.6/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/testing](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing)) | dependencies | patch | [`11.1.6` -> `11.1.7`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/11.1.6/11.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/11.1.6/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/11.1.6/11.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs) | pnpm.catalog.default | patch | [`3.4.0` -> `3.4.1`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.4.0/3.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.4.0/3.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.4.0/3.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/visitor-keys](https://typescript-eslint.io) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys)) | devDependencies | patch | [`8.46.1` -> `8.46.2`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.46.1/8.46.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.46.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.46.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.46.1/8.46.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.46.1/8.46.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | devDependencies | patch | [`4.0.1` -> `4.0.3`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/4.0.1/4.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/4.0.1/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/4.0.1/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/browser-playwright](https://vitest.dev/guide/browser/playwright) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright)) | devDependencies | patch | [`4.0.1` -> `4.0.3`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser-playwright/4.0.1/4.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser-playwright/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser-playwright/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser-playwright/4.0.1/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser-playwright/4.0.1/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [alpinejs](https://alpinejs.dev) ([source](https://redirect.github.com/alpinejs/alpine/tree/HEAD/packages/alpinejs)) | devDependencies | patch | [`3.15.0` -> `3.15.1`](https://renovatebot.com/diffs/npm/alpinejs/3.15.0/3.15.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/alpinejs/3.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/alpinejs/3.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/alpinejs/3.15.0/3.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/alpinejs/3.15.0/3.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [antd](https://ant.design) ([source](https://redirect.github.com/ant-design/ant-design)) | devDependencies | patch | [`5.27.5` -> `5.27.6`](https://renovatebot.com/diffs/npm/antd/5.27.5/5.27.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/antd/5.27.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/antd/5.27.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/antd/5.27.5/5.27.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/antd/5.27.5/5.27.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [emnapi](https://redirect.github.com/toyobayashi/emnapi) | devDependencies | minor | [`1.5.0` -> `1.6.0`](https://renovatebot.com/diffs/npm/emnapi/1.5.0/1.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/emnapi/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/emnapi/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/emnapi/1.5.0/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/emnapi/1.5.0/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [es-toolkit](https://es-toolkit.dev) ([source](https://redirect.github.com/toss/es-toolkit)) | devDependencies | minor | [`1.40.0` -> `1.41.0`](https://renovatebot.com/diffs/npm/es-toolkit/1.40.0/1.41.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/es-toolkit/1.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/es-toolkit/1.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/es-toolkit/1.40.0/1.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/es-toolkit/1.40.0/1.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | devDependencies | patch | [`20.0.7` -> `20.0.8`](https://renovatebot.com/diffs/npm/happy-dom/20.0.7/20.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/20.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/20.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/20.0.7/20.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/20.0.7/20.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [immer](https://redirect.github.com/immerjs/immer) | devDependencies | minor | [`10.1.3` -> `10.2.0`](https://renovatebot.com/diffs/npm/immer/10.1.3/10.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/immer/10.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/immer/10.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/immer/10.1.3/10.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/immer/10.1.3/10.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | packageManager | minor | [`10.18.3` -> `10.19.0`](https://renovatebot.com/diffs/npm/pnpm/10.18.3/10.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/10.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/10.18.3/10.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.18.3/10.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [tsdown](https://redirect.github.com/rolldown/tsdown) | devDependencies | patch | [`0.15.8` -> `0.15.10`](https://renovatebot.com/diffs/npm/tsdown/0.15.8/0.15.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.15.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.15.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.15.8/0.15.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.15.8/0.15.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://vitest.dev) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | devDependencies | patch | [`4.0.1` -> `4.0.3`](https://renovatebot.com/diffs/npm/vitest/4.0.1/4.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/4.0.1/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.0.1/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [publint](https://publint.dev) ([source](https://redirect.github.com/publint/publint/tree/HEAD/packages/publint)) | pnpm.catalog.default | patch | [`0.3.14` -> `0.3.15`](https://renovatebot.com/diffs/npm/publint/0.3.14/0.3.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/publint/0.3.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/publint/0.3.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/publint/0.3.14/0.3.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/publint/0.3.14/0.3.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://vitest.dev) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | pnpm.catalog.default | patch | [`4.0.1` -> `4.0.3`](https://renovatebot.com/diffs/npm/vitest/4.0.1/4.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/4.0.1/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.0.1/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [rolldown](https://rolldown.rs/) ([source](https://redirect.github.com/rolldown/rolldown/tree/HEAD/packages/rolldown)) | devDependencies | patch | [`1.0.0-beta.43` -> `1.0.0-beta.44`](https://renovatebot.com/diffs/npm/rolldown/1.0.0-beta.43/1.0.0-beta.44) | [![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.0.0-beta.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.0.0-beta.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.0.0-beta.43/1.0.0-beta.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.0.0-beta.43/1.0.0-beta.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/core)</summary>

### [`v7.28.5`](https://redirect.github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7285-2025-10-23)

[Compare Source](https://redirect.github.com/babel/babel/compare/v7.28.4...v7.28.5)

##### 👓 Spec Compliance

- `babel-parser`
  - [#&#8203;17446](https://redirect.github.com/babel/babel/pull/17446) Allow `Runtime Errors for Function Call Assignment Targets` ([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))
- `babel-helper-validator-identifier`
  - [#&#8203;17501](https://redirect.github.com/babel/babel/pull/17501) fix: update identifier to unicode 17 ([@&#8203;fisker](https://redirect.github.com/fisker))

##### 🐛 Bug Fix

- `babel-plugin-proposal-destructuring-private`
  - [#&#8203;17534](https://redirect.github.com/babel/babel/pull/17534) Allow mixing private destructuring and rest ([@&#8203;CO0Ki3](https://redirect.github.com/CO0Ki3))
- `babel-parser`
  - [#&#8203;17521](https://redirect.github.com/babel/babel/pull/17521) Improve `@babel/parser` error typing ([@&#8203;JLHwung](https://redirect.github.com/JLHwung))
  - [#&#8203;17491](https://redirect.github.com/babel/babel/pull/17491) fix: improve ts-only declaration parsing ([@&#8203;JLHwung](https://redirect.github.com/JLHwung))
- `babel-plugin-proposal-discard-binding`, `babel-plugin-transform-destructuring`
  - [#&#8203;17519](https://redirect.github.com/babel/babel/pull/17519) fix: `rest` correctly returns plain array ([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))
- `babel-helper-create-class-features-plugin`, `babel-helper-member-expression-to-functions`, `babel-plugin-transform-block-scoping`, `babel-plugin-transform-optional-chaining`, `babel-traverse`, `babel-types`
  - [#&#8203;17503](https://redirect.github.com/babel/babel/pull/17503) Fix `JSXIdentifier` handling in `isReferencedIdentifier` ([@&#8203;JLHwung](https://redirect.github.com/JLHwung))
- `babel-traverse`
  - [#&#8203;17504](https://redirect.github.com/babel/babel/pull/17504) fix: ensure scope.push register in anonymous fn ([@&#8203;JLHwung](https://redirect.github.com/JLHwung))

##### 🏠 Internal

- `babel-types`
  - [#&#8203;17494](https://redirect.github.com/babel/babel/pull/17494) Type checking babel-types scripts ([@&#8203;JLHwung](https://redirect.github.com/JLHwung))

##### :running\_woman: Performance

- `babel-core`
  - [#&#8203;17490](https://redirect.github.com/babel/babel/pull/17490) Faster finding of locations in `buildCodeFrameError` ([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/common)</summary>

### [`v11.1.7`](https://redirect.github.com/nestjs/nest/compare/v11.1.6...ee1b3475551e9173b51381211f058298be504a6a)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.1.6...v11.1.7)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/core)</summary>

### [`v11.1.7`](https://redirect.github.com/nestjs/nest/compare/v11.1.6...ee1b3475551e9173b51381211f058298be504a6a)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.1.6...v11.1.7)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-express)</summary>

### [`v11.1.7`](https://redirect.github.com/nestjs/nest/compare/v11.1.6...ee1b3475551e9173b51381211f058298be504a6a)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.1.6...v11.1.7)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/testing)</summary>

### [`v11.1.7`](https://redirect.github.com/nestjs/nest/compare/v11.1.6...ee1b3475551e9173b51381211f058298be504a6a)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.1.6...v11.1.7)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.4.1`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.4.1)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.4.0...@napi-rs/cli@3.4.1)

##### Bug Fixes

- **cli:** remove createRequire in cjs binding ([#&#8203;2976](https://redirect.github.com/napi-rs/napi-rs/issues/2976)) ([c388c12](https://redirect.github.com/napi-rs/napi-rs/commit/c388c120cfefbe40b16176615840203e3e1c6e75))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/visitor-keys)</summary>

### [`v8.46.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8462-2025-10-20)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.46.1...v8.46.2)

This was a version bump only for visitor-keys to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>vitest-dev/vitest (@&#8203;vitest/browser)</summary>

### [`v4.0.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.3)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3)

#####    🐞 Bug Fixes

- Preserve reporter options from config when CLI reporters override them  -  by [@&#8203;Copilot](https://redirect.github.com/Copilot) and **sheremet-va** in [#&#8203;8794](https://redirect.github.com/vitest-dev/vitest/issues/8794) [<samp>(15552)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/155521a85)
- **browser**: More stable in-source testing validation  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8793](https://redirect.github.com/vitest-dev/vitest/issues/8793) [<samp>(62297)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/622977e61)
- **happy-dom**: Support fetch globals  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8791](https://redirect.github.com/vitest-dev/vitest/issues/8791) [<samp>(0fb74)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0fb74bd3b)
- **init**: Use correct jsx/tsx extension  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8792](https://redirect.github.com/vitest-dev/vitest/issues/8792) [<samp>(abc04)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/abc046f95)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3)

### [`v4.0.2`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.2)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2)

#####    🐞 Bug Fixes

- **browser**:
  - Don't print the deprecation notice in node\_modules  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8779](https://redirect.github.com/vitest-dev/vitest/issues/8779) [<samp>(588f7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/588f76858)
- **pool**:
  - Assign envs before running tests to keep in sync with process.env  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8769](https://redirect.github.com/vitest-dev/vitest/issues/8769) [<samp>(26ce8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/26ce88db6)
- **spy**:
  - Properly inherit implementation's `length`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8778](https://redirect.github.com/vitest-dev/vitest/issues/8778) [<samp>(d4c2b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d4c2b280b)
  - Reset spies if both `restoreMocks` and `mockReset` are set in the config  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [#&#8203;8781](https://redirect.github.com/vitest-dev/vitest/issues/8781) [<samp>(2eedb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2eedbce76)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2)

</details>

<details>
<summary>alpinejs/alpine (alpinejs)</summary>

### [`v3.15.1`](https://redirect.github.com/alpinejs/alpine/releases/tag/v3.15.1)

[Compare Source](https://redirect.github.com/alpinejs/alpine/compare/v3.15.0...v3.15.1)

#### Changed

- `x-sort` improvements
- CSP build `allowGlobals` now defaults to `false` instead of `true`

</details>

<details>
<summary>ant-design/ant-design (antd)</summary>

### [`v5.27.6`](https://redirect.github.com/ant-design/ant-design/releases/tag/5.27.6)

[Compare Source](https://redirect.github.com/ant-design/ant-design/compare/5.27.5...5.27.6)

- Table
  - 🐞 Fix Table `pagination.align` is not working. [#&#8203;55316](https://redirect.github.com/ant-design/ant-design/pull/55316)
  - 🛠 Add Table missing useMemo capability to spinProps.  [#&#8203;55344](https://redirect.github.com/ant-design/ant-design/pull/55344)
- 🛠 Refactor Modal useMemo of ConfirmDialog to resolve useMemo invalid where Object.values ​​generates a new array. [#&#8203;55376](https://redirect.github.com/ant-design/ant-design/pull/55376)
- TypeScript
  - 🤖 Add ConfigProvider the `Window` type definition in `getTargetContainer` of . [#&#8203;55313](https://redirect.github.com/ant-design/ant-design/pull/55313)
  - 🤖 Add ConfigProvider the `ShadowRoot` type definition in `getTargetContainer` and `getPopupContainer`. [#&#8203;55278](https://redirect.github.com/ant-design/ant-design/pull/55278) [@&#8203;leshalv](https://redirect.github.com/leshalv)
  - 🤖 Improve Modal type definition. [#&#8203;55371](https://redirect.github.com/ant-design/ant-design/pull/55371)

***

- Table
  - 🐞 修复 Table `pagination.align` 属性失效的问题。[#&#8203;55316](https://redirect.github.com/ant-design/ant-design/pull/55316)
  - 🛠 补充 Table 中 spinProps 的 useMemo 缺失能力。[#&#8203;55344](https://redirect.github.com/ant-design/ant-design/pull/55344)
- 🛠 重构 Modal 中 ConfirmDialog 的 useMemo,以解决 Object.values 生成新数组导致 useMemo 失效的问题。[#&#8203;55376](https://redirect.github.com/ant-design/ant-design/pull/55376)
- TypeScript
  - 🤖 补充 ConfigProvider `getTargetContainer` 中 `Window` 类型定义。[#&#8203;55313](https://redirect.github.com/ant-design/ant-design/pull/55313)
  - 🤖 补充 ConfigProvider 的 `getTargetContainer` 和 `getPopupContainer` 中 `ShadowRoot` 类型定义。[#&#8203;55278](https://redirect.github.com/ant-design/ant-design/pull/55278) [@&#8203;leshalv](https://redirect.github.com/leshalv)
  - 🤖 优化 Modal 中类型定义。[#&#8203;55371](https://redirect.github.com/ant-design/ant-design/pull/55371)

</details>

<details>
<summary>toyobayashi/emnapi (emnapi)</summary>

### [`v1.6.0`](https://redirect.github.com/toyobayashi/emnapi/releases/tag/v1.6.0)

[Compare Source](https://redirect.github.com/toyobayashi/emnapi/compare/v1.5.0...v1.6.0)

#### What's Changed

- feat: added SharedArrayBuffer api by [@&#8203;toyobayashi](https://redirect.github.com/toyobayashi) in [#&#8203;171](https://redirect.github.com/toyobayashi/emnapi/pull/171)
- feat: make napi\_delete\_reference use node\_api\_basic\_env by [@&#8203;toyobayashi](https://redirect.github.com/toyobayashi)  in [#&#8203;170](https://redirect.github.com/toyobayashi/emnapi/pull/170)
- ci: migrate to npm trusted publishing by [@&#8203;toyobayashi](https://redirect.github.com/toyobayashi)  in [#&#8203;168](https://redirect.github.com/toyobayashi/emnapi/pull/168)

**Full Changelog**: <https://github.com/toyobayashi/emnapi/compare/v1.5.0...v1.6.0>

</details>

<details>
<summary>toss/es-toolkit (es-toolkit)</summary>

### [`v1.41.0`](https://redirect.github.com/toss/es-toolkit/blob/HEAD/CHANGELOG.md#Version-v1410)

[Compare Source](https://redirect.github.com/toss/es-toolkit/compare/v1.40.0...v1.41.0)

Released on October 24th, 2025.

- Enhanced `throttle` to preserve `this` context when called as a method.
- Added type guard support for `partition` function.
- Fixed `omit` to support runtime-determined key arrays with proper overloads.
- Fixed `defaults` in compatibility layer to properly handle undefined and null sources.
- Fixed `toSnakeCaseKeys` and `toCamelCaseKeys` to correctly return types for non-plain objects.
- Fixed `toMerged` and `mergeWith` to properly handle shared objects in merge logic.
- Fixed `compat/union` to support array-like objects.
- Fixed `compat/updateWith` to use `get` for value retrieval in updater function.
- Fixed circular import between `isMatch` and `isMatchWith`.
- Fixed `find` and `findLast` by simplifying logic and removing unnecessary checks.
- Fixed `takeRight` by improving test coverage and removing redundant checks.
- Fixed `curry` and `curryRight` by removing unnecessary type assertions.
- Fixed `isEqualWith` and `mapKeys` by removing unnecessary type assertions.
- Improved performance for `meanBy` by removing intermediate array creation.
- Updated build system to use UMD format instead of IIFE for browser builds.
- Fixed numerous documentation examples across compat modules.
- Improved test coverage with additional test cases for edge cases and compatibility.

We sincerely thank [@&#8203;the5thbeatle](https://redirect.github.com/the5thbeatle), [@&#8203;wo-o29](https://redirect.github.com/wo-o29), [@&#8203;hwibaski](https://redirect.github.com/hwibaski), [@&#8203;manudeli](https://redirect.github.com/manudeli), [@&#8203;raon0211](https://redirect.github.com/raon0211), [@&#8203;dayongkr](https://redirect.github.com/dayongkr), [@&#8203;D-Sketon](https://redirect.github.com/D-Sketon), [@&#8203;yoouungyoung](https://redirect.github.com/yoouungyoung), [@&#8203;Dohun-choi](https://redirect.github.com/Dohun-choi), [@&#8203;sukvvon](https://redirect.github.com/sukvvon), [@&#8203;zoulou00](https://redirect.github.com/zoulou00), and [@&#8203;sen2y](https://redirect.github.com/sen2y) for their contributions. We appreciate your great efforts!

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

### [`v20.0.8`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v20.0.8)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v20.0.7...v20.0.8)

##### :construction\_worker\_man: Patch fixes

- Fixes issue where `previousSibling()` and `nextSibling()` didn't work in `HTMLSelectElement`  and `HTMLFormElement` - By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in task [#&#8203;1939](https://redirect.github.com/capricorn86/happy-dom/issues/1939)
- Fixes issue where parsing an item without a permitted parent (e.g. `<tr>`) should be valid inside a `<template>` element - By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in task [#&#8203;1939](https://redirect.github.com/capricorn86/happy-dom/issues/1939)

</details>

<details>
<summary>immerjs/immer (immer)</summary>

### [`v10.2.0`](https://redirect.github.com/immerjs/immer/releases/tag/v10.2.0)

[Compare Source](https://redirect.github.com/immerjs/immer/compare/v10.1.3...v10.2.0)

##### Features

- Optimize Immer performance where possible, introduce `setUseStrictIteration` ([#&#8203;1164](https://redirect.github.com/immerjs/immer/issues/1164)) ([e1996ce](https://redirect.github.com/immerjs/immer/commit/e1996ceb8a3a180c565b7304a4f3c4ce3b1a08ff))

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v10.19.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10190)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.18.3...v10.19.0)

##### Minor Changes

- You can now allow specific versions of dependencies to run postinstall scripts. `onlyBuiltDependencies` now accepts package names with lists of trusted versions. For example:

  ```yaml
  onlyBuiltDependencies:
    - nx@21.6.4 || 21.6.5
    - esbuild@0.25.1
  ```

  Related PR: [#&#8203;10104](https://redirect.github.com/pnpm/pnpm/pull/10104).

- Added support for exact versions in `minimumReleaseAgeExclude` [#&#8203;9985](https://redirect.github.com/pnpm/pnpm/issues/9985).

  You can now list one or more specific versions that pnpm should allow to install, even if those versions don’t satisfy the maturity requirement set by `minimumReleaseAge`. For example:

  ```yaml
  minimumReleaseAge: 1440
  minimumReleaseAgeExclude:
    - nx@21.6.5
    - webpack@4.47.0 || 5.102.1
  ```

</details>

<details>
<summary>rolldown/tsdown (tsdown)</summary>

### [`v0.15.10`](https://redirect.github.com/rolldown/tsdown/releases/tag/v0.15.10)

[Compare Source](https://redirect.github.com/rolldown/tsdown/compare/v0.15.9...v0.15.10)

#####    🚀 Features

- Upgrade rolldown-plugin-dts  -  by [@&#8203;sxzz](https://redirect.github.com/sxzz) [<samp>(e3951)</samp>](https://redirect.github.com/rolldown/tsdown/commit/e395162)
- Add `unrun` as a config loader  -  by [@&#8203;Gugustinette](https://redirect.github.com/Gugustinette) and [@&#8203;sxzz](https://redirect.github.com/sxzz) in [#&#8203;563](https://redirect.github.com/rolldown/tsdown/issues/563) [<samp>(57132)</samp>](https://redirect.github.com/rolldown/tsdown/commit/57132ea)

#####    🐞 Bug Fixes

- **exports**: Correctly generate export paths for nested index files  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [#&#8203;559](https://redirect.github.com/rolldown/tsdown/issues/559) [<samp>(ff946)</samp>](https://redirect.github.com/rolldown/tsdown/commit/ff946bc)

#####     [View changes on GitHub](https://redirect.github.com/rolldown/tsdown/compare/v0.15.9...v0.15.10)

### [`v0.15.9`](https://redirect.github.com/rolldown/tsdown/releases/tag/v0.15.9)

[Compare Source](https://redirect.github.com/rolldown/tsdown/compare/v0.15.8...v0.15.9)

#####    🐞 Bug Fixes

- Update rolldown and migrate from the deprecated API  -  by [@&#8203;ocavue](https://redirect.github.com/ocavue) in [#&#8203;552](https://redirect.github.com/rolldown/tsdown/issues/552) [<samp>(0aedb)</samp>](https://redirect.github.com/rolldown/tsdown/commit/0aedb13)
- Pin rolldown version  -  by [@&#8203;ocavue](https://redirect.github.com/ocavue) in [#&#8203;553](https://redirect.github.com/rolldown/tsdown/issues/553) [<samp>(7752e)</samp>](https://redirect.github.com/rolldown/tsdown/commit/7752efc)

#####     [View changes on GitHub](https://redirect.github.com/rolldown/tsdown/compare/v0.15.8...v0.15.9)

</details>

<details>
<summary>publint/publint (publint)</summary>

### [`v0.3.15`](https://redirect.github.com/publint/publint/blob/HEAD/packages/publint/CHANGELOG.md#0315)

[Compare Source](https://redirect.github.com/publint/publint/compare/publint@0.3.14...publint@0.3.15)

##### Patch Changes

- Skip file existence checks when crawling subpath imports as they may be dev-only and not used after bundling or publish. This check may be improved in the future when publint can scan for files to see if the subpath imports are used. ([`0d72997`](https://redirect.github.com/publint/publint/commit/0d729974120060eece8a93873e7e5a24f909338e))

- Handle `exports["default"]` and `exports['default']` for `CJS_WITH_ESMODULE_DEFAULT_EXPORT` rule ([`8285f77`](https://redirect.github.com/publint/publint/commit/8285f77c939e30698bf44659aee1c76d4e2918c5))

</details>

<details>
<summary>rolldown/rolldown (rolldown)</summary>

### [`v1.0.0-beta.44`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#100-beta44---2025-10-20)

[Compare Source](https://redirect.github.com/rolldown/rolldown/compare/v1.0.0-beta.43...v1.0.0-beta.44)

##### 💥 BREAKING CHANGES

- enable `output.minifyInternalExports` for `format: 'es'` or `minify: true` ([#&#8203;6594](https://redirect.github.com/rolldown/rolldown/issues/6594)) by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- node/options: remove `InputOptions.jsx`, prefer `transform.jsx` always ([#&#8203;6548](https://redirect.github.com/rolldown/rolldown/issues/6548)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)

##### 🚀 Features

- support jsx preset for `transform.jsx` ([#&#8203;6630](https://redirect.github.com/rolldown/rolldown/issues/6630)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_html: align `inject_to_body` function ([#&#8203;6622](https://redirect.github.com/rolldown/rolldown/issues/6622)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_vite\_css\_post\_plugin: tweak `is_legacy` field ([#&#8203;6620](https://redirect.github.com/rolldown/rolldown/issues/6620)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- native-plugin: expose `viteHtmlPlugin` ([#&#8203;6609](https://redirect.github.com/rolldown/rolldown/issues/6609)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- native-plugin: expose `viteCSSPostPlugin` ([#&#8203;6606](https://redirect.github.com/rolldown/rolldown/issues/6606)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- builtin-plugin: expose `viteCSSPlugin` ([#&#8203;6605](https://redirect.github.com/rolldown/rolldown/issues/6605)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_html: complete plugin binding ([#&#8203;6604](https://redirect.github.com/rolldown/rolldown/issues/6604)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_css: support plugin binding ([#&#8203;6598](https://redirect.github.com/rolldown/rolldown/issues/6598)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- add TypedArray constructors to side-effect free globals ([#&#8203;6592](https://redirect.github.com/rolldown/rolldown/issues/6592)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- rolldown\_plugin\_vite\_html: align process src attr logic ([#&#8203;6572](https://redirect.github.com/rolldown/rolldown/issues/6572)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown: support `output.clearDir` to clean up `dir` before build ([#&#8203;6486](https://redirect.github.com/rolldown/rolldown/issues/6486)) by [@&#8203;aprosail](https://redirect.github.com/aprosail)
- dev: return `RolldownOutput` instead of `BindingOutputs` from `onOutput` ([#&#8203;6563](https://redirect.github.com/rolldown/rolldown/issues/6563)) by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- rolldown\_plugin\_vite\_html: align process srcset logic ([#&#8203;6560](https://redirect.github.com/rolldown/rolldown/issues/6560)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_html: align process src function ([#&#8203;6559](https://redirect.github.com/rolldown/rolldown/issues/6559)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_html: align parse secset function ([#&#8203;6558](https://redirect.github.com/rolldown/rolldown/issues/6558)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- node/options: deprecate `dropLabels` and add `transform.dropLabels` ([#&#8203;6557](https://redirect.github.com/rolldown/rolldown/issues/6557)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- node/options: deprecate `keepNames` and add `output.keepNames` ([#&#8203;6556](https://redirect.github.com/rolldown/rolldown/issues/6556)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- node/options: deprecate `profilerNames` and add `output.generatedCode.profilerNames` ([#&#8203;6555](https://redirect.github.com/rolldown/rolldown/issues/6555)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- node/options: deprecate top level `inject` and `define` and add `transform.define`, `transform.inject` ([#&#8203;6544](https://redirect.github.com/rolldown/rolldown/issues/6544)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- rolldown\_plugin\_vite\_html: initialize attributes handle logic ([#&#8203;6543](https://redirect.github.com/rolldown/rolldown/issues/6543)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown: oxc v0.95.0 ([#&#8203;6541](https://redirect.github.com/rolldown/rolldown/issues/6541)) by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- rolldown\_plugin\_vite\_html: align inject css logic ([#&#8203;6528](https://redirect.github.com/rolldown/rolldown/issues/6528)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_html: align modulepreload inject logic ([#&#8203;6526](https://redirect.github.com/rolldown/rolldown/issues/6526)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_html: align css bundle output inject logic ([#&#8203;6524](https://redirect.github.com/rolldown/rolldown/issues/6524)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_html: support inject\_to\_head function ([#&#8203;6522](https://redirect.github.com/rolldown/rolldown/issues/6522)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_html: align emit and delete logic ([#&#8203;6521](https://redirect.github.com/rolldown/rolldown/issues/6521)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_vite\_html: align handle html asset url logic ([#&#8203;6518](https://redirect.github.com/rolldown/rolldown/issues/6518)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- add an example how to transform code and generate sourcemap with `experimental.nativeMagicString` ([#&#8203;6514](https://redirect.github.com/rolldown/rolldown/issues/6514)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- rolldown\_plugin\_vite\_html: align handle inline css logic ([#&#8203;6517](https://redirect.github.com/rolldown/rolldown/issues/6517)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)

##### 🐛 Bug Fixes

- native-plugin: use correct config for assetPlugin ([#&#8203;6638](https://redirect.github.com/rolldown/rolldown/issues/6638)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- no\_color not being respected on reporter ([#&#8203;6615](https://redirect.github.com/rolldown/rolldown/issues/6615)) by [@&#8203;H4ad](https://redirect.github.com/H4ad)
- improve tree shaking for JSON default imports ([#&#8203;6626](https://redirect.github.com/rolldown/rolldown/issues/6626)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- cjs treeshaking removes used code ([#&#8203;6597](https://redirect.github.com/rolldown/rolldown/issues/6597)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- plugin/vite-resolve: return `package_json_path` from resolveId hook ([#&#8203;6434](https://redirect.github.com/rolldown/rolldown/issues/6434)) by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- dev: `should have idx` error happens with `deferSyncScanData` + incremental rebuild ([#&#8203;6568](https://redirect.github.com/rolldown/rolldown/issues/6568)) by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- rolldown: sync scoping properly in pre\_process\_ecma\_ast ([#&#8203;6537](https://redirect.github.com/rolldown/rolldown/issues/6537)) by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- process CJS tree shaking bailout modules before eliminating unused dynamic entries ([#&#8203;6549](https://redirect.github.com/rolldown/rolldown/issues/6549)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- rust/dev: error of `bundler.scan`doesn't get handled ([#&#8203;6547](https://redirect.github.com/rolldown/rolldown/issues/6547)) by [@&#8203;Copilot](https://redirect.github.com/Copilot)
- inline only self referenced json module properties ([#&#8203;6519](https://redirect.github.com/rolldown/rolldown/issues/6519)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- avoid processing native MagicString sourcemap when `sourcemap` is disabled ([#&#8203;6510](https://redirect.github.com/rolldown/rolldown/issues/6510)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🚜 Refactor

- rolldown\_binding: unify `BindingAssetInlineLimit` ([#&#8203;6625](https://redirect.github.com/rolldown/rolldown/issues/6625)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_binding: tweak `BindingAssetPluginConfig` ([#&#8203;6624](https://redirect.github.com/rolldown/rolldown/issues/6624)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- tweak `viteCSSPlugin` config ([#&#8203;6610](https://redirect.github.com/rolldown/rolldown/issues/6610)) by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rust/dev: remove unnecessary bundler cache management of dev engine ([#&#8203;6576](https://redirect.github.com/rolldown/rolldown/issues/6576)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- rust/dev: refactor `TaskInput` into enum to reduce invalid states ([#&#8203;6575](https://redirect.github.com/rolldown/rolldown/issues/6575)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- improve the error message of `ScanStageCache#merge` ([#&#8203;6564](https://redirect.github.com/rolldown/rolldown/issues/6564)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- rust/dev: use `client_id` to check if module is executed for test environment ([#&#8203;6566](https://redirect.github.com/rolldown/rolldown/issues/6566)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- rust/binding: mark napi object that won't be received from js side ([#&#8203;6531](https://redirect.github.com/rolldown/rolldown/issues/6531)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- rust/binding: mark napi object struct that won't be passed to js explicitly ([#&#8203;6525](https://redirect.github.com/rolldown/rolldown/issues/6525)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- rust/binding: use `&str` or `JsString` to avoid unnecessary clone ([#&#8203;6523](https://redirect.github.com/rolldown/rolldown/issues/6523)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- rust/binding: use `&str` to avoid unnecessary clone ([#&#8203;6520](https://redirect.github.com/rolldown/rolldown/issues/6520)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- rust: replace unwrap with expect for better error handling in message sending ([#&#8203;6509](https://redirect.github.com/rolldown/rolldown/issues/6509)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)

##### 📚 Documentation

- add redirect from `/guide/in-depth/` to `/in-depth/` ([#&#8203;6554](https://redirect.github.com/rolldown/rolldown/issues/6554)) by [@&#8203;Copilot](https://redirect.github.com/Copilot)
- guide: polish notable features page ([#&#8203;6535](https://redirect.github.com/rolldown/rolldown/issues/6535)) by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- builtin-plugins: add replace plugin docs ([#&#8203;6534](https://redirect.github.com/rolldown/rolldown/issues/6534)) by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- add `Additional Thanks` in `acknowledgements` page ([#&#8203;6507](https://redirect.github.com/rolldown/rolldown/issues/6507)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- polish doc for `experimental.nativeMagicString` ([#&#8203;6504](https://redirect.github.com/rolldown/rolldown/issues/6504)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### ⚡ Performance

- cli: advance `createTokioRuntime` ([#&#8203;6618](https://redirect.github.com/rolldown/rolldown/issues/6618)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- rolldown: reduce unnecessary Vec allocate ([#&#8203;6601](https://redirect.github.com/rolldown/rolldown/issues/6601)) by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- rolldown: make derived assets generation more parallel ([#&#8203;6600](https://redirect.github.com/rolldown/rolldown/issues/6600)) by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- rolldown: make chunks generation more parallel ([#&#8203;6599](https://redirect.github.com/rolldown/rolldown/issues/6599)) by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- rolldown\_utils: only allocate HASH\_PLACEHOLDER\_LEFT once ([#&#8203;6595](https://redirect.github.com/rolldown/rolldown/issues/6595)) by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- rolldown: use oxc-resolver with simd-json ([#&#8203;6591](https://redirect.github.com/rolldown/rolldown/issues/6591)) by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- rolldown: avoid allocate the sourcemap sources on non Windows os ([#&#8203;6590](https://redirect.github.com/rolldown/rolldown/issues/6590)) by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- resolver: use optimized fs.read\_to\_string impl ([#&#8203;6589](https://redirect.github.com/rolldown/rolldown/issues/6589)) by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- deps: upgrade json-escape-simd and add simdutf8 dependency ([#&#8203;6579](https://redirect.github.com/rolldown/rolldown/issues/6579)) by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- rust/dev: remove unncessary clone for `ClientInput` ([#&#8203;6565](https://redirect.github.com/rolldown/rolldown/issues/6565)) by [@&#8203;hyf0](https://redirect.github.com/hyf0)
- visit ast in `cross_module_optimization` stage parallel ([#&#8203;6552](https://redirect.github.com/rolldown/rolldown/issues/6552)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🧪 Testing

- json module prop conflict with normal module declaration binding ([#&#8203;6540](https://redirect.github.com/rolldown/rolldown/issues/6540)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- vite-tests: fix rolldown overrides ([#&#8203;6532](https://redirect.github.com/rolldown/rolldown/issues/6532)) by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)

##### ⚙️ Miscellaneous Tasks

- remove string conversion warning in `replacePlugin` to compatible with rollup ([#&#8203;6639](https://redirect.github.com/rolldown/rolldown/issues/6639)) by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- deps: update dependency dprint-json to v0.21.0 ([#&#8203;6637](https://redirect.github.com/rolldown/rolldown/issues/6637)) by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: lock file maintenance ([#&#8203;6635](https://redirect.github.com/rolldown/rolldown/issues/6635)) by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: lock file maintenance npm packages ([#&#8203;6632](https://redirect.github.com/rolldown/rolldown/issues/6632)) by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- node: use built-in styleText ([#&#8203;6340](https://redirect.github.com/rolldown/rolldown/issues/6340)) by [@&#8203;dumbmatter](https://redirect.github.com/dumbmatter)
- deps: update actions/setup-node action to v6 ([#&#8203;6629](https://redirect.github.com/rolldown/rolldown/issues/6629)) by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update github-actions ([#&#8203;6628](https://redirect.github.com/rolldown/rolldown/issues/6628)) by

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 9am on monday" in timezone Asia/Shanghai, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2025-10-27 04:59:00 +00: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
overlookmotel 52f35c6dcd refactor(napi/parser, linter/plugins): rename types.js to type_ids.js (#14384)
Pure refactor. Just rename generated `types.js` files to `type_ids.js`. This name better describes what the files contain, and it avoids naming clash with `types.d.ts` in `apps/oxlint/src-js/generated`.
2025-10-06 18:55:15 +00:00
Boshen f88f5f4593 release(crates): v0.94.0 (#14377) 2025-10-06 20:48:05 +08:00
overlookmotel 6374065095 feat(napi/parser): raw transfer support range field (#14319)
Raw transfer support `range` option, adding `range` field to every AST node.
2025-10-04 15:47:47 +00:00
renovate[bot] 6a9dbb5e05 chore(deps): update dependency @codspeed/vitest-plugin to v5 (#14215)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@codspeed/vitest-plugin](https://codspeed.io)
([source](https://redirect.github.com/CodSpeedHQ/codspeed-node)) |
[`^4.0.0` ->
`^5.0.0`](https://renovatebot.com/diffs/npm/@codspeed%2fvitest-plugin/4.0.1/5.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@codspeed%2fvitest-plugin/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@codspeed%2fvitest-plugin/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@codspeed%2fvitest-plugin/4.0.1/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codspeed%2fvitest-plugin/4.0.1/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-node
(@&#8203;codspeed/vitest-plugin)</summary>

###
[`v5.0.0`](https://redirect.github.com/CodSpeedHQ/codspeed-node/releases/tag/v5.0.0)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/codspeed-node/compare/v4.0.1...v5.0.0)

#### 🎉 What's Changed

This major release brings support for our [Walltime
instrument](https://codspeed.io/docs/instruments/walltime), allowing you
to benchmark larger pieces of code more reliably by making use of
CodSpeed's [Macro
Runners](https://codspeed.io/docs/features/macro-runners).

Support for newer versions of `tinybench` and `vitest` have been added.
Feel free to visit our [node.js
documentation](https://codspeed.io/docs/benchmarks/nodejs/overview) for
more details.

Lastly, we now use our common
[instrument-hooks](https://redirect.github.com/CodSpeedHQ/instrument-hooks)
implementation to interact with our instruments.

#### 💥 Breaking Changes

- **tinybench**: Support for versions below v4 has been dropped. You
must upgrade to tinybench v4 or above.
⚠️ Since tinybench v4 drops support for CJS, ES modules are now required
to use the library.

#### 🚀 Migration Path

This is a **breaking change** because we updated the compatible versions
of underlying benchmarking libraries.\
For example, support for tinybench v3 and below has been dropped. We
recommend upgrading to tinybench v4 or above.

We recommend creating a dedicated PR to update your dependencies, and
create a new performance baseline for your code.

#### 📚 Details

- Bump node, bump tinybench, and add support of walltime runs for
tinybench by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in
[#&#8203;48](https://redirect.github.com/CodSpeedHQ/codspeed-node/pull/48)
- Add walltime support for vitest plugin by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in
[#&#8203;49](https://redirect.github.com/CodSpeedHQ/codspeed-node/pull/49)
- chore: bump vitest and rollup dev dependencies by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in
[#&#8203;52](https://redirect.github.com/CodSpeedHQ/codspeed-node/pull/52)

**Full Changelog**:
<https://github.com/CodSpeedHQ/codspeed-node/compare/v4.0.1...v5.0.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 9am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-28 20:54:47 +00: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 bb040bc2d5 refactor(parser, linter): replace .mjs files with .js (#14045)
Now that `apps/oxlint` and `napi/parser` are both ESM packages (#13723 and #14042), we can use `.js` file extensions for all ESM files, rather than the mix of `.js` and `.mjs` file we had previously.

It's less confusing having to remember what's `.js` and what's `.mjs`, and avoids ugly workarounds like #14038 (`.d.mts`??).
2025-09-23 14:47:40 +00:00
overlookmotel b1da5d5ce6 feat(napi/parser)!: change oxc-parser to ESM (#14042)
Completion of the work begun in #13432. Make `oxc-parser` package fully ESM.

Aside from adding `"type": "module"` to `package.json`, only other change required is renaming `webcontainer-fallback.js` -> `webcontainer-fallback.cjs`. All other files already have the extension matching their ESM/CommonJS content.
2025-09-23 14:28:31 +00:00
Daniel Roe 1f4be382a8 fix(napi/parser): generate .d.mts extension for types (#14038)
the latest version of `oxc-parser` (on npm) does not have resolvable
types because the entry is `.mjs` and the types are `.d.ts` (these need
to match - `.d.mts`). you can see this in the failing CI for [this
renovate
PR](https://github.com/nuxt/nuxt/actions/runs/17940186619/job/51014702361?pr=33290)
but I'm happy to provide a more minimal reproduction if it helps

I also spotted that `napi/parser/test/visit.test.ts` was importing
`visitorKeys` which was not exported from the corresponding declaration,
so took the liberty to add that export as well.

let me know if this needs any changes 🙏 

I hope it helps

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: overlookmotel <theoverlookmotel@gmail.com>
2025-09-23 11:53:20 +01:00