Commit Graph

621 Commits

Author SHA1 Message Date
renovate[bot] efebf4c824 chore(deps): update npm packages (#25753)
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://napi.rs/)
([source](https://redirect.github.com/napi-rs/napi-rs/tree/HEAD/wasm-runtime))
| [`1.2.2` →
`1.2.3`](https://renovatebot.com/diffs/npm/@napi-rs%2fwasm-runtime/1.2.2/1.2.3)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fwasm-runtime/1.2.3?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fwasm-runtime/1.2.3?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fwasm-runtime/1.2.2/1.2.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fwasm-runtime/1.2.2/1.2.3?slim=true)
|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`8.66.0` →
`8.67.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.66.0/8.67.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.67.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.67.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.66.0/8.67.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.66.0/8.67.0?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.66.0` →
`8.67.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.66.0/8.67.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fscope-manager/8.67.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fscope-manager/8.67.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fscope-manager/8.66.0/8.67.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fscope-manager/8.66.0/8.67.0?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.66.0` →
`8.67.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.66.0/8.67.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.67.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.67.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.66.0/8.67.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.66.0/8.67.0?slim=true)
|
| [degit](https://redirect.github.com/Rich-Harris/degit) | [`3.6.6` →
`3.7.0`](https://renovatebot.com/diffs/npm/degit/3.6.6/3.7.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/degit/3.7.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/degit/3.7.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/degit/3.6.6/3.7.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/degit/3.6.6/3.7.0?slim=true)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`10.8.0` →
`10.8.1`](https://renovatebot.com/diffs/npm/eslint/10.8.0/10.8.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.8.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/10.8.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/10.8.0/10.8.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/10.8.0/10.8.1?slim=true)
|
|
[serialize-javascript](https://redirect.github.com/yahoo/serialize-javascript)
| [`7.0.7` →
`7.1.0`](https://renovatebot.com/diffs/npm/serialize-javascript/7.0.7/7.1.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/serialize-javascript/7.1.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/serialize-javascript/7.1.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/serialize-javascript/7.0.7/7.1.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/serialize-javascript/7.0.7/7.1.0?slim=true)
|
| [svelte](https://svelte.dev)
([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte))
| [`5.56.8` →
`5.56.9`](https://renovatebot.com/diffs/npm/svelte/5.56.8/5.56.9) |
![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.56.9?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svelte/5.56.9?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svelte/5.56.8/5.56.9?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.56.8/5.56.9?slim=true)
|
| [tsx](https://tsx.hirok.io)
([source](https://redirect.github.com/privatenumber/tsx)) | [`4.23.9` →
`4.23.12`](https://renovatebot.com/diffs/npm/tsx/4.23.9/4.23.12) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsx/4.23.12?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsx/4.23.12?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsx/4.23.9/4.23.12?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsx/4.23.9/4.23.12?slim=true)
|

---

### Release Notes

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

###
[`v1.2.3`](https://redirect.github.com/napi-rs/napi-rs/blob/HEAD/wasm-runtime/CHANGELOG.md#123-2026-08-12)

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

##### Bug Fixes

- **cli:** compatible with emnapi v1 & v2
([#&#8203;3454](https://redirect.github.com/napi-rs/napi-rs/issues/3454))
([aeba312](https://redirect.github.com/napi-rs/napi-rs/commit/aeba31217201e96435848fd17055478ff7cf8b98))
- **deps:** update emnapi to v2.0.0-alpha.4
([#&#8203;3451](https://redirect.github.com/napi-rs/napi-rs/issues/3451))
([b8ba732](https://redirect.github.com/napi-rs/napi-rs/commit/b8ba732c4611a54dde09dfe3da750f50726b51d9))

</details>

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

###
[`v8.67.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8670-2026-08-10)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0)
for more information.

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/scope-manager)</summary>

###
[`v8.67.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8670-2026-08-10)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0)
for more information.

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.67.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8670-2026-08-10)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0)
for more information.

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>Rich-Harris/degit (degit)</summary>

###
[`v3.7.0`](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.6...v3.7.0)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.6...v3.7.0)

</details>

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

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

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.8.0...v10.8.1)

#### Bug Fixes

-
[`18eb0a7`](https://redirect.github.com/eslint/eslint/commit/18eb0a7e787b9fac3049ef3dad0e845d2bd940a4)
fix: prevent ASI hazard in `no-unused-labels` autofix
([#&#8203;21173](https://redirect.github.com/eslint/eslint/issues/21173))
(dongkyu lee)
-
[`151ba3f`](https://redirect.github.com/eslint/eslint/commit/151ba3f5834a0909e8b9b1736f4889ac694c0104)
fix: false positives in `getter-return` and `accessor-pairs`
([#&#8203;21163](https://redirect.github.com/eslint/eslint/issues/21163))
(Grit)
-
[`6898df9`](https://redirect.github.com/eslint/eslint/commit/6898df9364639ee64b9448a4cb6b08a30c16bd37)
fix: ignore meta-property names in `id-denylist`
([#&#8203;21166](https://redirect.github.com/eslint/eslint/issues/21166))
(Pixel)
-
[`4d7db66`](https://redirect.github.com/eslint/eslint/commit/4d7db6628e2badf0857cb88734fe641c3874bce9)
fix: ignore meta-property names in `id-match`
([#&#8203;21167](https://redirect.github.com/eslint/eslint/issues/21167))
(Pixel)
-
[`677214e`](https://redirect.github.com/eslint/eslint/commit/677214e7eea83d8bc6e4b79eea871577e1369d5f)
fix: handle ASI hazards in no-unused-vars removeVar suggestion
([#&#8203;20935](https://redirect.github.com/eslint/eslint/issues/20935))
(kuldeep kumar)

#### Documentation

-
[`7d0cbf8`](https://redirect.github.com/eslint/eslint/commit/7d0cbf81cfdb7526b5c4cb7b222ddc7f257db560)
docs: Update README (GitHub Actions Bot)
-
[`0a05812`](https://redirect.github.com/eslint/eslint/commit/0a05812adb12598b32e85297b98df5ad14501d60)
docs: add missing backticks to `no-duplicate-imports.js`
([#&#8203;21183](https://redirect.github.com/eslint/eslint/issues/21183))
(Lee Daeun)
-
[`678c90b`](https://redirect.github.com/eslint/eslint/commit/678c90b55da2889d4400cbf6e2584ab683faf202)
docs: Update README (GitHub Actions Bot)
-
[`8a10424`](https://redirect.github.com/eslint/eslint/commit/8a104242e8e1c5614940fab7324346974cff7d26)
docs: Update README (GitHub Actions Bot)
-
[`69bb948`](https://redirect.github.com/eslint/eslint/commit/69bb948061105426dbe6e3c931fcda783286e020)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`0a14800`](https://redirect.github.com/eslint/eslint/commit/0a148005051fded2ef1d14cc228ae505251b4b10)
chore: update github/codeql-action action to v4.37.4
([#&#8203;21196](https://redirect.github.com/eslint/eslint/issues/21196))
(renovate\[bot])
-
[`05adcb1`](https://redirect.github.com/eslint/eslint/commit/05adcb13542061dc7fadde5cd58d23d405a96d93)
test: fix failing ecosystem test for `eslint-plugin-unicorn`
([#&#8203;21191](https://redirect.github.com/eslint/eslint/issues/21191))
(Lazizbek Ergashev)
-
[`5611035`](https://redirect.github.com/eslint/eslint/commit/56110356652dd614b3cf0933538abb551fc6bd6f)
test: add error locations info to `no-void`
([#&#8203;21185](https://redirect.github.com/eslint/eslint/issues/21185))
(Lee Daeun)
-
[`ee47333`](https://redirect.github.com/eslint/eslint/commit/ee47333aa681cfc3cb54df08c38f211ea219cc2a)
ci: bump github/codeql-action from 4 to 4.37.3
([#&#8203;21176](https://redirect.github.com/eslint/eslint/issues/21176))
(dependabot\[bot])
-
[`f131c03`](https://redirect.github.com/eslint/eslint/commit/f131c034ad91bbf06bcbb6b5e931447a8e419a46)
chore: improve ecosystem test failure reporting
([#&#8203;20937](https://redirect.github.com/eslint/eslint/issues/20937))
(crimsonjay0)
-
[`1f6edde`](https://redirect.github.com/eslint/eslint/commit/1f6eddee609b369b50993eab08d437dda4700991)
chore: update ecosystem plugins
([#&#8203;21182](https://redirect.github.com/eslint/eslint/issues/21182))
(ESLint Bot)
-
[`d3266fb`](https://redirect.github.com/eslint/eslint/commit/d3266fb26c719c6b90a6cbe54bb120c9335ad19c)
chore: unpin `webpack` dependency
([#&#8203;21172](https://redirect.github.com/eslint/eslint/issues/21172))
(Francesco Trotta)
-
[`65a6519`](https://redirect.github.com/eslint/eslint/commit/65a6519cc8733b4688558a8611397cf9d01dd55d)
chore: add allowScripts field to package.json
([#&#8203;21092](https://redirect.github.com/eslint/eslint/issues/21092))
(GiHoon Noh)
-
[`22e5256`](https://redirect.github.com/eslint/eslint/commit/22e52568536e0009d4493dc888736bc163220c4b)
ci: add `triage:no` label to Dependabot PRs
([#&#8203;21141](https://redirect.github.com/eslint/eslint/issues/21141))
(lumir)
-
[`55c9038`](https://redirect.github.com/eslint/eslint/commit/55c9038836c91b6bd5617f0c97bea2274c9cc0bf)
ci: bump actions/labeler from 6 to 7
([#&#8203;21159](https://redirect.github.com/eslint/eslint/issues/21159))
(dependabot\[bot])
-
[`7280e78`](https://redirect.github.com/eslint/eslint/commit/7280e78183d4711a49916b6a49ba5efaa651a991)
chore: update dependency prettier to v3.9.6
([#&#8203;21162](https://redirect.github.com/eslint/eslint/issues/21162))
(renovate\[bot])
-
[`eddbad6`](https://redirect.github.com/eslint/eslint/commit/eddbad60158d8cda86830fbe934a9d2282273b32)
test: fix failing ecosystem test for `eslint-plugin-unicorn`
([#&#8203;21156](https://redirect.github.com/eslint/eslint/issues/21156))
(Francesco Trotta)
-
[`60a178d`](https://redirect.github.com/eslint/eslint/commit/60a178d5ef1b0c471be0831031ed7347f8f81dc2)
chore: update ecosystem plugins
([#&#8203;21150](https://redirect.github.com/eslint/eslint/issues/21150))
(ESLint Bot)
-
[`f9f61dc`](https://redirect.github.com/eslint/eslint/commit/f9f61dc6112836f46a58a410c38b8c2faf10973f)
test: add error locations to `no-unreachable`
([#&#8203;21151](https://redirect.github.com/eslint/eslint/issues/21151))
(JIYEON)
-
[`d086293`](https://redirect.github.com/eslint/eslint/commit/d08629382b0a6aaa042823b796e5100e60053b54)
test: add error locations to `no-undef`
([#&#8203;21147](https://redirect.github.com/eslint/eslint/issues/21147))
(JIYEON)
-
[`cc01b67`](https://redirect.github.com/eslint/eslint/commit/cc01b67061bbf558aa25746883ea1cad847f7cf2)
test: add error locations to `no-useless-catch`
([#&#8203;21144](https://redirect.github.com/eslint/eslint/issues/21144))
(devoil)
-
[`688e75e`](https://redirect.github.com/eslint/eslint/commit/688e75ede01b295d51f2f86c9d82da020a4c887e)
chore: add missing backticks in JSDoc
([#&#8203;21143](https://redirect.github.com/eslint/eslint/issues/21143))
(Bo Hyun Kim)
-
[`7c1e175`](https://redirect.github.com/eslint/eslint/commit/7c1e17543ad396f50f65b003cf9142d43d3c63b0)
test: add error locations to `require-await`
([#&#8203;21145](https://redirect.github.com/eslint/eslint/issues/21145))
(Grit)
-
[`588a26d`](https://redirect.github.com/eslint/eslint/commit/588a26ddce3c5a20f5b3f3d51ba1353cce7b4b0c)
test: add error locations to `no-extra-label`
([#&#8203;21139](https://redirect.github.com/eslint/eslint/issues/21139))
(dongkyu lee)
-
[`059aa89`](https://redirect.github.com/eslint/eslint/commit/059aa895743639e3ab53d14f9d944ff4be042233)
test: add error locations to `no-useless-concat`
([#&#8203;21140](https://redirect.github.com/eslint/eslint/issues/21140))
(dongkyu lee)
-
[`5a452a8`](https://redirect.github.com/eslint/eslint/commit/5a452a8ba53917d65c9d83c3959ed35c2f890613)
test: add error locations to `no-const-assign`
([#&#8203;21138](https://redirect.github.com/eslint/eslint/issues/21138))
(dongkyu lee)

</details>

<details>
<summary>yahoo/serialize-javascript (serialize-javascript)</summary>

###
[`v7.1.0`](https://redirect.github.com/yahoo/serialize-javascript/releases/tag/v7.1.0)

[Compare
Source](https://redirect.github.com/yahoo/serialize-javascript/compare/v7.0.7...v7.1.0)

#### What's Changed

- feat: add Node.js 26 to test matrix by
[@&#8203;okuryu](https://redirect.github.com/okuryu) in
[#&#8203;224](https://redirect.github.com/yahoo/serialize-javascript/pull/224)
- release: v7.1.0 by
[@&#8203;okuryu](https://redirect.github.com/okuryu) in
[#&#8203;225](https://redirect.github.com/yahoo/serialize-javascript/pull/225)

**Full Changelog**:
<https://github.com/yahoo/serialize-javascript/compare/v7.0.7...v7.1.0>

</details>

<details>
<summary>sveltejs/svelte (svelte)</summary>

###
[`v5.56.9`](https://redirect.github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5569)

[Compare
Source](https://redirect.github.com/sveltejs/svelte/compare/svelte@5.56.8...svelte@5.56.9)

##### Patch Changes

- fix: skip controlled each fast path while another batch is pending
([#&#8203;18625](https://redirect.github.com/sveltejs/svelte/pull/18625))

- fix: better whitespace handling inside printer
([#&#8203;18638](https://redirect.github.com/sveltejs/svelte/pull/18638))

- fix: don't duplicate comments in attributes
([#&#8203;18636](https://redirect.github.com/sveltejs/svelte/pull/18636))

- fix: preserve CSS comments in the AST printer
([#&#8203;18637](https://redirect.github.com/sveltejs/svelte/pull/18637))

</details>

<details>
<summary>privatenumber/tsx (tsx)</summary>

###
[`v4.23.12`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.12)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.11...v4.23.12)

##### Bug Fixes

- shim `import.meta` when tokens are split by comments or newlines
([#&#8203;829](https://redirect.github.com/privatenumber/tsx/issues/829))
([ed9d330](https://redirect.github.com/privatenumber/tsx/commit/ed9d33046a135de13a35fdfce12368b79d1b1518)),
closes
[#&#8203;828](https://redirect.github.com/privatenumber/tsx/issues/828)

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.12)

###
[`v4.23.11`](https://redirect.github.com/privatenumber/tsx/compare/v4.23.10...bd3bc6448e957c1172eb91a0584ec7fec2d6a7ad)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.10...v4.23.11)

###
[`v4.23.10`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.10)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.9...v4.23.10)

##### Bug Fixes

- support nyc coverage discovery
([#&#8203;710](https://redirect.github.com/privatenumber/tsx/issues/710))
([ec1bcd5](https://redirect.github.com/privatenumber/tsx/commit/ec1bcd5f711e5159b67cb0aea211f06cf2cfce8a))

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.10)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4yOS41IiwidXBkYXRlZEluVmVyIjoiNDQuMjkuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-08-17 08:35:47 +00:00
Boshen 1c4f519e36 feat(napi): add Relay transform plugin (#25503)
## What

Ports the Relay `graphql` tagged template transform (babel-plugin-relay / swc_relay) as an individual napi transform, per #24914:

- **`crates/oxc_relay`** — the core transform as its own crate (modeled on `oxc_react_compiler`): replaces `graphql` tagged templates with references to relay-compiler artifacts. Definition names are extracted textually like `swc_relay` (equivalent to `\b(fragment|mutation|query|subscription)\s+(\w+)` with `#` comments stripped; hand-rolled scanner, no regex dependency).
- **`napi/transform-relay`** (`oxc-transform-relay`) — standalone napi package copied from the `napi/transform-react` template: parse → semantic → relay traverse → codegen. Only `graphql` tags are rewritten; TypeScript/JSX syntax is preserved untouched, so the output composes with any downstream toolchain.

## Options

| option | default | behavior |
|---|---|---|
| `artifactDirectory` | unset | when set, the import path is computed lexically relative to the transformed file (babel-plugin-relay `getRelativeImportPath` semantics — swc emits absolute paths instead); unset → `./__generated__/` next to the file |
| `language` | `javascript` | `typescript` imports `Name.graphql.ts`, otherwise `Name.graphql.js` |
| `eagerEsModules` | `true` | hoisted default imports (babel-plugin-relay ≥ v17 parity); `false` emits inline `require()` (`@swc/plugin-relay` / Next.js behavior) |

A `graphql` tag with no extractable definition name produces an error diagnostic (babel throws; swc silently skips).

Not supported, documented in both READMEs: dev-mode artifact hash validation, `jsModuleFormat: "haste"`, `isDevVariableName`, swc's Next.js-specific `projects`/`pagesDir`, and GraphQL document validation.

closes #24914

---

Implemented with Claude Code.
2026-08-13 13:56:01 +00:00
overlookmotel a4478e960a feat(codegen): add oxc-codegen package (#25488)
Add `oxc-codegen` package - a printer written in TS.

### Features

- Prints JS, JSX, TS, TSX.
- Matches `oxc_codegen` exactly on all Test262, TypeScript, Acorn-JSX fixtures.
- Very fast.

### Deficiencies

- Pretty-printing only (no compact/minified output).
- No support for printing comments.
- Source map support is semi-there, but largely untested, and poor API (design doc has some ideas on how to improve it).

### This PR adds

- The printer code.
- Conformance testing infra.
- Further tests for edge cases.
- README.
- Design doc - how it differs from `oxc_codegen` and why, what produces the perf.

### This PR doesn't add

- Not integrated into CI or release pipeline.

### Notes

This started as a slop port of `oxc_codegen`. I've iterated on that base, cleaned it up a lot, and at least skimmed through all of it. I think it's in fairly decent shape.

The design doc is I think worth a read. It explains the rationale for the choices, in particular the "1 codebase, 4 builds" approach.

I've put it in a new top-level directory called `packages`. It's not an app, so didn't seem to me to fit alongside `apps/oxlint` and `apps/oxfmt`. It's pure JS, so not like e.g. `napi/parser`. And it felt too heavyweight to put into `npm` dir. But maybe there's a better place for it.

Co-authored-by: Cameron <cameron.clark@hey.com>
2026-08-12 13:41:31 +00:00
renovate[bot] 460aa50b7d chore(deps): update dependency rolldown to v1.2.4 (#25538)
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/) |
|---|---|---|---|---|---|
| [rolldown](https://rolldown.rs/)
([source](https://redirect.github.com/rolldown/rolldown/tree/HEAD/packages/rolldown))
| [`1.2.3` →
`1.2.4`](https://renovatebot.com/diffs/npm/rolldown/1.2.3/1.2.4) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.4?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.2.4?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.2.3/1.2.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.2.3/1.2.4?slim=true)
|

---

### Release Notes

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

###
[`v1.2.4`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#124---2026-08-12)

[Compare
Source](https://redirect.github.com/rolldown/rolldown/compare/v1.2.3...v1.2.4)

##### 🚀 Features

- code-splitting: widen namespace extraction for already-loaded merges
([#&#8203;10594](https://redirect.github.com/rolldown/rolldown/issues/10594))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🐛 Bug Fixes

- binding: illegal instruction crash on Android arm64
([#&#8203;10638](https://redirect.github.com/rolldown/rolldown/issues/10638))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- code-splitting: stop negated sideEffects globs retaining modules
([#&#8203;10660](https://redirect.github.com/rolldown/rolldown/issues/10660))
by [@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock)
- devtools: resolve log paths against the build cwd
([#&#8203;10622](https://redirect.github.com/rolldown/rolldown/issues/10622))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)

##### 📚 Documentation

- plugin-api: document sourcemap differences from Rollup
([#&#8203;10636](https://redirect.github.com/rolldown/rolldown/issues/10636))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🧪 Testing

- browser: smoke test the packed `@rolldown/browser` in a real browser
page
([#&#8203;10634](https://redirect.github.com/rolldown/rolldown/issues/10634))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- node-wasi: run the full node test suite against the WASI binding
([#&#8203;10616](https://redirect.github.com/rolldown/rolldown/issues/10616))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- webcontainer: smoke test the packed WASI artifacts inside a
WebContainer
([#&#8203;10626](https://redirect.github.com/rolldown/rolldown/issues/10626))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)

##### ⚙️ Miscellaneous Tasks

- deps: update napi
([#&#8203;10649](https://redirect.github.com/rolldown/rolldown/issues/10649))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update esbuild for tests to 0.28.2
([#&#8203;10662](https://redirect.github.com/rolldown/rolldown/issues/10662))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update test262 submodule for tests
([#&#8203;10663](https://redirect.github.com/rolldown/rolldown/issues/10663))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update npm packages
([#&#8203;10653](https://redirect.github.com/rolldown/rolldown/issues/10653))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update github actions
([#&#8203;10651](https://redirect.github.com/rolldown/rolldown/issues/10651))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update crate-ci/typos action to v1.49.0
([#&#8203;10642](https://redirect.github.com/rolldown/rolldown/issues/10642))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency vite-plus to v0.2.9
([#&#8203;10627](https://redirect.github.com/rolldown/rolldown/issues/10627))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crates
([#&#8203;10652](https://redirect.github.com/rolldown/rolldown/issues/10652))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: upgrade oxc to 0.144.0
([#&#8203;10657](https://redirect.github.com/rolldown/rolldown/issues/10657))
by [@&#8203;camc314](https://redirect.github.com/camc314)
- ignore napi-rs temp files
([#&#8203;10658](https://redirect.github.com/rolldown/rolldown/issues/10658))
by [@&#8203;camc314](https://redirect.github.com/camc314)
- deps: tighten `@napi-rs/wasm-runtime` range to `~1.2.2`
([#&#8203;10615](https://redirect.github.com/rolldown/rolldown/issues/10615))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- wasi: point the wasm skips at the right place
([#&#8203;10644](https://redirect.github.com/rolldown/rolldown/issues/10644))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4yNC4wIiwidXBkYXRlZEluVmVyIjoiNDQuMjQuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-12 11:06:26 +00:00
renovate[bot] a7e3c6ae33 chore(deps): update dependency @napi-rs/cli to v3.8.6 (#25521)
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/cli](https://napi.rs/)
([source](https://redirect.github.com/napi-rs/napi-rs)) | [`3.8.5` →
`3.8.6`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.8.5/3.8.6) |
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.8.6?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.8.6?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.8.5/3.8.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.8.5/3.8.6?slim=true)
|

---

### Release Notes

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

###
[`v3.8.6`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.5...@napi-rs/cli@3.8.6)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4yNC4wIiwidXBkYXRlZEluVmVyIjoiNDQuMjQuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-12 04:03:14 +00:00
renovate[bot] 95fe23b4de chore(deps): update dependency vite-plus to v0.2.9 (#25520)
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/) |
|---|---|---|---|---|---|
| [vite-plus](https://viteplus.dev/guide)
([source](https://redirect.github.com/voidzero-dev/vite-plus/tree/HEAD/packages/cli))
| [`0.2.8` →
`0.2.9`](https://renovatebot.com/diffs/npm/vite-plus/0.2.8/0.2.9) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plus/0.2.9?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plus/0.2.9?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plus/0.2.8/0.2.9?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plus/0.2.8/0.2.9?slim=true)
|

---

### Release Notes

<details>
<summary>voidzero-dev/vite-plus (vite-plus)</summary>

###
[`v0.2.9`](https://redirect.github.com/voidzero-dev/vite-plus/releases/tag/v0.2.9):
vite-plus v0.2.9

[Compare
Source](https://redirect.github.com/voidzero-dev/vite-plus/compare/v0.2.8...v0.2.9)

#### vite-plus v0.2.9

##### Published Packages

- `@voidzero-dev/vite-plus-core@0.2.9`
- `vite-plus@0.2.9`

##### Installation

**macOS/Linux:**

```bash
curl -fsSL https://vite.plus | bash
```

**Windows:**

```powershell
irm https://vite.plus/ps1 | iex
```

Or download and run `vp-setup.exe` from the assets below.

View the full commit:
[`73bdd10`](https://redirect.github.com/voidzero-dev/vite-plus/commit/73bdd105c2b7c263b55f7e9b48a37a8933cc317a)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4yNC4wIiwidXBkYXRlZEluVmVyIjoiNDQuMjQuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-12 03:45:11 +00:00
renovate[bot] 2d7a75d46b chore(deps): update oxc to ^0.144.0 (#25483)
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/) |
|---|---|---|---|---|---|
| [@oxc-project/types](https://oxc.rs)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types))
| [`^0.143.0` →
`^0.144.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.143.0/0.144.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.144.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.144.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.143.0/0.144.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.143.0/0.144.0?slim=true)
|
| [oxc-parser](https://oxc.rs/docs/guide/usage/parser)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/napi/parser))
| [`^0.143.0` →
`^0.144.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.143.0/0.144.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/oxc-parser/0.144.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxc-parser/0.144.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxc-parser/0.143.0/0.144.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxc-parser/0.143.0/0.144.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (@&#8203;oxc-project/types)</summary>

###
[`v0.144.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxc-types/CHANGELOG.md#01440---2026-08-10)

##### 💥 BREAKING CHANGES

-
[`44fd320`](https://redirect.github.com/oxc-project/oxc/commit/44fd320)
ast: \[**BREAKING**] Split TS external modules & Namespace Declarations
([#&#8203;25284](https://redirect.github.com/oxc-project/oxc/issues/25284))
(camc314)

</details>

<details>
<summary>oxc-project/oxc (oxc-parser)</summary>

###
[`v0.144.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/napi/parser/CHANGELOG.md#01440---2026-08-10)

##### 💥 BREAKING CHANGES

-
[`a33788e`](https://redirect.github.com/oxc-project/oxc/commit/a33788e)
ast: \[**BREAKING**] Group class heritage into `ClassHeritage`
([#&#8203;25360](https://redirect.github.com/oxc-project/oxc/issues/25360))
(camc314)
-
[`5c5cdcd`](https://redirect.github.com/oxc-project/oxc/commit/5c5cdcd)
ast: \[**BREAKING**] Narrow `TSInterfaceHeritage::expression` to
TSTypeName
([#&#8203;24360](https://redirect.github.com/oxc-project/oxc/issues/24360))
(camc314)
-
[`6be314f`](https://redirect.github.com/oxc-project/oxc/commit/6be314f)
ast: \[**BREAKING**] Remove duplicated `VariableDeclarator::kind`
([#&#8203;25319](https://redirect.github.com/oxc-project/oxc/issues/25319))
(camc314)
-
[`44fd320`](https://redirect.github.com/oxc-project/oxc/commit/44fd320)
ast: \[**BREAKING**] Split TS external modules & Namespace Declarations
([#&#8203;25284](https://redirect.github.com/oxc-project/oxc/issues/25284))
(camc314)

##### 🐛 Bug Fixes

-
[`2a1058a`](https://redirect.github.com/oxc-project/oxc/commit/2a1058a)
napi: Omit parser header from WASI declarations
([#&#8203;25254](https://redirect.github.com/oxc-project/oxc/issues/25254))
(camc314)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-10 13:52:38 +00:00
renovate[bot] 32d0d5a314 chore(deps): update dependency oxlint to v1.78.0 (#25482)
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/) |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs/docs/guide/usage/linter)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint))
| [`1.77.0` →
`1.78.0`](https://renovatebot.com/diffs/npm/oxlint/1.77.0/1.78.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.78.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.78.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.77.0/1.78.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.77.0/1.78.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

###
[`v1.78.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1780---2026-08-10)

[Compare
Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v1.77.0...oxlint_v1.78.0)

##### 🚀 Features

-
[`ccb8fe8`](https://redirect.github.com/oxc-project/oxc/commit/ccb8fe8)
linter/jsdoc: Implement `no-blank-blocks` rule
([#&#8203;25207](https://redirect.github.com/oxc-project/oxc/issues/25207))
(Mikhail Baev)
-
[`d4a897c`](https://redirect.github.com/oxc-project/oxc/commit/d4a897c)
linter/eslint: Implement `one-var` rule
([#&#8203;24470](https://redirect.github.com/oxc-project/oxc/issues/24470))
(Cole Ellison)
-
[`5ab9340`](https://redirect.github.com/oxc-project/oxc/commit/5ab9340)
linter/jsx-a11y/anchor-has-content: Add options to match eslint
([#&#8203;24571](https://redirect.github.com/oxc-project/oxc/issues/24571))
(Cole Ellison)

##### 🐛 Bug Fixes

-
[`9573937`](https://redirect.github.com/oxc-project/oxc/commit/9573937)
linter/typescript: Validate `ban-ts-comment` description\_format
([#&#8203;25320](https://redirect.github.com/oxc-project/oxc/issues/25320))
(Mikhail Baev)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-10 13:51:37 +00:00
renovate[bot] b91dc3a1f1 chore(deps): update napi (#25457)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@napi-rs/cli](https://napi.rs/)
([source](https://redirect.github.com/napi-rs/napi-rs)) | [`3.8.3` →
`3.8.5`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.8.3/3.8.5) |
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.8.5?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.8.5?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.8.3/3.8.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.8.3/3.8.5?slim=true)
| pnpm.catalog.default | patch |
| [napi](https://redirect.github.com/napi-rs/napi-rs) | `3.12.0` →
`3.12.1` |
![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.12.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.12.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.12.0/3.12.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.12.0/3.12.1?slim=true)
| workspace.dependencies | patch |
| [napi-build](https://redirect.github.com/napi-rs/napi-rs) | `2.4.0` →
`2.4.1` |
![age](https://developer.mend.io/api/mc/badges/age/crate/napi-build/2.4.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-build/2.4.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-build/2.4.0/2.4.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-build/2.4.0/2.4.1?slim=true)
| workspace.dependencies | patch |
| [napi-derive](https://redirect.github.com/napi-rs/napi-rs) | `3.6.2` →
`3.6.3` |
![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.6.3?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.6.3?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.6.2/3.6.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.6.2/3.6.3?slim=true)
| workspace.dependencies | patch |

---

### Release Notes

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

###
[`v3.8.5`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.4...a5b5f277ab56e7e7e903b392b15c79da7a6520ce)

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

###
[`v3.8.4`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.3...@napi-rs/cli@3.8.4)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cclark@cloudflare.com>
2026-08-10 08:39:38 +00:00
renovate[bot] 86cd2afc96 chore(deps): update npm packages (#25448)
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://napi.rs/)
([source](https://redirect.github.com/napi-rs/napi-rs/tree/HEAD/wasm-runtime))
| [`1.2.1` →
`1.2.2`](https://renovatebot.com/diffs/npm/@napi-rs%2fwasm-runtime/1.2.1/1.2.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fwasm-runtime/1.2.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fwasm-runtime/1.2.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fwasm-runtime/1.2.1/1.2.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fwasm-runtime/1.2.1/1.2.2?slim=true)
|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`8.65.0` →
`8.66.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.65.0/8.66.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.66.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.66.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.65.0/8.66.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.65.0/8.66.0?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.65.0` →
`8.66.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.65.0/8.66.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fscope-manager/8.66.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fscope-manager/8.66.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fscope-manager/8.65.0/8.66.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fscope-manager/8.65.0/8.66.0?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.65.0` →
`8.66.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.65.0/8.66.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.66.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.66.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.65.0/8.66.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.65.0/8.66.0?slim=true)
|
| [degit](https://redirect.github.com/Rich-Harris/degit) | [`3.6.5` →
`3.6.6`](https://renovatebot.com/diffs/npm/degit/3.6.5/3.6.6) |
![age](https://developer.mend.io/api/mc/badges/age/npm/degit/3.6.6?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/degit/3.6.6?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/degit/3.6.5/3.6.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/degit/3.6.5/3.6.6?slim=true)
|
| [execa](https://redirect.github.com/sindresorhus/execa) | [`10.0.0` →
`10.0.1`](https://renovatebot.com/diffs/npm/execa/10.0.0/10.0.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/execa/10.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/execa/10.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/execa/10.0.0/10.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/execa/10.0.0/10.0.1?slim=true)
|
| [publint](https://publint.dev)
([source](https://redirect.github.com/publint/publint/tree/HEAD/packages/publint))
| [`0.3.22` →
`0.3.23`](https://renovatebot.com/diffs/npm/publint/0.3.22/0.3.23) |
![age](https://developer.mend.io/api/mc/badges/age/npm/publint/0.3.23?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/publint/0.3.23?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/publint/0.3.22/0.3.23?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/publint/0.3.22/0.3.23?slim=true)
|
| [tsx](https://tsx.hirok.io)
([source](https://redirect.github.com/privatenumber/tsx)) | [`4.23.1` →
`4.23.9`](https://renovatebot.com/diffs/npm/tsx/4.23.1/4.23.9) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsx/4.23.9?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsx/4.23.9?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsx/4.23.1/4.23.9?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsx/4.23.1/4.23.9?slim=true)
|

---

### Release Notes

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

###
[`v1.2.2`](https://redirect.github.com/napi-rs/napi-rs/blob/HEAD/wasm-runtime/CHANGELOG.md#122-2026-07-31)

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

##### Performance Improvements

- **wasm-runtime:** remove sourcemap
([#&#8203;3428](https://redirect.github.com/napi-rs/napi-rs/issues/3428))
([0fd17fa](https://redirect.github.com/napi-rs/napi-rs/commit/0fd17fa5f0ba53d15cfb3616428317aa775542e3))

</details>

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

###
[`v8.66.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8660-2026-08-03)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0)
for more information.

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/scope-manager)</summary>

###
[`v8.66.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8660-2026-08-03)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0)
for more information.

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.66.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8660-2026-08-03)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0)
for more information.

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>Rich-Harris/degit (degit)</summary>

###
[`v3.6.6`](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.5...v3.6.6)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.5...v3.6.6)

</details>

<details>
<summary>sindresorhus/execa (execa)</summary>

###
[`v10.0.1`](https://redirect.github.com/sindresorhus/execa/releases/tag/v10.0.1)

[Compare
Source](https://redirect.github.com/sindresorhus/execa/compare/v10.0.0...v10.0.1)

- Fix `preferLocal` argument escaping edge-case on Windows
([#&#8203;1259](https://redirect.github.com/sindresorhus/execa/issues/1259))
[`e771733`](https://redirect.github.com/sindresorhus/execa/commit/e771733)

***

</details>

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

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

##### Patch Changes

- [#&#8203;248](https://redirect.github.com/publint/publint/pull/248)
[`9ff88ac`](https://redirect.github.com/publint/publint/commit/9ff88ac3784a33cb36d9d78064586588de07e9e1)
- Recursively detect test files (e.g. `*.test.js`, `*.spec.ts`) for the
`USE_FILES` suggestion.

- [#&#8203;245](https://redirect.github.com/publint/publint/pull/245)
[`ad737a3`](https://redirect.github.com/publint/publint/commit/ad737a386b1b8e8e4b2dce1bf7a7ce8d4506ebba)
- The `USE_FILES` message now reports which internal files or
directories triggered it via `args.internalFilePaths`

</details>

<details>
<summary>privatenumber/tsx (tsx)</summary>

###
[`v4.23.9`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.9)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.8...v4.23.9)

##### Bug Fixes

- map Node test locations
([2f55884](https://redirect.github.com/privatenumber/tsx/commit/2f55884195a8c745fbe64a0288de69bc062ed876))
- support data URLs in tsImport
([b94f46f](https://redirect.github.com/privatenumber/tsx/commit/b94f46f6b6a7e6dc575624b0ecc7124318723056))

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.9)

###
[`v4.23.8`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.8)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.7...v4.23.8)

##### Bug Fixes

- preserve package subpath resolution
([be1315e](https://redirect.github.com/privatenumber/tsx/commit/be1315e3f31835f010fd75689b60a8ef9d7c4c88))
- preserve typeless ESM dependency exports
([70dfc5e](https://redirect.github.com/privatenumber/tsx/commit/70dfc5e3db899f93701823f2ba9c0579269d0015))

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.8)

###
[`v4.23.7`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.7)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.6...v4.23.7)

##### Bug Fixes

- prevent tsImport cache collisions
([4e5a138](https://redirect.github.com/privatenumber/tsx/commit/4e5a1387ac16570432d16ef41efd8904d38e660d))

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.7)

###
[`v4.23.6`](https://redirect.github.com/privatenumber/tsx/compare/v4.23.5...205868f95334d87b398e0bc2eda5792b78e2fbd2)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.5...v4.23.6)

###
[`v4.23.5`](https://redirect.github.com/privatenumber/tsx/compare/v4.23.4...c55004d44127a966304c3dd87cc564c16db2b981)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.4...v4.23.5)

###
[`v4.23.4`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.4)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.3...v4.23.4)

##### Bug Fixes

- **cli:** allow async process.once() signal handlers to finish
([#&#8203;827](https://redirect.github.com/privatenumber/tsx/issues/827))
([2afc7bb](https://redirect.github.com/privatenumber/tsx/commit/2afc7bbcbd0bb77623737550aefdf816e4bf0a66))

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.4)

###
[`v4.23.3`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.3)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.2...v4.23.3)

##### Bug Fixes

- preserve listenerCount overload semantics
([#&#8203;823](https://redirect.github.com/privatenumber/tsx/issues/823))
([b6574d4](https://redirect.github.com/privatenumber/tsx/commit/b6574d4307ee3a9c4297ccbd314b6fdaf614d4e7))

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.3)

###
[`v4.23.2`](https://redirect.github.com/privatenumber/tsx/compare/v4.23.1...0b00bc84d188c1d8ba56b33b5737b6df3b820911)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.1...v4.23.2)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-09 16:06:58 +00:00
renovate[bot] d0b8d6ff22 chore(deps): update dependency @napi-rs/cli to v3.8.3 (#25434)
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/cli](https://napi.rs/)
([source](https://redirect.github.com/napi-rs/napi-rs)) | [`3.8.2` →
`3.8.3`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.8.2/3.8.3) |
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.8.3?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.8.3?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.8.2/3.8.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.8.2/3.8.3?slim=true)
|

---

### Release Notes

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

###
[`v3.8.3`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.2...@napi-rs/cli@3.8.3)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron Clark <cameron.clark@hey.com>
2026-08-09 13:25:05 +00:00
renovate[bot] 2c6496df84 chore(deps): update dependency rolldown to v1.2.3 (#25310)
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/) |
|---|---|---|---|---|---|
| [rolldown](https://rolldown.rs/)
([source](https://redirect.github.com/rolldown/rolldown/tree/HEAD/packages/rolldown))
| [`1.2.2` →
`1.2.3`](https://renovatebot.com/diffs/npm/rolldown/1.2.2/1.2.3) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.3?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.2.3?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.2.2/1.2.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.2.2/1.2.3?slim=true)
|

---

### Release Notes

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

###
[`v1.2.3`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#123---2026-08-05)

[Compare
Source](https://redirect.github.com/rolldown/rolldown/compare/v1.2.2...v1.2.3)

##### 🐛 Bug Fixes

- dev: don't let a failed watch registration abort the batch
([#&#8203;10548](https://redirect.github.com/rolldown/rolldown/issues/10548))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)

##### 🚜 Refactor

- remove deprecated `watch.notify` option
([#&#8203;10628](https://redirect.github.com/rolldown/rolldown/issues/10628))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)

##### 📚 Documentation

- fix the dangling spec link on `generate_minified_names`
([#&#8203;10617](https://redirect.github.com/rolldown/rolldown/issues/10617))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### ⚡ Performance

- reduce finalization memory usage
([#&#8203;10554](https://redirect.github.com/rolldown/rolldown/issues/10554))
by [@&#8203;ericclemmons](https://redirect.github.com/ericclemmons)
- chunk-naming: build minified export names without allocating
([#&#8203;10618](https://redirect.github.com/rolldown/rolldown/issues/10618))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🧪 Testing

- resolve-file-url: allow a reference id to start with a digit
([#&#8203;10623](https://redirect.github.com/rolldown/rolldown/issues/10623))
by [@&#8203;jjb](https://redirect.github.com/jjb)
- code-splitting: pin the already-loaded namespace-extraction boundaries
([#&#8203;10593](https://redirect.github.com/rolldown/rolldown/issues/10593))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### ⚙️ Miscellaneous Tasks

- deps: upgrade oxc to 0.143.0
([#&#8203;10603](https://redirect.github.com/rolldown/rolldown/issues/10603))
by [@&#8203;camc314](https://redirect.github.com/camc314)
- deps: update rollup submodule for tests to v4.62.4
([#&#8203;10607](https://redirect.github.com/rolldown/rolldown/issues/10607))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update test262 submodule for tests
([#&#8203;10608](https://redirect.github.com/rolldown/rolldown/issues/10608))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]

##### ❤️ New Contributors

- [@&#8203;ericclemmons](https://redirect.github.com/ericclemmons) made
their first contribution in
[#&#8203;10554](https://redirect.github.com/rolldown/rolldown/pull/10554)
- [@&#8203;jjb](https://redirect.github.com/jjb) made their first
contribution in
[#&#8203;10623](https://redirect.github.com/rolldown/rolldown/pull/10623)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-05 14:10:01 +01:00
renovate[bot] e49216675a chore(deps): update dependency vite-plus to v0.2.8 (#25303)
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/) |
|---|---|---|---|---|---|
| [vite-plus](https://viteplus.dev/guide)
([source](https://redirect.github.com/voidzero-dev/vite-plus/tree/HEAD/packages/cli))
| [`0.2.7` →
`0.2.8`](https://renovatebot.com/diffs/npm/vite-plus/0.2.7/0.2.8) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plus/0.2.8?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plus/0.2.8?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plus/0.2.7/0.2.8?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plus/0.2.7/0.2.8?slim=true)
|

---

### Release Notes

<details>
<summary>voidzero-dev/vite-plus (vite-plus)</summary>

###
[`v0.2.8`](https://redirect.github.com/voidzero-dev/vite-plus/releases/tag/v0.2.8):
vite-plus v0.2.8: monorepo target resolution, breaking VP_* environment
variable renames, and install fixes

[Compare
Source](https://redirect.github.com/voidzero-dev/vite-plus/compare/v0.2.7...v0.2.8)

Bare `vp dev`/`build`/`preview`/`pack` at a monorepo root now resolve a
target package instead of silently running against the root, and three
Vite+-specific environment variables move to the `VP_*` prefix without
compatibility aliases. Two failures that broke Vite+ before it could run
are also fixed: the crash on container images that ship no CA
certificates, and the missing Rolldown binding under pnpm's global
virtual store.

##### Breaking Changes

- Rename three Vite+-specific environment variables to the `VP_*`
prefix, with no compatibility aliases, so the old names stop working
([#&#8203;2312](https://redirect.github.com/voidzero-dev/vite-plus/pull/2312)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung):

  | Old                              | New                            |
  | -------------------------------- | ------------------------------ |
  | `VITE_LOG`                       | `VP_LOG`                       |
  | `VITE_GLOBAL_CLI_JS_SCRIPTS_DIR` | `VP_GLOBAL_CLI_JS_SCRIPTS_DIR` |
  | `VITE_UPDATE_TASK_TYPES`         | `VP_UPDATE_TASK_TYPES`         |

Update any shell profile, CI job, or Dockerfile that sets the old names.

##### Highlights

- Resolve a target package for `vp dev`, `build`, `preview`, and `pack`
at a monorepo root: interactive shells get a fuzzy package picker,
non-interactive runs list the candidates and exit 1 instead of building
the root, and a new global `-C <dir>` flag or a `defaultPackage` setting
(a single directory, or an object mapping each of the four commands to
its own directory) skips the prompt
([#&#8203;2031](https://redirect.github.com/voidzero-dev/vite-plus/pull/2031),
[#&#8203;2305](https://redirect.github.com/voidzero-dev/vite-plus/pull/2305)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Stop aborting with exit 134 on container images that ship no CA
certificates (Debian slim, distroless): the shared HTTP client now
retries once with the bundled Mozilla root list, like Node's own bundled
roots, and reports a real error instead of panicking when it still
cannot be built
([#&#8203;2273](https://redirect.github.com/voidzero-dev/vite-plus/pull/2273),
[#&#8203;2295](https://redirect.github.com/voidzero-dev/vite-plus/pull/2295)),
by [@&#8203;jbmusso](https://redirect.github.com/jbmusso) and
[@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Resolve the bundled Rolldown binding through platform packages instead
of an undeclared require back into `vite-plus`, fixing `Cannot find
module 'vite-plus/binding'` under pnpm `enable-global-virtual-store` and
in standalone `@voidzero-dev/vite-plus-core` installs
([#&#8203;2313](https://redirect.github.com/voidzero-dev/vite-plus/pull/2313)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Add `vp pm ci` for reproducible frozen-lockfile installs, and `vp pm
patch` / `vp pm patch-commit` for editing dependencies in place on pnpm,
bun, and Yarn Berry (npm and Yarn Classic warn and exit successfully)
([#&#8203;2082](https://redirect.github.com/voidzero-dev/vite-plus/pull/2082),
[#&#8203;2308](https://redirect.github.com/voidzero-dev/vite-plus/pull/2308)),
by [@&#8203;forehalo](https://redirect.github.com/forehalo) and
[@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)

##### Features

- Upgrade the bundled toolchain: vite `8.1.5` -> `8.2.0`, rolldown
`1.2.0` -> `1.2.2`, oxlint `1.75.0` -> `1.76.0`, oxfmt `0.60.0` ->
`0.61.0`, and Vite DevTools `0.4.5` -> `0.4.10`
([#&#8203;2302](https://redirect.github.com/voidzero-dev/vite-plus/pull/2302),
[#&#8203;2311](https://redirect.github.com/voidzero-dev/vite-plus/pull/2311)),
by
[@&#8203;voidzero-guard](https://redirect.github.com/voidzero-guard)\[bot].
The new oxfmt and oxlint can flag code that passed before, so run `vp
fmt` after upgrading if your CI runs `vp check`.
- Read the Node.js version from `.nvmrc` when no other version source is
present
([#&#8203;2244](https://redirect.github.com/voidzero-dev/vite-plus/pull/2244)),
by [@&#8203;BlankParticle](https://redirect.github.com/BlankParticle)
- Support pnpm v12, which ships as a native binary: Vite+ now downloads
the platform-specific `@pnpm/exe.*` package and generates native shims,
so `pnpm` and `pnpx` work instead of failing to exec
([#&#8203;2289](https://redirect.github.com/voidzero-dev/vite-plus/pull/2289)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Verify the downloaded bun platform tarball against the registry
`dist.integrity` hash
([#&#8203;2310](https://redirect.github.com/voidzero-dev/vite-plus/pull/2310)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)

##### Fixes & Enhancements

- Let `vp config` install the Git hook dispatcher without creating or
modifying project hook scripts or staged-file configuration, so a custom
`.vite-hooks/pre-commit` survives
([#&#8203;2280](https://redirect.github.com/voidzero-dev/vite-plus/pull/2280)),
by [@&#8203;TheAlexLichter](https://redirect.github.com/TheAlexLichter)
- Nest immutable global package installs under
`packages/<package>/<uuid>` instead of using `#` in the path, which Node
treated as a URL fragment and which broke dynamic imports inside
installed packages
([#&#8203;2222](https://redirect.github.com/voidzero-dev/vite-plus/pull/2222)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)
- Keep the recorded version spec on global installs, so `vp update -g`
follows a dist tag or range instead of silently resolving back to
`latest`, `vp outdated -g` reports Wanted versus Latest, and `vp update
-g --latest` explicitly moves packages back to `latest`
([#&#8203;2249](https://redirect.github.com/voidzero-dev/vite-plus/pull/2249)),
by [@&#8203;TheAlexLichter](https://redirect.github.com/TheAlexLichter)
- Stop deleting a managed Node.js runtime that another process is
concurrently installing
([#&#8203;2248](https://redirect.github.com/voidzero-dev/vite-plus/pull/2248)),
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- Preserve the real exit code when a spawned process is terminated by a
signal on Unix
([#&#8203;2154](https://redirect.github.com/voidzero-dev/vite-plus/pull/2154)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)
- Honor an explicit `vp create --package-manager` outside monorepos
instead of inheriting the manager from a non-monorepo ancestor directory
([#&#8203;2226](https://redirect.github.com/voidzero-dev/vite-plus/pull/2226)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Scaffold the `vite:library` template into a directory that contains
only `.git`, while still refusing to overwrite existing user files
([#&#8203;2287](https://redirect.github.com/voidzero-dev/vite-plus/pull/2287)),
by [@&#8203;RSS1102](https://redirect.github.com/RSS1102)
- Render help for delegated commands from the local CLI, so `vp
<command> --help` matches the installed toolchain instead of drifting
([#&#8203;2184](https://redirect.github.com/voidzero-dev/vite-plus/pull/2184)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)
- Resolve `typeAware` and `typeCheck` options inherited through Oxlint
`extends`, so `vp check --no-lint` runs and classifies type checking
correctly
([#&#8203;2228](https://redirect.github.com/voidzero-dev/vite-plus/pull/2228)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Report `(no version)` instead of `unknown` when globally installing a
local package that has no `version` field
([#&#8203;2232](https://redirect.github.com/voidzero-dev/vite-plus/pull/2232)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)

##### Refactor

- Rename the Git hooks environment variable to `VP_GIT_HOOKS`, keeping
`VITE_GIT_HOOKS` working as a deprecated alias
([#&#8203;2195](https://redirect.github.com/voidzero-dev/vite-plus/pull/2195)),
by [@&#8203;dennybiasiolli](https://redirect.github.com/dennybiasiolli)
- Consolidate the package manager infrastructure so typed command
arguments are the source of truth for per-manager compatibility
([#&#8203;2140](https://redirect.github.com/voidzero-dev/vite-plus/pull/2140)),
by [@&#8203;forehalo](https://redirect.github.com/forehalo)
- Generate the Zed language settings from a language list instead of 17
near-identical blocks
([#&#8203;2294](https://redirect.github.com/voidzero-dev/vite-plus/pull/2294)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Share the agent-file detect and write traversal helpers so both passes
apply identical rules
([#&#8203;2296](https://redirect.github.com/voidzero-dev/vite-plus/pull/2296)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Drop redundant clippy allow attributes in the global CLI
([#&#8203;2235](https://redirect.github.com/voidzero-dev/vite-plus/pull/2235)),
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)

##### Docs

- Avoid a duplicate `vp` installation step in the onboarding prompt
([#&#8203;2291](https://redirect.github.com/voidzero-dev/vite-plus/pull/2291)),
by [@&#8203;Arcadi4](https://redirect.github.com/Arcadi4)
- Recommend stacked pull requests for submitting changes
([#&#8203;2281](https://redirect.github.com/voidzero-dev/vite-plus/pull/2281)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Correct stale delegation comments in the global CLI
([#&#8203;2236](https://redirect.github.com/voidzero-dev/vite-plus/pull/2236)),
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- Improve the release draft review guidance in the release-manager skill
([#&#8203;2285](https://redirect.github.com/voidzero-dev/vite-plus/pull/2285)),
by [@&#8203;wan9chi](https://redirect.github.com/wan9chi)

##### Chore

- Stop emitting unmet peer warnings for the `vite-plus` peer of oxfmt
and oxlint on every install
([#&#8203;2321](https://redirect.github.com/voidzero-dev/vite-plus/pull/2321)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Remove duplicate direct dependency declarations so each build
dependency is owned by one workspace
([#&#8203;2318](https://redirect.github.com/voidzero-dev/vite-plus/pull/2318)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Declare `@emnapi` peers where `@napi-rs/cli` is used
([#&#8203;2319](https://redirect.github.com/voidzero-dev/vite-plus/pull/2319)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Exclude `rollup-tests` from the workspace and update `basic-ftp`
([#&#8203;2322](https://redirect.github.com/voidzero-dev/vite-plus/pull/2322)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Remove unused `EnvConfig` fields
([#&#8203;2320](https://redirect.github.com/voidzero-dev/vite-plus/pull/2320)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Remove the obsolete peer dependency merger tool
([#&#8203;2303](https://redirect.github.com/voidzero-dev/vite-plus/pull/2303)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Stop the staging deploy from triggering on external pull requests
([#&#8203;2293](https://redirect.github.com/voidzero-dev/vite-plus/pull/2293)),
by [@&#8203;BlankParticle](https://redirect.github.com/BlankParticle)
- Kill the real `vp` process, and kill it before its children, in the
`env_install_interrupt` snapshot test
([#&#8203;2299](https://redirect.github.com/voidzero-dev/vite-plus/pull/2299),
[#&#8203;2316](https://redirect.github.com/voidzero-dev/vite-plus/pull/2316)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Suppress racy optimizer logs in the `vitest_browser_mode` snapshot
test
([#&#8203;2297](https://redirect.github.com/voidzero-dev/vite-plus/pull/2297)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Remove the obsolete auto-install environment from the snapshot tests
([#&#8203;2163](https://redirect.github.com/voidzero-dev/vite-plus/pull/2163)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)

##### Bundled Versions

| Tool | Version | Source |
| --------------- | ---------- |
-------------------------------------------------------------------------------------------------
|
| vite | `8.2.0` |
[`fa79f9a`](https://redirect.github.com/vitejs/vite/commit/fa79f9ab699f9a22a6f9b50f3d247be6b51f684d)
|
| rolldown | `1.2.2` |
[`872b98a`](https://redirect.github.com/rolldown/rolldown/commit/872b98ac7476eb7d5892a2913e4ba010d124c6ac)
|
| tsdown | `0.22.14` | [npm](https://npmx.dev/package/tsdown/v/0.22.14)
|
| vitest | `4.1.10` | [npm](https://npmx.dev/package/vitest/v/4.1.10) |
| oxlint | `1.76.0` | [npm](https://npmx.dev/package/oxlint/v/1.76.0) |
| oxlint-tsgolint | `7.0.2001` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2001) |
| oxfmt | `0.61.0` | [npm](https://npmx.dev/package/oxfmt/v/0.61.0) |

##### Upgrade

```bash
vp upgrade
```

##### New Contributors

[@&#8203;jbmusso](https://redirect.github.com/jbmusso),
[@&#8203;Arcadi4](https://redirect.github.com/Arcadi4),
[@&#8203;dennybiasiolli](https://redirect.github.com/dennybiasiolli),
[@&#8203;RSS1102](https://redirect.github.com/RSS1102)

**Full Changelog**:
<https://github.com/voidzero-dev/vite-plus/compare/v0.2.7...v0.2.8>

##### Published Packages

- `@voidzero-dev/vite-plus-core@0.2.8`
- `vite-plus@0.2.8`

##### Installation

**macOS/Linux:**

```bash
curl -fsSL https://vite.plus | bash
```

**Windows:**

```powershell
irm https://vite.plus/ps1 | iex
```

Or download and run `vp-setup.exe` from the assets below.

**Docker:**

```bash
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.2.8 vp build
```

Run any `vp` command without installing it; see the [Docker
guide](https://viteplus.dev/guide/docker) for more.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMS40IiwidXBkYXRlZEluVmVyIjoiNDQuMTEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-05 09:13:33 +00:00
renovate[bot] 72bbbe240a chore(deps): update dependency oxc-parser to ^0.143.0 (#25260) 2026-08-03 22:09:41 +01:00
renovate 9c8c5e521b chore(deps): update dependency oxlint to v1.77.0 (#25257)
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/) |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs/docs/guide/usage/linter) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`1.76.0` → `1.77.0`](https://renovatebot.com/diffs/npm/oxlint/1.76.0/1.77.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.77.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.77.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.76.0/1.77.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.76.0/1.77.0?slim=true) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v1.77.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1770---2026-08-03)

[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v1.76.0...oxlint_v1.77.0)

##### 🐛 Bug Fixes

- [`5c0fa61`](https://redirect.github.com/oxc-project/oxc/commit/5c0fa61) linter/eslint/no-warning-comments: Unify config structs and remove manual options docs ([#&#8203;25151](https://redirect.github.com/oxc-project/oxc/issues/25151)) (Mikhail Baev)

##### 📚 Documentation

- [`9dc7756`](https://redirect.github.com/oxc-project/oxc/commit/9dc7756) linter/typescript/no-unnecessary-condition: Clarify options ([#&#8203;25110](https://redirect.github.com/oxc-project/oxc/issues/25110)) (camc314)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
2026-08-03 13:53:34 +00:00
renovate[bot] cc01bd7f0f chore(deps): update dependency @oxc-project/types to ^0.143.0 (#25255)
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/) |
|---|---|---|---|---|---|
| [@oxc-project/types](https://oxc.rs)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types))
| [`^0.142.0` →
`^0.143.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.142.0/0.143.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.143.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.143.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.142.0/0.143.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.142.0/0.143.0?slim=true)
|

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-03 13:25:45 +00:00
renovate[bot] f7b3976ed2 chore(deps): update dependency rolldown to v1.2.2 (#25245)
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/) |
|---|---|---|---|---|---|
| [rolldown](https://rolldown.rs/)
([source](https://redirect.github.com/rolldown/rolldown/tree/HEAD/packages/rolldown))
| [`1.2.1` →
`1.2.2`](https://renovatebot.com/diffs/npm/rolldown/1.2.1/1.2.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.2.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.2.1/1.2.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.2.1/1.2.2?slim=true)
|

---

### Release Notes

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

###
[`v1.2.2`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#122---2026-08-03)

##### 🚀 Features

- code-splitting: support inlining of shared deps in dynamic entries
([#&#8203;10526](https://redirect.github.com/rolldown/rolldown/issues/10526))
by [@&#8203;nicolo-ribaudo](https://redirect.github.com/nicolo-ribaudo)
- plugin: time the user callbacks configured on the options
([#&#8203;10509](https://redirect.github.com/rolldown/rolldown/issues/10509))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🐛 Bug Fixes

- dev: force `cleanDir` off in dev mode
([#&#8203;10579](https://redirect.github.com/rolldown/rolldown/issues/10579))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- dev: keep `?rolldown-lazy` proxy ids out of user `resolveId` hooks
([#&#8203;10580](https://redirect.github.com/rolldown/rolldown/issues/10580))
by [@&#8203;btea](https://redirect.github.com/btea)
- initialize re-exported wrapped ESM modules at the entry chunk
([#&#8203;10567](https://redirect.github.com/rolldown/rolldown/issues/10567))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- link: resolve circular star reexports as null
([#&#8203;10445](https://redirect.github.com/rolldown/rolldown/issues/10445))
by [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv)
- transform: transformer gate skips newer syntax that oxc can lower
([#&#8203;10564](https://redirect.github.com/rolldown/rolldown/issues/10564))
by [@&#8203;sekyungk](https://redirect.github.com/sekyungk)
- code-splitting: materialize consumer-local barrel routing when the
order-wrap plan is empty
([#&#8203;10544](https://redirect.github.com/rolldown/rolldown/issues/10544))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- plugin: measure plugin hooks in JavaScript, report them from Rust
([#&#8203;10508](https://redirect.github.com/rolldown/rolldown/issues/10508))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- plugin: include external dynamic imports in chunk metadata
([#&#8203;10557](https://redirect.github.com/rolldown/rolldown/issues/10557))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- plugin: report plugin timings after closeBundle has run
([#&#8203;10521](https://redirect.github.com/rolldown/rolldown/issues/10521))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- browser: avoid using node builtin modules
([#&#8203;10542](https://redirect.github.com/rolldown/rolldown/issues/10542))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)

##### 🚜 Refactor

- plugin: give the build's own clocks their own type
([#&#8203;10520](https://redirect.github.com/rolldown/rolldown/issues/10520))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)

##### 📚 Documentation

- correct stale `buildStart` comment in `ScanStageCache::merge`
([#&#8203;10577](https://redirect.github.com/rolldown/rolldown/issues/10577))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- update outdated pluginutils references
([#&#8203;10574](https://redirect.github.com/rolldown/rolldown/issues/10574))
by [@&#8203;dogledogle](https://redirect.github.com/dogledogle)

##### ⚡ Performance

- external: drop the runtime import from chunks that never wrap
([#&#8203;10517](https://redirect.github.com/rolldown/rolldown/issues/10517))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- plugin: clock the build only when it is being measured
([#&#8203;10558](https://redirect.github.com/rolldown/rolldown/issues/10558))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🧪 Testing

- vite-tests: drop the dead `@rolldown/pluginutils` pnpm override
([#&#8203;10575](https://redirect.github.com/rolldown/rolldown/issues/10575))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- transform: group the transform-target fixtures and say why each exists
([#&#8203;10569](https://redirect.github.com/rolldown/rolldown/issues/10569))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- dev: fix hmr-hot-update-hook-vite fixture on Windows
([#&#8203;10565](https://redirect.github.com/rolldown/rolldown/issues/10565))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- dev: match Vite's renamed full-reload log
([#&#8203;10547](https://redirect.github.com/rolldown/rolldown/issues/10547))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)

##### ⚙️ Miscellaneous Tasks

- deps: update napi
([#&#8203;10576](https://redirect.github.com/rolldown/rolldown/issues/10576))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: bump `@napi-rs/wasm-runtime` to 1.2.2
([#&#8203;10570](https://redirect.github.com/rolldown/rolldown/issues/10570))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- deps: update npm packages
([#&#8203;10583](https://redirect.github.com/rolldown/rolldown/issues/10583))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency rolldown-plugin-dts to ^0.28.0
([#&#8203;10588](https://redirect.github.com/rolldown/rolldown/issues/10588))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update taiki-e/install-action action to v2.85.5
([#&#8203;10587](https://redirect.github.com/rolldown/rolldown/issues/10587))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update codspeedhq/action action to v5
([#&#8203;10584](https://redirect.github.com/rolldown/rolldown/issues/10584))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update github actions
([#&#8203;10582](https://redirect.github.com/rolldown/rolldown/issues/10582))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crates
([#&#8203;10581](https://redirect.github.com/rolldown/rolldown/issues/10581))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency vite-plus to v0.2.7
([#&#8203;10568](https://redirect.github.com/rolldown/rolldown/issues/10568))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency rolldown-plugin-dts to v0.27.14
([#&#8203;10531](https://redirect.github.com/rolldown/rolldown/issues/10531))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update pnpm to v11.17.0
([#&#8203;10571](https://redirect.github.com/rolldown/rolldown/issues/10571))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update
[@&#8203;napi-rs/wasm-runtime](https://redirect.github.com/napi-rs/wasm-runtime)
to 1.2.1
([#&#8203;10545](https://redirect.github.com/rolldown/rolldown/issues/10545))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)

##### ❤️ New Contributors

- [@&#8203;sekyungk](https://redirect.github.com/sekyungk) made their
first contribution in
[#&#8203;10564](https://redirect.github.com/rolldown/rolldown/pull/10564)
- [@&#8203;nicolo-ribaudo](https://redirect.github.com/nicolo-ribaudo)
made their first contribution in
[#&#8203;10526](https://redirect.github.com/rolldown/rolldown/pull/10526)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-03 10:27:52 +00:00
renovate[bot] b937e3e2f1 chore(deps): update napi (#25019)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@napi-rs/cli](https://napi.rs/)
([source](https://redirect.github.com/napi-rs/napi-rs)) | [`3.7.4` →
`3.8.2`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.7.4/3.8.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.8.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.8.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.7.4/3.8.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.7.4/3.8.2?slim=true)
| pnpm.catalog.default | minor |
| [napi](https://redirect.github.com/napi-rs/napi-rs) | `3.11.0` →
`3.12.0` |
![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.12.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.12.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.11.0/3.12.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.11.0/3.12.0?slim=true)
| workspace.dependencies | minor |
| [napi-build](https://redirect.github.com/napi-rs/napi-rs) | `2.3.2` →
`2.4.0` |
![age](https://developer.mend.io/api/mc/badges/age/crate/napi-build/2.4.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-build/2.4.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-build/2.3.2/2.4.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-build/2.3.2/2.4.0?slim=true)
| workspace.dependencies | minor |
| [napi-derive](https://redirect.github.com/napi-rs/napi-rs) | `3.6.0` →
`3.6.2` |
![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.6.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.6.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.6.0/3.6.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.6.0/3.6.2?slim=true)
| workspace.dependencies | patch |

---

### Release Notes

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

###
[`v3.8.2`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.1...@napi-rs/cli@3.8.2)

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

###
[`v3.8.1`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.0...@napi-rs/cli@3.8.1)

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

###
[`v3.8.0`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.7.4...@napi-rs/cli@3.8.0)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-08-03 11:21:03 +01:00
renovate[bot] d0c45aaf7c chore(deps): update npm packages (#25205)
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://napi.rs/)
([source](https://redirect.github.com/napi-rs/napi-rs/tree/HEAD/wasm-runtime))
| [`1.1.6` →
`1.2.1`](https://renovatebot.com/diffs/npm/@napi-rs%2fwasm-runtime/1.1.6/1.2.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fwasm-runtime/1.2.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fwasm-runtime/1.2.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fwasm-runtime/1.1.6/1.2.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fwasm-runtime/1.1.6/1.2.1?slim=true)
|
| [degit](https://redirect.github.com/Rich-Harris/degit) | [`3.6.2` →
`3.6.5`](https://renovatebot.com/diffs/npm/degit/3.6.2/3.6.5) |
![age](https://developer.mend.io/api/mc/badges/age/npm/degit/3.6.5?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/degit/3.6.5?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/degit/3.6.2/3.6.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/degit/3.6.2/3.6.5?slim=true)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`10.7.0` →
`10.8.0`](https://renovatebot.com/diffs/npm/eslint/10.7.0/10.8.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.8.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/10.8.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/10.7.0/10.8.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/10.7.0/10.8.0?slim=true)
|
| [playwright](https://playwright.dev)
([source](https://redirect.github.com/microsoft/playwright)) | [`1.61.1`
→ `1.62.1`](https://renovatebot.com/diffs/npm/playwright/1.61.1/1.62.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.62.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.62.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.61.1/1.62.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.61.1/1.62.1?slim=true)
|
| [svelte](https://svelte.dev)
([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte))
| [`5.56.7` →
`5.56.8`](https://renovatebot.com/diffs/npm/svelte/5.56.7/5.56.8) |
![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.56.8?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svelte/5.56.8?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svelte/5.56.7/5.56.8?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.56.7/5.56.8?slim=true)
|

---

### Release Notes

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

###
[`v1.2.1`](https://redirect.github.com/napi-rs/napi-rs/blob/HEAD/wasm-runtime/CHANGELOG.md#121-2026-07-30)

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

##### Bug Fixes

- **wasm-runtime:** preserve emnapi v1 compatibility
([#&#8203;3426](https://redirect.github.com/napi-rs/napi-rs/issues/3426))
([856326b](https://redirect.github.com/napi-rs/napi-rs/commit/856326b3051028b0d9992227f02167227f46b07b))

###
[`v1.2.0`](https://redirect.github.com/napi-rs/napi-rs/blob/HEAD/wasm-runtime/CHANGELOG.md#120-2026-07-28)

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

##### Features

- **cli:** support non-threaded WASI targets
([#&#8203;3353](https://redirect.github.com/napi-rs/napi-rs/issues/3353))
([b5ecfa3](https://redirect.github.com/napi-rs/napi-rs/commit/b5ecfa3d6a9fcf8e66c59e05dd4027b832b44d61)),
closes
[#&#8203;3352](https://redirect.github.com/napi-rs/napi-rs/issues/3352)
[#&#8203;3400](https://redirect.github.com/napi-rs/napi-rs/issues/3400)
[#&#8203;3405](https://redirect.github.com/napi-rs/napi-rs/issues/3405)

####
[1.1.6](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.1.5...@napi-rs/wasm-runtime@1.1.6)
(2026-06-24)

**Note:** Version bump only for package
[@&#8203;napi-rs/wasm-runtime](https://redirect.github.com/napi-rs/wasm-runtime)

####
[1.1.5](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.1.4...@napi-rs/wasm-runtime@1.1.5)
(2026-06-10)

##### Bug Fixes

- **wasm-runtime:** preserve Buffer return values in fs-proxy
([#&#8203;3250](https://redirect.github.com/napi-rs/napi-rs/issues/3250))
([c70f205](https://redirect.github.com/napi-rs/napi-rs/commit/c70f205a071c39acbd792b071bb95b2f5d2f39e8))

####
[1.1.4](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.1.3...@napi-rs/wasm-runtime@1.1.4)
(2026-04-15)

##### Bug Fixes

- **wasm-runtime:** preserve full bigint values in fs proxy codec
([#&#8203;3233](https://redirect.github.com/napi-rs/napi-rs/issues/3233))
([0cb8eef](https://redirect.github.com/napi-rs/napi-rs/commit/0cb8eefad83938daa6a0f377f2708890d9f4b6bf))

####
[1.1.3](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.1.2...@napi-rs/wasm-runtime@1.1.3)
(2026-04-08)

**Note:** Version bump only for package
[@&#8203;napi-rs/wasm-runtime](https://redirect.github.com/napi-rs/wasm-runtime)

####
[1.1.2](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.1.1...@napi-rs/wasm-runtime@1.1.2)
(2026-03-28)

##### Bug Fixes

- ensure emnapi version is synced
([#&#8203;3151](https://redirect.github.com/napi-rs/napi-rs/issues/3151))
([bc728d0](https://redirect.github.com/napi-rs/napi-rs/commit/bc728d0a289360b199d9dbd3b512a975f4d75d5a))

####
[1.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)
(2025-12-30)

**Note:** Version bump only for package
[@&#8203;napi-rs/wasm-runtime](https://redirect.github.com/napi-rs/wasm-runtime)

</details>

<details>
<summary>Rich-Harris/degit (degit)</summary>

###
[`v3.6.5`](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.4...v3.6.5)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.4...v3.6.5)

###
[`v3.6.4`](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.3...v3.6.4)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.3...v3.6.4)

###
[`v3.6.3`](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.2...v3.6.3)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.2...v3.6.3)

</details>

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

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

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.7.0...v10.8.0)

#### Features

-
[`2fee9bb`](https://redirect.github.com/eslint/eslint/commit/2fee9bb7416116cbed4d8c8100b1ae713b6356a1)
feat: export `ConfigObject` from `eslint/config`
([#&#8203;21082](https://redirect.github.com/eslint/eslint/issues/21082))
(sethamus)

#### Bug Fixes

-
[`6b8d2f7`](https://redirect.github.com/eslint/eslint/commit/6b8d2f7589b8a7c8b91b8ca2a2ef6d46178760d8)
fix: escape reserved characters in rule id in `html` formatter
([#&#8203;21129](https://redirect.github.com/eslint/eslint/issues/21129))
(Francesco Trotta)
-
[`9091071`](https://redirect.github.com/eslint/eslint/commit/90910715011211a20d011d807d398a7005127f35)
fix: prevent `no-unreachable-loop` crash when all loop types are ignored
([#&#8203;21116](https://redirect.github.com/eslint/eslint/issues/21116))
(Pixel)
-
[`e23fafe`](https://redirect.github.com/eslint/eslint/commit/e23fafe8d4b15355adef6cdebef414c3a2019454)
fix: prefer-object-spread add semicolon when adding parenthesis
([#&#8203;21081](https://redirect.github.com/eslint/eslint/issues/21081))
(synthex-byte)
-
[`20b5ad0`](https://redirect.github.com/eslint/eslint/commit/20b5ad052360a443786a202e94624a3f81846511)
fix: quadratic-time regex in `prefer-template`
([#&#8203;21096](https://redirect.github.com/eslint/eslint/issues/21096))
(Milos Djermanovic)
-
[`8b6f6c0`](https://redirect.github.com/eslint/eslint/commit/8b6f6c0b33411f34485512456d94f221daf7321f)
fix: apply ignore configs to computed methods in class-methods-use-this
([#&#8203;21094](https://redirect.github.com/eslint/eslint/issues/21094))
(Pixel)
-
[`b2c608c`](https://redirect.github.com/eslint/eslint/commit/b2c608c014a396800a24a89343265d0616bee2d8)
fix: NewExpression with parenthesized callee in `preserve-caught-error`
([#&#8203;21083](https://redirect.github.com/eslint/eslint/issues/21083))
(Francesco Trotta)

#### Documentation

-
[`6ddf858`](https://redirect.github.com/eslint/eslint/commit/6ddf8587e5cfeeb7328332601bb76d98b8a198ea)
docs: fix broken Specify Parser Options anchor link
([#&#8203;21106](https://redirect.github.com/eslint/eslint/issues/21106))
(Minsu)
-
[`784dfbe`](https://redirect.github.com/eslint/eslint/commit/784dfbe98f0222426fd200153a5ce2e5624151f0)
docs: Clarify `no-eq-null` description
([#&#8203;21120](https://redirect.github.com/eslint/eslint/issues/21120))
(Park Harin)
-
[`7ec733a`](https://redirect.github.com/eslint/eslint/commit/7ec733a3ba5acb053a73ac656030a3879aa48fda)
docs: Fix typos and grammar in glossary
([#&#8203;21095](https://redirect.github.com/eslint/eslint/issues/21095))
(Marry (Subin Yang))
-
[`92bb13f`](https://redirect.github.com/eslint/eslint/commit/92bb13f13065db72d62454b9830d3ae52db15c76)
docs: replace quake link
([#&#8203;21108](https://redirect.github.com/eslint/eslint/issues/21108))
(Jung Hyeon Jun)
-
[`68eb4a5`](https://redirect.github.com/eslint/eslint/commit/68eb4a57572409dbdcfeb3bc5c92ddbba46bc770)
docs: fix broken Specify Globals anchor links in rule pages
([#&#8203;21103](https://redirect.github.com/eslint/eslint/issues/21103))
(Minsu)
-
[`d28f697`](https://redirect.github.com/eslint/eslint/commit/d28f697e0d32d7446c825fd89c362db028450134)
docs: replace Code Climate CLI links with Qlty CLI links
([#&#8203;21099](https://redirect.github.com/eslint/eslint/issues/21099))
(Jung Hyeon Jun)
-
[`eccc68d`](https://redirect.github.com/eslint/eslint/commit/eccc68d42564e46bc9020d19ec52d2988f3b7bfa)
docs: correct --suppressions-location option description
([#&#8203;21093](https://redirect.github.com/eslint/eslint/issues/21093))
(Ga eun Lee)
-
[`c5963f7`](https://redirect.github.com/eslint/eslint/commit/c5963f74bfa82a5b7ccc0607dcdcc695b8c97a31)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`4fbf46d`](https://redirect.github.com/eslint/eslint/commit/4fbf46d140120ae838db08cbe49544c985956490)
test: pin `webpack` version to 5.108.4
([#&#8203;21137](https://redirect.github.com/eslint/eslint/issues/21137))
(Francesco Trotta)
-
[`2d063e2`](https://redirect.github.com/eslint/eslint/commit/2d063e224e9bb0ccb0a28c120f7e380a8d62f320)
chore: update HTTP URLs to HTTPS in JSDoc and comments
([#&#8203;21101](https://redirect.github.com/eslint/eslint/issues/21101))
(Bo Hyun Kim)
-
[`eccbe7b`](https://redirect.github.com/eslint/eslint/commit/eccbe7bc9257a6c99880468e452c8dfafbf47f74)
test: add error locations to `no-class-assign`
([#&#8203;21123](https://redirect.github.com/eslint/eslint/issues/21123))
(devoil)
-
[`e7d1e43`](https://redirect.github.com/eslint/eslint/commit/e7d1e4373bf626f8da76d62ce024c28928bc99bc)
ci: bump actions/setup-go from 6 to 7
([#&#8203;21118](https://redirect.github.com/eslint/eslint/issues/21118))
(dependabot\[bot])
-
[`e9d66d0`](https://redirect.github.com/eslint/eslint/commit/e9d66d0cde1a7752c29dee53ab7b62632835a87a)
ci: bump actions/setup-node from 6 to 7
([#&#8203;21119](https://redirect.github.com/eslint/eslint/issues/21119))
(dependabot\[bot])
-
[`ee225b6`](https://redirect.github.com/eslint/eslint/commit/ee225b60c26f0cc5f4d71641888a5bd2ec5626d6)
test: Add error location details to `no-eq-null` rule
([#&#8203;21117](https://redirect.github.com/eslint/eslint/issues/21117))
(Park Harin)
-
[`044a627`](https://redirect.github.com/eslint/eslint/commit/044a627fa3e28ee1410d515acc5378eb4b49f8ba)
chore: update minimatch to ^10.2.5
([#&#8203;21107](https://redirect.github.com/eslint/eslint/issues/21107))
(김채영)
-
[`fb09aa8`](https://redirect.github.com/eslint/eslint/commit/fb09aa8ff09730d3ccf68859e065f99666b52466)
chore: update ecosystem plugins
([#&#8203;21115](https://redirect.github.com/eslint/eslint/issues/21115))
(ESLint Bot)
-
[`5abd878`](https://redirect.github.com/eslint/eslint/commit/5abd878740fe417fd8a910cac3741f2a0317b365)
test: add error locations to `no-proto`
([#&#8203;21114](https://redirect.github.com/eslint/eslint/issues/21114))
(Gihyeon Jeong / 정기현)
-
[`9715887`](https://redirect.github.com/eslint/eslint/commit/9715887ec94a5ff936447d7b680d039fbe2f0541)
test: Add error location details to `no-div-regex`
([#&#8203;21110](https://redirect.github.com/eslint/eslint/issues/21110))
(Park Harin)
-
[`a746ec6`](https://redirect.github.com/eslint/eslint/commit/a746ec6ea4a2249b1eb3f512264da5f4d5f7c886)
test: add error locations to `no-new-wrappers`
([#&#8203;21109](https://redirect.github.com/eslint/eslint/issues/21109))
(Gihyeon Jeong / 정기현)
-
[`8dde645`](https://redirect.github.com/eslint/eslint/commit/8dde64570e240f3ef8af873d59a752db6d8519aa)
test: add error locations to `no-ex-assign`
([#&#8203;21102](https://redirect.github.com/eslint/eslint/issues/21102))
(devoil)
-
[`13ab0ec`](https://redirect.github.com/eslint/eslint/commit/13ab0ec447650c079d8a5e5d67222f79e69c741e)
test: add error locations to `no-label-var`
([#&#8203;21098](https://redirect.github.com/eslint/eslint/issues/21098))
(Gihyeon Jeong / 정기현)
-
[`a99906f`](https://redirect.github.com/eslint/eslint/commit/a99906ffb8342dde03336b5c6372b5658f21d5f2)
test: Add error location details to `no-delete-var` rule
([#&#8203;21105](https://redirect.github.com/eslint/eslint/issues/21105))
(Park Harin)
-
[`c47e8dc`](https://redirect.github.com/eslint/eslint/commit/c47e8dc9bbfba797430db45ae08cb6f7392cfc9d)
chore: add missing backticks to `languages/js/index.js`
([#&#8203;21104](https://redirect.github.com/eslint/eslint/issues/21104))
(beeen)
-
[`0174428`](https://redirect.github.com/eslint/eslint/commit/0174428dd7543d118cf67a823b98dd97032fe68c)
chore: add missing backticks to `translate-cli-options.js`
([#&#8203;21097](https://redirect.github.com/eslint/eslint/issues/21097))
(dongkyu lee)
-
[`3d36589`](https://redirect.github.com/eslint/eslint/commit/3d36589a4917326500f0707bb41745160f387d00)
chore: add missing backticks to `serialization.js`
([#&#8203;21091](https://redirect.github.com/eslint/eslint/issues/21091))
(이규환)
-
[`dcc9312`](https://redirect.github.com/eslint/eslint/commit/dcc9312c1081931de0fe1b555fbb6aa82fe696b9)
test: add error locations to `eqeqeq`
([#&#8203;21090](https://redirect.github.com/eslint/eslint/issues/21090))
(Ga eun Lee)
-
[`2710b18`](https://redirect.github.com/eslint/eslint/commit/2710b182472cd1a95e4aff6186cb2c4fbadb4ee0)
ci: Add explicit permissions to rebuild-docs-sites workflow
([#&#8203;21089](https://redirect.github.com/eslint/eslint/issues/21089))
(Marry (Subin Yang))
-
[`5d2f866`](https://redirect.github.com/eslint/eslint/commit/5d2f8663ee60701e9036b0b0933a12efd9d93269)
chore: update dependency prettier to v3.9.5
([#&#8203;21086](https://redirect.github.com/eslint/eslint/issues/21086))
(renovate\[bot])
-
[`d584e31`](https://redirect.github.com/eslint/eslint/commit/d584e31098f262563b97dc5d5f23a63a187879a0)
chore: fix failing ecosystem test for `eslint-plugin-unicorn`
([#&#8203;21084](https://redirect.github.com/eslint/eslint/issues/21084))
(Francesco Trotta)
-
[`bf3eda0`](https://redirect.github.com/eslint/eslint/commit/bf3eda049bd690f1e9a5a0c4520a6329b3e4ec85)
chore: update ecosystem plugins
([#&#8203;21079](https://redirect.github.com/eslint/eslint/issues/21079))
(ESLint Bot)

</details>

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

###
[`v1.62.1`](https://redirect.github.com/microsoft/playwright/compare/v1.62.0...26a9e470a7b3c7822084b09fb7f13902c5f37b51)

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

###
[`v1.62.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.62.0)

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

##### 🧱 New component testing model

[Component testing](https://playwright.dev/docs/test-components) moves
to a **stories and galleries** model.
A **story** wraps your component in one specific scenario — hard-coded
props, mock data, providers — and a

**gallery** page that you serve renders stories on demand. The new
[fixtures.mount()](https://playwright.dev/docs/api/class-fixtures#fixtures-mount)
fixture navigates
to the gallery, mounts a story by id, and returns a
[Locator](https://playwright.dev/docs/api/class-locator) scoped to the
story's root element:

```js
test('click should expand', async ({ mount }) => {
  const component = await mount('components/Expandable/Stateful');
  await component.getByRole('button').click();
  await expect(component.getByTestId('expanded')).toHaveValue('true');
});
```

Pass a story type as a template argument to type-check its props, and
use `update(props)` /
`unmount()` on the returned locator to re-render or tear down within a
test.

##### 🛑 Cancel operations with AbortSignal

Most operations and web-first assertions now accept a `signal` option
that takes an

[`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal),
letting you
cancel long-running actions, navigations, waits, and assertions:

```js
const controller = new AbortController();
setTimeout(() => controller.abort(), 1000);

await page.getByRole('button', { name: 'Submit' }).click({ signal: controller.signal });
await expect(page.getByText('Done')).toBeVisible({ signal: controller.signal });
```

Providing a signal does not disable the default timeout; pass `timeout:
0` to disable it.

##### 🖼️ WebP screenshots


[expect(page).toHaveScreenshot()](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
and
[expect(locator).toHaveScreenshot()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1)
can now store snapshots in the WebP format — just give the snapshot a
`.webp` name:

```js
// Visual comparisons store the golden snapshot as lossless WebP.
await expect(page).toHaveScreenshot('homepage.webp');

// Standalone screenshots can trade quality for size with lossy WebP.
await page.screenshot({ path: 'homepage.webp', quality: 50 });
```


[page.screenshot()](https://playwright.dev/docs/api/class-page#page-screenshot)
and
[locator.screenshot()](https://playwright.dev/docs/api/class-locator#locator-screenshot)
also accept `webp` as a `type`,
where quality `100` (the default) is lossless and lower values use lossy
compression.

##### 🧩 Custom test filtering with Reporter.preprocess()

New
[reporter.preprocess()](https://playwright.dev/docs/api/class-reporter#reporter-preprocess)
hook runs after the configuration is resolved and before

[reporter.onBegin()](https://playwright.dev/docs/api/class-reporter#reporter-on-begin),
letting a reporter mark individual tests as skipped, excluded,
fixed, or failing through a
[TestRun](https://playwright.dev/docs/api/class-testrun) object:

```js
class MyReporter {
  async preprocess({ config, suite, testRun }) {
    for (const test of suite.allTests()) {
      if (shouldSkip(test))
        testRun.skip(test);
    }
  }
}
```

##### 🔁 Isolated retries

New
[testConfig.retryStrategy](https://playwright.dev/docs/api/class-testconfig#test-config-retry-strategy)
controls when failed tests are retried. The default
`'immediate'` retries as soon as a worker is free; `'isolated'` runs all
retries at the end,
one by one in a single worker, to minimize interference with the rest of
the suite:

```js
// playwright.config.ts
export default defineConfig({
  retries: 2,
  retryStrategy: 'isolated',
});
```

##### New APIs

##### Browser and Context

- New option
[`credentials`](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state-option-credentials)
includes the context's virtual WebAuthn
[Credentials](https://playwright.dev/docs/api/class-credentials)
(passkeys) in the storage state, so they can be persisted and re-seeded
into later contexts.

##### Actions

- New `scroll` option (`"auto"` | `"none"`) on actions to opt out of
Playwright's automatic scroll-into-view.

##### Network

- New
[apiResponse.timing()](https://playwright.dev/docs/api/class-apiresponse#api-response-timing)
returns resource timing information for an API response.

##### Evaluation

- New
[locator.waitForFunction()](https://playwright.dev/docs/api/class-locator#locator-wait-for-function)
waits until a function — called with the matching element — returns a
truthy value.
-
[page.evaluate()](https://playwright.dev/docs/api/class-page#page-evaluate)
and related methods now accept functions as evaluate arguments.
-
[page.addInitScript()](https://playwright.dev/docs/api/class-page#page-add-init-script)
/
[browserContext.addInitScript()](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-init-script)
now accept functions as init-script arguments.

##### Command line & MCP

- Playwright now bundles the [Playwright
MCP](https://playwright.dev/docs/getting-started-mcp) server and
[`playwright-cli`](https://playwright.dev/docs/getting-started-cli),
runnable via `npx playwright mcp` and `npx playwright cli`.

##### Reporters

- The HTML report's **Merge files** grouping — previously only a UI
toggle — can now be enabled from the config with the new `mergeFiles`
reporter option:

```js
// playwright.config.ts
export default defineConfig({
  reporter: [['html', { mergeFiles: true }]],
});
```

##### Announcements

- ⚠️ Debian 11 is not supported anymore.

##### Browser Versions

- Chromium 151.0.7922.34
- Mozilla Firefox 153.0
- WebKit 26.5

This version was also tested against the following stable channels:

- Google Chrome 151
- Microsoft Edge 151

</details>

<details>
<summary>sveltejs/svelte (svelte)</summary>

###
[`v5.56.8`](https://redirect.github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5568)

[Compare
Source](https://redirect.github.com/sveltejs/svelte/compare/svelte@5.56.7...svelte@5.56.8)

##### Patch Changes

- fix: call `onerror` and provide a working `reset` when hydrating a
failed boundary
([#&#8203;18556](https://redirect.github.com/sveltejs/svelte/pull/18556))

- fix: preserve select selection when spread attributes omit value
([#&#8203;18561](https://redirect.github.com/sveltejs/svelte/pull/18561))

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-08-02 20:17:03 +01:00
renovate[bot] 2496ff1245 chore(deps): update emnapi to v1.11.3 (#25208)
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/) |
|---|---|---|---|---|---|
| [@emnapi/core](https://redirect.github.com/toyobayashi/emnapi) |
[`1.11.2` →
`1.11.3`](https://renovatebot.com/diffs/npm/@emnapi%2fcore/1.11.2/1.11.3)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@emnapi%2fcore/1.11.3?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emnapi%2fcore/1.11.3?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emnapi%2fcore/1.11.2/1.11.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emnapi%2fcore/1.11.2/1.11.3?slim=true)
|
| [@emnapi/runtime](https://redirect.github.com/toyobayashi/emnapi) |
[`1.11.2` →
`1.11.3`](https://renovatebot.com/diffs/npm/@emnapi%2fruntime/1.11.2/1.11.3)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@emnapi%2fruntime/1.11.3?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emnapi%2fruntime/1.11.3?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emnapi%2fruntime/1.11.2/1.11.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emnapi%2fruntime/1.11.2/1.11.3?slim=true)
|
| [emnapi](https://redirect.github.com/toyobayashi/emnapi) | [`1.11.2` →
`1.11.3`](https://renovatebot.com/diffs/npm/emnapi/1.11.2/1.11.3) |
![age](https://developer.mend.io/api/mc/badges/age/npm/emnapi/1.11.3?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/emnapi/1.11.3?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/emnapi/1.11.2/1.11.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/emnapi/1.11.2/1.11.3?slim=true)
|

---

### Release Notes

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

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

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

#### What's Changed

- fix(runtime): define deferred state as own properties by
[@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn) in
[#&#8203;223](https://redirect.github.com/toyobayashi/emnapi/pull/223)
- fix: refresh memory views after unshared memory growth (v1.x backport)
by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn) in
[#&#8203;230](https://redirect.github.com/toyobayashi/emnapi/pull/230)

**Full Changelog**:
<https://github.com/toyobayashi/emnapi/compare/v1.11.2...v1.11.3>

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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 these
updates 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-02 16:57:28 +00:00
renovate[bot] d9c288b064 chore(deps): update pnpm to v11.17.0 (#25161)
> ℹ️ **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/) |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm11/pnpm))
| [`11.9.0` →
`11.17.0`](https://renovatebot.com/diffs/npm/pnpm/11.9.0/11.17.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/11.17.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/11.17.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/11.9.0/11.17.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/11.9.0/11.17.0?slim=true)
|

---

### Release Notes

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

###
[`v11.17.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v11.17.0):
pnpm 11.17

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.16.0...v11.17.0)

##### Minor Changes

- Added a new setting, `update.githubActionsServer`, for specifying the
base URL of the GitHub server that hosts the repositories of the GitHub
Actions referenced by the workflow files (for example, a GitHub
Enterprise Server). When the setting is not defined, the URL is read
from the `GITHUB_SERVER_URL` environment variable, falling back to
`https://github.com`. The URL must use the `https://` or `http://`
protocol
[#&#8203;13220](https://redirect.github.com/pnpm/pnpm/issues/13220).

`pnpm outdated` and `pnpm update` no longer fail when the refs of a
GitHub Action's repository cannot be read (for example, when the
action's repository is private or hosted on a different GitHub server).
Such actions are now skipped with a warning.

Setting `update.githubActions` to `false` now makes `pnpm outdated` and
the interactive `pnpm update` skip GitHub Actions dependencies.

##### Patch Changes

- The token poll for web-based authentication no longer reads the body
of non-OK or still-pending (HTTP 202) responses, and caps the token
response body it does read at 64 KiB, so a malicious or compromised
registry cannot exhaust memory through the poll
[pnpm/pnpm#12721](https://redirect.github.com/pnpm/pnpm/issues/12721).

- Fixed `catalog:` references in dependencies and overrides failing to
resolve when installing through a pnpr server, which errored with "No
catalog entry '<name>' was found for catalog 'default'." even though the
catalog entry existed. Also fixed a crash on Windows when installing a
nested workspace member (e.g. `packages/foo`) through a pnpr server
[#&#8203;13232](https://redirect.github.com/pnpm/pnpm/issues/13232).

- Republished every package: the tarballs published by the v11.13.1
through v11.16.0 releases were missing most of their compiled files due
to a packing bug
[#&#8203;13164](https://redirect.github.com/pnpm/pnpm/issues/13164).

- Revert script ordering change for `pnpm run --sequential /regex/`

- Support the `from-git` argument in the `pnpm version` command.

- When the authentication URL cannot be rendered as a QR code (for
example when it exceeds the maximum QR data capacity), web-based login
now displays the URL alone with a warning instead of aborting
authentication
[pnpm/pnpm#12721](https://redirect.github.com/pnpm/pnpm/issues/12721).

<!-- sponsors -->

##### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/openai_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/openai_light.svg" />
<img src="https://pnpm.io/img/users/openai_dark.svg" width="160"
alt="OpenAI" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

##### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/sanity.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/sanity_light.svg" />
<img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/serpapi_light.svg" />
<img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160"
alt="SerpApi" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/stackblitz.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
<img src="https://pnpm.io/img/users/stackblitz.svg" width="190"
alt="Stackblitz" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://pnpm.io/img/users/workleap.svg" width="190"
alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg" />
<img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v11.16.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v11.16.0):
pnpm 11.16

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.15.1...v11.16.0)

#### Minor Changes

- The first release of a package now publishes the version written in
its manifest verbatim, instead of bumping off it. `pnpm version -r` and
`pnpm change status` check the registry for each release's current
version; when that version is not yet published, the package debuts at
it and its pending changesets apply only from the next release. A newly
added package seeded at `1100.0.0` with a `minor` changeset is therefore
published as `1100.0.0` rather than skipping straight to `1100.1.0`.

- Added a `--changeset` flag to `pnpm update`. Set `update.changeset` to
`true` in `pnpm-workspace.yaml` to enable this behavior by default, and
use `--no-changeset` to override the setting for one update. After the
update completes, pnpm writes a `.changeset/pnpm-update-<suffix>.md`
file declaring a patch bump for every workspace package whose
`dependencies` or `optionalDependencies` were changed by the update and
a major bump when `peerDependencies` changed, including packages that
consume an updated catalog entry via the `catalog:` protocol. Private
packages, packages without a name, and packages listed in the `ignore`
array of `.changeset/config.json` are skipped. If
`.changeset/config.json` does not exist, a warning is printed and no
changeset is generated.

- Added GitHub Actions dependencies to `pnpm outdated` and interactive
`pnpm update`. Non-interactive updates can include them with
`--include-github-actions` or by setting `update.githubActions` to
`true` in `pnpm-workspace.yaml`. Updated actions are pinned to exact
commit hashes with their release tags preserved in comments.

- Added `update` and `audit` settings sections to `pnpm-workspace.yaml`,
superseding the awkwardly named `updateConfig`, `auditConfig`, and
top-level `auditLevel` settings:

  ```yaml
  update:
    ignoreDeps: # was updateConfig.ignoreDependencies
      - webpack
      - "@&#8203;babel/*"

  audit:
    level: high # was auditLevel
    ignore: # was auditConfig.ignoreGhsas
      - GHSA-xxxx-yyyy-zzzz
  ```

`update.ignoreDeps` lists dependency name patterns that `pnpm update`
and `pnpm outdated` should skip. `audit.level` and `audit.ignore` tune
`pnpm audit`.

The deprecated `updateConfig`, `auditConfig`, and `auditLevel` settings
keep working until the next major version. When both a new section value
and its deprecated counterpart are set, the new section takes precedence
and a warning is printed. Both the TypeScript CLI and the Rust config
surface (pacquet) recognize the new sections.

#### Patch Changes

- Fixed `pnpm add --save-exact`/`--save-prefix` and `pnpm update`
writing a package's version with the `peerDependencies` range's prefix
(e.g. `^19.2.7` instead of the requested `19.2.7`) whenever the same
package also appeared in `peerDependencies`. A real
`dependencies`/`devDependencies`/`optionalDependencies` entry now takes
precedence over a same-named `peerDependencies` entry when computing the
current specifiers
[#&#8203;13108](https://redirect.github.com/pnpm/pnpm/issues/13108).

<!-- sponsors -->

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/openai_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/openai_light.svg" />
<img src="https://pnpm.io/img/users/openai_dark.svg" width="160"
alt="OpenAI" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/sanity.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/sanity_light.svg" />
<img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/serpapi_light.svg" />
<img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160"
alt="SerpApi" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/stackblitz.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
<img src="https://pnpm.io/img/users/stackblitz.svg" width="190"
alt="Stackblitz" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://pnpm.io/img/users/workleap.svg" width="190"
alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg" />
<img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v11.15.1`](https://redirect.github.com/pnpm/pnpm/compare/v11.15.0...v11.15.1)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.15.0...v11.15.1)

###
[`v11.15.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v11.15.0):
pnpm 11.15

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.14.0...v11.15.0)

##### Minor Changes

- Optional peer dependencies declared only via `peerDependenciesMeta`
(for example `debug`'s `supports-color` peer) are now resolved from a
satisfying version already present in the dependency graph, the same way
explicitly declared optional peer dependencies are. Previously such
peers were only resolved this way when the package's metadata was read
back from the lockfile, so an unrelated dependency change could rewrite
peer resolutions across the whole lockfile.

##### Patch Changes

- Updated `adm-zip` to prevent crafted ZIP archives from causing
excessive memory allocation.

- `pnpm version -r` no longer writes a versioning-ledger entry with no
consumed intents as a bare `intents:` key, which the next run failed to
read with `ERR_PNPM_INVALID_VERSIONING_LEDGER`. Empty intent lists are
now written as `intents: []`, and the ledger reader accepts the bare
form left by earlier releases.

- Fixed pnpr workspace resolution to preserve project names and versions
for `workspace:` dependencies.

<!-- sponsors -->

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/openai_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/openai_light.svg" />
<img src="https://pnpm.io/img/users/openai_dark.svg" width="160"
alt="OpenAI" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/sanity.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/sanity_light.svg" />
<img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/serpapi_light.svg" />
<img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160"
alt="SerpApi" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/stackblitz.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
<img src="https://pnpm.io/img/users/stackblitz.svg" width="190"
alt="Stackblitz" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://pnpm.io/img/users/workleap.svg" width="190"
alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg" />
<img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v11.14.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v11.14.0):
pnpm 11.14

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.13.1...v11.14.0)

#### Minor Changes

- `peerDependencies` now accept dependency specifiers that carry a
scheme — a named-registry spec (`<registry>:<version>`), an `npm:`
alias, or a `file:`/git/URL spec — instead of rejecting them with
`ERR_PNPM_INVALID_PEER_DEPENDENCY_SPECIFICATION`
[#&#8203;13095](https://redirect.github.com/pnpm/pnpm/issues/13095).
Such a peer is matched against the semver range carried by the specifier
(`work:5.x.x` is checked as `5.x.x`, `npm:bar@^5` as `^5`), or against
`*` when it carries no version, while the original specifier still
selects the package to auto-install. Bare `name@version` values, which
are almost always a mistake, are still rejected.

- Added `pnpm doctor`, which diagnoses the pnpm installation and the
environment it runs in: the versions and install method, whether the
global bin directory is on `PATH`, whether the store and cache are
writable, which link strategies (reflink, hardlink, symlink) the store's
filesystem supports, registry connectivity, and an offline `file:`
install that exercises the resolve/store/link path end to end. Each
check reports how to fix what it finds, and the command exits non-zero
when any check fails.

Use `--offline` to skip the checks that need network access, `--json`
for machine-readable output, and `--benchmark` to time the filesystem
and install checks.

- Added support for executing multiple scripts matching a RegExp passed
to `pnpm run` (e.g., `pnpm run "/^build:.*/"`), running matched scripts
in deterministic lexicographical order. Restored the `--sequential`
(`-s`) CLI option for `pnpm run`, which forces `workspaceConcurrency` to
1 so that matched scripts run sequentially one by one across and within
packages.

#### Patch Changes

- Fixed `pnpm install` failing with `ERR_PNPM_LOCKFILE_IS_SYMLINK` when
`pnpm-lock.yaml` is a symlink, as build sandboxes such as Bazel and Nix
stage it
[#&#8203;13073](https://redirect.github.com/pnpm/pnpm/issues/13073).
Reading a lockfile through a symlink is allowed again, and an install
that leaves the lockfile unchanged no longer rewrites it, so
`--frozen-lockfile` no longer needs to write at all. Writing a *changed*
lockfile through a symlink is still refused, as that would redirect the
write onto the symlink's target.

- Fixed frozen installs incorrectly treating equivalent Git dependency
specifiers as a stale lockfile. See
[#&#8203;13039](https://redirect.github.com/pnpm/pnpm/issues/13039).

- `pnpm owner ls` now reports authentication and authorization failures
(401/403) as dedicated errors that include the registry's response body,
matching `pnpm owner add`/`rm`, instead of a generic `Failed to fetch
owners` message.

- Recover from a metadata cache entry that disappears (concurrent cache
cleanup, antivirus) after the registry has already answered the
conditional request with `304 Not Modified`. The metadata is
re-requested once without cache validators instead of failing the
install with `ERR_PNPM_CACHE_MISSING_AFTER_304`.

- A project pinned to a broken pnpm release via `packageManager` or
`devEngines.packageManager` now reports which release is broken and what
to do about it, instead of failing inside the installer. `pnpm
self-update` already refused these releases; the version switch does
too.

- Prevent broken-lockfile errors from including snippets of the
lockfile's contents.

- `pnpm self-update` now checks that the version it installed can run
before making it the active pnpm. A release that installs but cannot
execute is discarded with an error instead of replacing a working
installation.

- Fixed an out-of-memory regression when workspace projects concurrently
resolve a package with large registry metadata
[pnpm/pnpm#13077](https://redirect.github.com/pnpm/pnpm/issues/13077).

- Fixed `pnpm update` rewriting exact version pins that use the `=`
operator (for example `=3.5.1`) to a caret range (`^3.5.1`). Exact pins
are now preserved and written back as the bare version. See
[#&#8203;12745](https://redirect.github.com/pnpm/pnpm/issues/12745).

<!-- sponsors -->

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/openai_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/openai_light.svg" />
<img src="https://pnpm.io/img/users/openai_dark.svg" width="160"
alt="OpenAI" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/sanity.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/sanity_light.svg" />
<img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/serpapi_light.svg" />
<img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160"
alt="SerpApi" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/stackblitz.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
<img src="https://pnpm.io/img/users/stackblitz.svg" width="190"
alt="Stackblitz" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://pnpm.io/img/users/workleap.svg" width="190"
alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg" />
<img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v11.13.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v11.13.1):
pnpm 11.13.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.13.0...v11.13.1)

#### Patch Changes

- Fixed `pnpm pack` applying workspace-root ignore rules when a
workspace package has its own `.npmignore` file.
- Keep the interactive `minimumReleaseAge` approval prompt visible
during `pnpm install`. The progress reporter now pauses its redraws
while a prompt is waiting for input instead of overwriting it, so the
install no longer hangs on a question the user cannot see
[#&#8203;13019](https://redirect.github.com/pnpm/pnpm/issues/13019).
- Fixed `pnpm self-update` failing to link native platform binaries
stored in sibling global virtual store slots.

###
[`v11.13.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v11.13.0):
pnpm 11.13

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.12.0...v11.13.0)

#### Minor Changes

- Added `versioning.epics` to `pnpm-workspace.yaml`. An epic ties a
group of member packages to a lead package, constraining every member's
major version to a band derived from the lead's major: while the lead is
on major `M`, members live in `M*100 … M*100+99`. Members move
independently inside the band (patch, minor, and a `major` intent that
stays in-band); a bump that would carry a member past the band ceiling
is rejected until the lead advances its own major. When a release plan
takes the lead to a new stable major, every member re-bases to the band
floor in the same plan. Membership is matched with pnpm's package
selectors — name globs, `./`-prefixed directory globs, and `!`-prefixed
negations.

- Added the `team` command for managing organization teams and team
memberships on the registry, with create, destroy, add, rm, and ls
subcommands and support for --otp, --parseable, and --json flags.

- Added native workspace release management
[#&#8203;12952](https://redirect.github.com/pnpm/pnpm/issues/12952): the
new `pnpm change` command records change intents as
changesets-compatible `.changeset/*.md` files (`pnpm change status`
shows the pending release plan), and the bare `pnpm version -r` consumes
them — bumping versions across the workspace with dependent propagation
through `workspace:` ranges, fixed groups, a `maxBump` cap, `--filter`
narrowing, and `--dry-run` — writing changelogs, and recording consumed
intents in a committed ledger that keeps cherry-picks and merge-backs
between release branches safe. Packages can be moved onto per-package
release lanes with the new `pnpm lane <name> --filter <pkg>` command and
back with `pnpm lane main --filter <pkg>` (`pnpm lane` shows the
membership), releasing `X.Y.Z-lane.N` prereleases from the same runs
that release stable versions of the packages on the main lane.
Configuration lives under the new `versioning` key of
`pnpm-workspace.yaml` (`fixed`, `ignore`, `maxBump`, `lanes`,
`changelog`). When two workspace projects publish the same name, intent
files, `versioning.lanes`, and `versioning.fixed`/`ignore` may reference
a project by its workspace-relative directory path (e.g.
`"./pnpm/npm/pnpm"`) — the one additive extension to the changesets
format, applied automatically by `pnpm change`.

Release changelogs default to `registry` storage
(`versioning.changelog.storage`): no `CHANGELOG.md` is committed. Each
release's section is composed at publish time and packed into the
published tarball on top of the previously published version's
changelog, and the consumed change intents are garbage-collected by a
later `pnpm version -r` only once the registry confirms the version is
published with its section. Set `versioning.changelog.storage:
repository` to keep committed `CHANGELOG.md` files instead.

- Added a new override selector form with an empty range — `"pkg@":
"<version>"` — called a convergence override. It rewrites a dependency
edge only when its exact version satisfies the edge's declared range, so
compatible consumers converge on one version while incompatible
consumers keep their own resolution — now and for any dependent added in
the future
[#&#8203;12794](https://redirect.github.com/pnpm/pnpm/issues/12794).

  ```yaml
  overrides:
    "form-data@": 4.0.6
  ```

The value must be an exact version. When a full resolution detects that
every declared range also admits a newer version, pnpm warns that the
override is stale and names the version to converge on. Previously an
empty range in an override selector was undocumented and behaved like a
bare (unscoped) override.

#### Patch Changes

- A `tokenHelper` set in the global pnpm `auth.ini` is no longer
rejected as project-level configuration. The guard that blocks
`tokenHelper` from a project `.npmrc` only treated `~/.npmrc` as a
trusted source, so a helper written to `auth.ini` (for example by `pnpm
config set`) failed on every command and could not even be removed with
`pnpm config delete`. A `tokenHelper` in a workspace or project `.npmrc`
is still rejected.

- `pnpm cache delete` now removes a package's metadata from every
metadata cache directory (`metadata`, `metadata-full`, and
`metadata-full-filtered`), instead of only the one the current
resolution mode reads. Previously a package cached under a different
mode (e.g. `metadata-full-filtered`) was left behind. Closes
[#&#8203;12753](https://redirect.github.com/pnpm/pnpm/issues/12753).

- Fixed an injected workspace dependency (`injectWorkspacePackages:
true`) incorrectly staying as `file:` instead of deduping back to
`link:` when an unrelated, ordinary shared dependency resolved to a
peer-suffixed variant for the target project's own copy but not for the
injected occurrence. See
[#&#8203;10433](https://redirect.github.com/pnpm/pnpm/issues/10433).

- `pnpm deploy` now supports workspaces that use catalogs.

- Fixed `pnpm deploy` with a shared lockfile so local `file:` tarball
dependencies keep their package name in the generated deploy lockfile.
This prevents warm-store deploys from failing with
`ERR_PNPM_UNEXPECTED_PKG_CONTENT_IN_STORE` when the tarball filename
includes the version.

- Options that follow `create`, `exec`, or `test` appearing as a
subcommand of another command are now parsed instead of being silently
treated as positional parameters. For example, `pnpm team create
@&#8203;org:team --registry <url>` previously ignored the `--registry`
option and sent the request to the default registry.

- `pnpm add -g`, `pnpm update -g`, `pnpm setup`, and the self-updater no
longer fail with `ERR_PNPM_MISSING_TIME` when `trustPolicy:
no-downgrade` or `resolutionMode: time-based` is set in the global
config
[#&#8203;12883](https://redirect.github.com/pnpm/pnpm/issues/12883). The
decision to fetch full registry metadata now lives in one place, and the
`no-downgrade` trust policy always requests full metadata (matching the
self-updater), since the trust evidence it checks is missing from
abbreviated metadata even on registries that include the `time` field.

- `pnpm list` and `pnpm why` no longer crash with `EMFILE: too many open
files` when a project has a large number of unsaved dependencies
(packages present in `node_modules` but not in the lockfile). The reads
of those packages are now concurrency-limited.

- The published `pnpm` package no longer declares `dependencies` or
`devDependencies`. Because the CLI bundles its runtime dependencies into
`dist/node_modules`, those fields are dropped when packing, so `npm
install` of the tarball no longer tries to resolve internal-only
packages such as `@pnpm/test-ipc-server`. Closes
[#&#8203;12955](https://redirect.github.com/pnpm/pnpm/issues/12955).

- Fixed `pnpm publish --otp` and `pnpm publish --batch --otp` to send
the configured OTP to the registry.

- `pnpm publish` again sends the package's README to the registry as
metadata, so registries can render it on the package page. The readme is
always included in the published metadata (matching the npm CLI), while
the `embed-readme` setting continues to control only whether the readme
is written into the `package.json` inside the tarball. This restores the
behavior that was lost when publishing became fully native. Closes
[#&#8203;12966](https://redirect.github.com/pnpm/pnpm/issues/12966).

- Fixed the dependency status check wrongly reporting "up to date" when
a `package.json`, `.pnpmfile.cjs`, or patch file was edited in the same
second as the previous install, on filesystems that record mtimes at
whole-second resolution (for example ext4 with 128-byte inodes). The
optimistic repeat-install fast path and `verify-deps-before-run`
compared mtimes strictly, so a same-second edit whose mtime rounded down
looked unchanged and re-resolution was skipped. Such a file's whole
second is now treated as possibly-modified, falling through to the
content check; behavior on sub-second filesystems is unchanged.

- Retry package metadata requests when a registry or proxy returns `304
Not Modified` to an unconditional request, preventing false
`ERR_PNPM_CACHE_MISSING_AFTER_304` failures
[pnpm/pnpm#12882](https://redirect.github.com/pnpm/pnpm/issues/12882).

If the retry also returns `304`, report
`ERR_PNPM_META_NOT_MODIFIED_WITHOUT_CACHE` instead.

- Fixed `pnpm update` removing transitive lockfile entries when
`dedupePeerDependents` is disabled and the selected package is absent
[pnpm/pnpm#12456](https://redirect.github.com/pnpm/pnpm/issues/12456).

- Limit modern deploy lockfiles and localized virtual stores to
dependencies reachable from the selected dependency groups.

- A `tokenHelper` command is now given a 60-second time limit. A helper
that hangs (deadlock, stuck I/O) is killed and reported as an error
instead of leaving the command waiting forever.

- Fixed orphaned child processes on Windows when pnpm exits on an error
while commands spawned by `pnpm exec` or `pnpm dlx` are still running
(for example, when one project's command fails during `pnpm --recursive
exec`). The PIDs of these commands are now recorded when they are
spawned and their whole process trees are terminated with `taskkill` on
an error exit. Previously the cleanup relied on enumerating the system
process list, which is so slow on Windows that the enumeration hit its
timeout and the cleanup was silently skipped
[#&#8203;12406](https://redirect.github.com/pnpm/pnpm/issues/12406).

- `pnpm pack` now respects workspace-root `.npmignore` and `.gitignore`
files when packing workspace packages.

<!-- sponsors -->

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/openai_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/openai_light.svg" />
<img src="https://pnpm.io/img/users/openai_dark.svg" width="160"
alt="OpenAI" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/sanity.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/sanity_light.svg" />
<img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/serpapi_light.svg" />
<img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160"
alt="SerpApi" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/stackblitz.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
<img src="https://pnpm.io/img/users/stackblitz.svg" width="190"
alt="Stackblitz" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://pnpm.io/img/users/workleap.svg" width="190"
alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg" />
<img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v11.12.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v11.12.0):
pnpm 11.12

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.11.0...v11.12.0)

#### Minor Changes

- [`a897ef7`](https://redirect.github.com/pnpm/pnpm/commit/a897ef7):
Custom fetchers exported from a pnpmfile can now delegate by returning a
`{ delegate: <resolution> }` envelope: pnpm rewrites the package's
resolution to the delegated shape and runs the built-in fetcher on it.
This is the portable delegation form that also works in pacquet, where
`cafs` and `fetchers` cannot be passed to the hook. Related to
[pnpm/pnpm#11685](https://redirect.github.com/pnpm/pnpm/issues/11685).

#### Patch Changes

- [`2b02764`](https://redirect.github.com/pnpm/pnpm/commit/2b02764): The
changed-packages filter (`--filter "...[<since>]"`) no longer allows an
option-like `<since>` value (such as `--output=<path>`) to be
interpreted as a git option — git now rejects it as a bad revision. The
repository root is also resolved to the nearest `.git` entry, so the
filter works in a git worktree checked out inside another repository's
tree.

- [`43711ce`](https://redirect.github.com/pnpm/pnpm/commit/43711ce):
`pnpm outdated` no longer checks the registry for dependencies that are
resolved from local `link:`, `file:`, or `workspace:` references in the
lockfile
[#&#8203;12827](https://redirect.github.com/pnpm/pnpm/issues/12827).

- [`3c6718b`](https://redirect.github.com/pnpm/pnpm/commit/3c6718b):
Fixed a deadlock in peer dependency resolution: `pnpm install` hung
forever when a peer dependency cycle spanned a project's own
dependencies and auto-installed peer providers, for example when
installing `electron-builder@26.15.3`
[#&#8203;12921](https://redirect.github.com/pnpm/pnpm/issues/12921).

- [`252f15e`](https://redirect.github.com/pnpm/pnpm/commit/252f15e):
Fixed peer dependency auto-install picking a version the peer range
rejects. In a workspace with several projects, a package declaring a
peer dependency with a semver range (for example `^1.0.0`) could get the
highest version found anywhere in the workspace (for example a `2.0.0`
resolved for another project) instead of a version that satisfies the
range. Peers are now deduplicated onto the highest preferred version
that satisfies the declared range, and when none does, the range is
resolved from the registry.

Also fixed re-resolving with an existing lockfile hoisting a different
peer version than a fresh install of the same manifest: root
dependencies reused from the lockfile were invisible to peer hoisting,
so a peer that a root dependency provides could be bound to another
version.

- [`a38adda`](https://redirect.github.com/pnpm/pnpm/commit/a38adda):
`pnpm self-update <version>` now installs the requested pnpm version
when it matches the currently running version but is missing from the
global self-update directory.

- [`6a85968`](https://redirect.github.com/pnpm/pnpm/commit/6a85968):
`pnpm stage list` now stops paginating after a fail-safe cap of 1000
pages, so a misbehaving registry cannot keep the command looping
forever.

- [`eee7c9a`](https://redirect.github.com/pnpm/pnpm/commit/eee7c9a):
`verify-deps-before-run` no longer spawns a `pnpm install` when pnpm is
executed in a directory that has no `package.json`. A mistyped command
run outside a project (for example `pnpm witch 10 login`) used to crash
with a confusing error from the spawned install; now it fails with the
regular "no package.json found" error.

<!-- sponsors -->

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/openai_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/openai_light.svg" />
<img src="https://pnpm.io/img/users/openai_dark.svg" width="160"
alt="OpenAI" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/sanity.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/sanity_light.svg" />
<img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/serpapi_light.svg" />
<img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160"
alt="SerpApi" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/stackblitz.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
<img src="https://pnpm.io/img/users/stackblitz.svg" width="190"
alt="Stackblitz" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <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://pnpm.io/img/users/workleap.svg" width="190"
alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg" />
<img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v11.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm11/pnpm/CHANGELOG.md#11110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.10.0...v11.11.0)

##### Minor Changes

- [`508b8c2`](https://redirect.github.com/pnpm/pnpm/commit/508b

> ✂ **Note**
> 
> PR body was truncated to here.


</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on the first day of the month"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-31 19:07:43 +00:00
renovate[bot] dda5636004 chore(deps): update dependency vite-plus to v0.2.7 (#25146)
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/) |
|---|---|---|---|---|---|
| [vite-plus](https://viteplus.dev/guide)
([source](https://redirect.github.com/voidzero-dev/vite-plus/tree/HEAD/packages/cli))
| [`0.2.6` →
`0.2.7`](https://renovatebot.com/diffs/npm/vite-plus/0.2.6/0.2.7) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plus/0.2.7?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plus/0.2.7?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plus/0.2.6/0.2.7?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plus/0.2.6/0.2.7?slim=true)
|

---

### Release Notes

<details>
<summary>voidzero-dev/vite-plus (vite-plus)</summary>

###
[`v0.2.7`](https://redirect.github.com/voidzero-dev/vite-plus/releases/tag/v0.2.7):
vite-plus v0.2.7

[Compare
Source](https://redirect.github.com/voidzero-dev/vite-plus/compare/v0.2.6...v0.2.7)

#### vite-plus v0.2.7

##### Published Packages

- `@voidzero-dev/vite-plus-core@0.2.7`
- `vite-plus@0.2.7`

##### Installation

**macOS/Linux:**

```bash
curl -fsSL https://vite.plus | bash
```

**Windows:**

```powershell
irm https://vite.plus/ps1 | iex
```

Or download and run `vp-setup.exe` from the assets below.

View the full commit:
[`c17e1c3`](https://redirect.github.com/voidzero-dev/vite-plus/commit/c17e1c3c7cf859a29dd32eb60e82dc8157449ac2)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-31 11:20:53 +01:00
renovate[bot] 666a56e46e chore(deps): update dependency rolldown to v1.2.1 (#25082)
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/) |
|---|---|---|---|---|---|
| [rolldown](https://rolldown.rs/)
([source](https://redirect.github.com/rolldown/rolldown/tree/HEAD/packages/rolldown))
| [`1.2.0` →
`1.2.1`](https://renovatebot.com/diffs/npm/rolldown/1.2.0/1.2.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.2.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.2.0/1.2.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.2.0/1.2.1?slim=true)
|

---

### Release Notes

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

###
[`v1.2.1`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#121---2026-07-29)

[Compare
Source](https://redirect.github.com/rolldown/rolldown/compare/v1.2.0...v1.2.1)

##### 🚀 Features

- dev: support `hotUpdate` hook
([#&#8203;10305](https://redirect.github.com/rolldown/rolldown/issues/10305))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- dev: expose `disableWatcher` through the dev engine bindings
([#&#8203;10474](https://redirect.github.com/rolldown/rolldown/issues/10474))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- plugin: surface output-option callbacks in \[PLUGIN\_TIMINGS]
([#&#8203;10411](https://redirect.github.com/rolldown/rolldown/issues/10411))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- `import.meta.ROLLDOWN_FILE_URL_<referenceId>_<urlId>` support to pass
context to `resolveFileUrl` hook
([#&#8203;10297](https://redirect.github.com/rolldown/rolldown/issues/10297))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- dev: skip the HMR update when a module's rebuilt output is unchanged
([#&#8203;10333](https://redirect.github.com/rolldown/rolldown/issues/10333))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- code-splitting: wrap strict execution order modules on demand
([#&#8203;10104](https://redirect.github.com/rolldown/rolldown/issues/10104))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- support `import.meta.ROLLDOWN_FILE_URL_*`
([#&#8203;10296](https://redirect.github.com/rolldown/rolldown/issues/10296))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- implement `resolveFileUrl` plugin hook
([#&#8203;10291](https://redirect.github.com/rolldown/rolldown/issues/10291))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- magic-string: support storeName on overwrite/update
([#&#8203;10312](https://redirect.github.com/rolldown/rolldown/issues/10312))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🐛 Bug Fixes

- external: keep `__toESM` when the importing module is tree-shaken
([#&#8203;10516](https://redirect.github.com/rolldown/rolldown/issues/10516))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- dev: resolve re-exports from externals through a real import
([#&#8203;10489](https://redirect.github.com/rolldown/rolldown/issues/10489))
by [@&#8203;tbvjaos510](https://redirect.github.com/tbvjaos510)
- code-splitting: route CJS barrel initialization per consumer
([#&#8203;10488](https://redirect.github.com/rolldown/rolldown/issues/10488))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- error: align filename-pattern diagnostics with Rollup's wording
([#&#8203;10501](https://redirect.github.com/rolldown/rolldown/issues/10501))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- plugin: validate emitted prebuilt-chunk file names
([#&#8203;10399](https://redirect.github.com/rolldown/rolldown/issues/10399))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- code-splitting: point a two-argument dynamic import at the chunk that
holds the module
([#&#8203;10479](https://redirect.github.com/rolldown/rolldown/issues/10479))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- common: align is\_path\_fragment with Rollup's isPathFragment
([#&#8203;10398](https://redirect.github.com/rolldown/rolldown/issues/10398))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- code-splitting: never name an internal chunk export `then`
([#&#8203;10480](https://redirect.github.com/rolldown/rolldown/issues/10480))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: avoid creating call-site-triggered entry facades
([#&#8203;10485](https://redirect.github.com/rolldown/rolldown/issues/10485))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: collect top-level eager order reasons in every strict
build
([#&#8203;10463](https://redirect.github.com/rolldown/rolldown/issues/10463))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: let a cross-chunk dynamic importer carry the order
trigger
([#&#8203;10456](https://redirect.github.com/rolldown/rolldown/issues/10456))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: avoid the dynamic-entry facade when the same-chunk
collapse carries the trigger
([#&#8203;10433](https://redirect.github.com/rolldown/rolldown/issues/10433))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- binding: forward resolveId options.kind to callable builtin plugins
([#&#8203;10440](https://redirect.github.com/rolldown/rolldown/issues/10440))
by
[@&#8203;martijnwalraven](https://redirect.github.com/martijnwalraven)
- dev: keep the export name of `export * as ns from`
([#&#8203;10476](https://redirect.github.com/rolldown/rolldown/issues/10476))
by [@&#8203;tbvjaos510](https://redirect.github.com/tbvjaos510)
- code-splitting: only split an entry facade when something else can
load its chunk
([#&#8203;10441](https://redirect.github.com/rolldown/rolldown/issues/10441))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: fold the runtime chunk back after order lowering
([#&#8203;10414](https://redirect.github.com/rolldown/rolldown/issues/10414))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- runtime: don't leave default undefined for cjs that fakes \_\_esModule
([#&#8203;10453](https://redirect.github.com/rolldown/rolldown/issues/10453))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- import-glob: escape generated string literals
([#&#8203;10438](https://redirect.github.com/rolldown/rolldown/issues/10438))
by [@&#8203;shantanuraj](https://redirect.github.com/shantanuraj)
- preserve-modules: don't assume every chunk mirrors a module
([#&#8203;10442](https://redirect.github.com/rolldown/rolldown/issues/10442))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- filter: treat missing hook inputs as non-matches, not panics
([#&#8203;10443](https://redirect.github.com/rolldown/rolldown/issues/10443))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- code-splitting: keep CommonJS modules wrapped under strict execution
order
([#&#8203;10405](https://redirect.github.com/rolldown/rolldown/issues/10405))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: align dynamicImports metadata with the rewritten
import() specifier
([#&#8203;10430](https://redirect.github.com/rolldown/rolldown/issues/10430))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- dev: skip user plugin hooks for ?rolldown-lazy proxy modules
([#&#8203;10426](https://redirect.github.com/rolldown/rolldown/issues/10426))
by [@&#8203;unknownjedi](https://redirect.github.com/unknownjedi)
- treeshake: preserve side-effect-free spread arguments in manual-pure
chains
([#&#8203;10432](https://redirect.github.com/rolldown/rolldown/issues/10432))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- treeshake: preserve eagerly evaluated child effects of manual pure
chains
([#&#8203;10427](https://redirect.github.com/rolldown/rolldown/issues/10427))
by [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv)
- code-splitting: initialize pure definers behind star re-export barrels
under strict execution order
([#&#8203;10409](https://redirect.github.com/rolldown/rolldown/issues/10409))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- resolveId: reject string `id` filters (must be a RegExp)
([#&#8203;10412](https://redirect.github.com/rolldown/rolldown/issues/10412))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- code-splitting: collect eager order reasons for on-demand wrapping
([#&#8203;10387](https://redirect.github.com/rolldown/rolldown/issues/10387))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- rolldown: apply output.paths to CJS export-star of external modules
([#&#8203;10406](https://redirect.github.com/rolldown/rolldown/issues/10406))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- dev: sourcemaps of lazily compiled chunks
([#&#8203;10386](https://redirect.github.com/rolldown/rolldown/issues/10386))
by [@&#8203;tbvjaos510](https://redirect.github.com/tbvjaos510)
- plugin: validate emitted file names at emitFile time
([#&#8203;10377](https://redirect.github.com/rolldown/rolldown/issues/10377))
by [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv)
- guarantee tokio runtime release when close rejects
([#&#8203;10381](https://redirect.github.com/rolldown/rolldown/issues/10381))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- code-splitting: make strict transitive init registration deterministic
and constant-time
([#&#8203;10320](https://redirect.github.com/rolldown/rolldown/issues/10320))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- pair tokio runtime acquire and release on wasm to prevent premature
shutdown
([#&#8203;10363](https://redirect.github.com/rolldown/rolldown/issues/10363))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- don't body-demand modules from simulated facade chunk includes
([#&#8203;10351](https://redirect.github.com/rolldown/rolldown/issues/10351))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- tracing: invalid RD\_LOG filter and RD\_LOG\_OUTPUT=json no longer
panic
([#&#8203;10343](https://redirect.github.com/rolldown/rolldown/issues/10343))
by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- code-splitting: treat class definition-time global reads as
order-sensitive
([#&#8203;10322](https://redirect.github.com/rolldown/rolldown/issues/10322))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: deconflict force-included runtime helper statements
([#&#8203;10336](https://redirect.github.com/rolldown/rolldown/issues/10336))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- binding: forward all missing parallel JS plugin hooks
([#&#8203;10345](https://redirect.github.com/rolldown/rolldown/issues/10345))
by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- code-splitting: re-derive chunk exec order after the runtime sweep
([#&#8203;10334](https://redirect.github.com/rolldown/rolldown/issues/10334))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- types: add undefined to ExistingRawSourceMap optional properties
([#&#8203;10355](https://redirect.github.com/rolldown/rolldown/issues/10355))
by [@&#8203;ocavue](https://redirect.github.com/ocavue)
- magic-string: validate relocate ranges before rewiring
([#&#8203;10327](https://redirect.github.com/rolldown/rolldown/issues/10327))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- add EMPTY\_IMPORT\_META warning for non-node CJS output
([#&#8203;10222](https://redirect.github.com/rolldown/rolldown/issues/10222))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- call `resolveFileUrl` in a deterministic order
([#&#8203;10330](https://redirect.github.com/rolldown/rolldown/issues/10330))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- magic-string: refuse repeated sendMagicString on a consumed instance
([#&#8203;10331](https://redirect.github.com/rolldown/rolldown/issues/10331))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- magic-string: refuse to use a MagicString after sendMagicString
consumed it
([#&#8203;10326](https://redirect.github.com/rolldown/rolldown/issues/10326))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- magic-string: reject non-contiguous moves before rewiring the chunk
list
([#&#8203;10311](https://redirect.github.com/rolldown/rolldown/issues/10311))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- handle `./foo/bar` glob pattern the same as `foo/bar`
([#&#8203;10313](https://redirect.github.com/rolldown/rolldown/issues/10313))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- magic-string: throw instead of panicking when append/prepend splits an
edited chunk
([#&#8203;10301](https://redirect.github.com/rolldown/rolldown/issues/10301))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- output: skip separator for empty hoisted functions
([#&#8203;10310](https://redirect.github.com/rolldown/rolldown/issues/10310))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- magic-string: don't report a change when edits cancel out
([#&#8203;10299](https://redirect.github.com/rolldown/rolldown/issues/10299))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- sourcemap: map wrapped imported callees
([#&#8203;10288](https://redirect.github.com/rolldown/rolldown/issues/10288))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- magic-string: count positional inserts at index 0 on an empty source
([#&#8203;10306](https://redirect.github.com/rolldown/rolldown/issues/10306))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- magic-string: return UTF-16 code units from length()
([#&#8203;10295](https://redirect.github.com/rolldown/rolldown/issues/10295))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- output: skip separator for empty import prelude
([#&#8203;10289](https://redirect.github.com/rolldown/rolldown/issues/10289))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)

##### 🚜 Refactor

- dev: make it easier to customize the runtime
([#&#8203;10338](https://redirect.github.com/rolldown/rolldown/issues/10338))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- code-splitting: declare CJS carrier namespaces initializer-free
([#&#8203;10513](https://redirect.github.com/rolldown/rolldown/issues/10513))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- rollup-tests: avoid relying on `NODE_PATH` env var resolution
([#&#8203;10496](https://redirect.github.com/rolldown/rolldown/issues/10496))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- code-splitting: derive symbol chunk ownership as pass-local link data
([#&#8203;10449](https://redirect.github.com/rolldown/rolldown/issues/10449))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- plugin: share asset emission helpers between copy\_module and
asset\_module
([#&#8203;10450](https://redirect.github.com/rolldown/rolldown/issues/10450))
by [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv)
- plugin: dedupe hook binding boilerplate
([#&#8203;10428](https://redirect.github.com/rolldown/rolldown/issues/10428))
by [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv)
- plugin: share the oxc parse preamble between import-glob and
dynamic-import-vars
([#&#8203;10452](https://redirect.github.com/rolldown/rolldown/issues/10452))
by [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv)
- implement `GetAstBuilder` on visitor/pass types
([#&#8203;10424](https://redirect.github.com/rolldown/rolldown/issues/10424))
by [@&#8203;overlookmotel](https://redirect.github.com/overlookmotel)
- pass arrays to AST builder methods
([#&#8203;10419](https://redirect.github.com/rolldown/rolldown/issues/10419))
by [@&#8203;overlookmotel](https://redirect.github.com/overlookmotel)
- shorten AST builder code
([#&#8203;10418](https://redirect.github.com/rolldown/rolldown/issues/10418))
by [@&#8203;overlookmotel](https://redirect.github.com/overlookmotel)
- centralize final ESM init metadata
([#&#8203;10376](https://redirect.github.com/rolldown/rolldown/issues/10376))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- descriptor-based parallel-plugin detection (getParallelPluginInfo)
([#&#8203;10349](https://redirect.github.com/rolldown/rolldown/issues/10349))
by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- remove AstFactory in favor of new\_\* construction traits
([#&#8203;10353](https://redirect.github.com/rolldown/rolldown/issues/10353))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- enable oxc\_ast's `disable_old_builder` feature
([#&#8203;10316](https://redirect.github.com/rolldown/rolldown/issues/10316))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)

##### 📚 Documentation

- development-guide: update config.json link line reference
([#&#8203;10523](https://redirect.github.com/rolldown/rolldown/issues/10523))
by [@&#8203;dogledogle](https://redirect.github.com/dogledogle)
- clarify slash normalization for id hook filter
([#&#8203;10511](https://redirect.github.com/rolldown/rolldown/issues/10511))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- code-splitting: record the thenable-namespace rule
([#&#8203;10502](https://redirect.github.com/rolldown/rolldown/issues/10502))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- clarify that `esmExternalRequirePlugin` must own its externals
([#&#8203;10439](https://redirect.github.com/rolldown/rolldown/issues/10439))
by [@&#8203;TheAlexLichter](https://redirect.github.com/TheAlexLichter)
- add troubleshooting entry for the
[@&#8203;rolldown/binding-](https://redirect.github.com/rolldown/binding-)...
resolution error
([#&#8203;10390](https://redirect.github.com/rolldown/rolldown/issues/10390))
by [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv)
- add Code Splitting API reference category
([#&#8203;10382](https://redirect.github.com/rolldown/rolldown/issues/10382))
by [@&#8203;vittorioexp](https://redirect.github.com/vittorioexp)

##### ⚡ Performance

- use VisitJsMut in JavaScript-only AST passes
([#&#8203;10507](https://redirect.github.com/rolldown/rolldown/issues/10507))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- cache the resolved glob matcher for Id/ImporterId filters
([#&#8203;10410](https://redirect.github.com/rolldown/rolldown/issues/10410))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- scope\_hoisting: remove `alloc` field from `ScopeHoistingFinalizer`
([#&#8203;10425](https://redirect.github.com/rolldown/rolldown/issues/10425))
by [@&#8203;overlookmotel](https://redirect.github.com/overlookmotel)
- reduce string allocations
([#&#8203;10423](https://redirect.github.com/rolldown/rolldown/issues/10423))
by [@&#8203;overlookmotel](https://redirect.github.com/overlookmotel)
- hmr: remove unnecessary string allocations
([#&#8203;10422](https://redirect.github.com/rolldown/rolldown/issues/10422))
by [@&#8203;overlookmotel](https://redirect.github.com/overlookmotel)
- avoid allocating static strings via custom builder methods
([#&#8203;10421](https://redirect.github.com/rolldown/rolldown/issues/10421))
by [@&#8203;overlookmotel](https://redirect.github.com/overlookmotel)
- pass string literals to AST builder methods
([#&#8203;10420](https://redirect.github.com/rolldown/rolldown/issues/10420))
by [@&#8203;overlookmotel](https://redirect.github.com/overlookmotel)
- use VisitJs in JavaScript-only AST passes
([#&#8203;10396](https://redirect.github.com/rolldown/rolldown/issues/10396))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- plugin: shrink erased plugin debug vtables
([#&#8203;10370](https://redirect.github.com/rolldown/rolldown/issues/10370))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- reuse normalized path buffers
([#&#8203;10315](https://redirect.github.com/rolldown/rolldown/issues/10315))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)

##### 🧪 Testing

- code-splitting: pin CJS barrel fallback triggers and flag-off
equivalence
([#&#8203;10514](https://redirect.github.com/rolldown/rolldown/issues/10514))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- plugin: cover chunk fileName, absolute chunk name, and Windows drive
names
([#&#8203;10400](https://redirect.github.com/rolldown/rolldown/issues/10400))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- code-splitting: cover a single-chunk dynamic import of a wrapped
module
([#&#8203;10505](https://redirect.github.com/rolldown/rolldown/issues/10505))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- file: remove the unused .dynamic\_import fixture
([#&#8203;10481](https://redirect.github.com/rolldown/rolldown/issues/10481))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- treeshake: reduce manual-pure fixture to a minimal smoke test, move
matrix to unit tests
([#&#8203;10436](https://redirect.github.com/rolldown/rolldown/issues/10436))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- dev: run vite playgrounds under bundled dev (test-serve-bundled)
([#&#8203;10434](https://redirect.github.com/rolldown/rolldown/issues/10434))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- stop snapshots from silently hiding user code inside the runtime
region
([#&#8203;10431](https://redirect.github.com/rolldown/rolldown/issues/10431))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- wasi: add tokio runtime lifecycle regression test
([#&#8203;10379](https://redirect.github.com/rolldown/rolldown/issues/10379))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- dev: expect preserved hot.data in hmr-whole-chain-dispose
([#&#8203;10380](https://redirect.github.com/rolldown/rolldown/issues/10380))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- code-splitting: pin flag-off wrapped-esm init emission
([#&#8203;10324](https://redirect.github.com/rolldown/rolldown/issues/10324))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- sourcemap: fix Windows-only failures in composition fixtures
([#&#8203;10368](https://redirect.github.com/rolldown/rolldown/issues/10368))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- generated-code: mark assert external in symbols\_ns2 for deterministic
output
([#&#8203;10339](https://redirect.github.com/rolldown/rolldown/issues/10339))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: cover entries-aware strict init cycle
([#&#8203;10307](https://redirect.github.com/rolldown/rolldown/issues/10307))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- make `just setup-vite` the only entry point that touches `vite/`
([#&#8203;10332](https://redirect.github.com/rolldown/rolldown/issues/10332))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- vite-tests: reuse the shared root vite checkout
([#&#8203;10325](https://redirect.github.com/rolldown/rolldown/issues/10325))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- test-dev-server: drop the vite submodule, track rolldown-canary
([#&#8203;10319](https://redirect.github.com/rolldown/rolldown/issues/10319))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- vite-tests: track the latest rolldown-canary rebased onto vite main
([#&#8203;10318](https://redirect.github.com/rolldown/rolldown/issues/10318))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- unify Vite in vite-test and test-dev-server
([#&#8203;10293](https://redirect.github.com/rolldown/rolldown/issues/10293))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)

##### ⚙️ Miscellaneous Tasks

- scope the binding artifact download to `bindings-*`
([#&#8203;10525](https://redirect.github.com/rolldown/rolldown/issues/10525))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- deps: update napi
([#&#8203;10506](https://redirect.github.com/rolldown/rolldown/issues/10506))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rollup submodule for tests to v4.62.3
([#&#8203;10494](https://redirect.github.com/rolldown/rolldown/issues/10494))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: upgrade oxc to 0.142.0
([#&#8203;10497](https://redirect.github.com/rolldown/rolldown/issues/10497))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- deps: update test262 submodule for tests
([#&#8203;10495](https://redirect.github.com/rolldown/rolldown/issues/10495))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update github actions
([#&#8203;10460](https://redirect.github.com/rolldown/rolldown/issues/10460))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crates
([#&#8203;10462](https://redirect.github.com/rolldown/rolldown/issues/10462))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update npm packages
([#&#8203;10461](https://redirect.github.com/rolldown/rolldown/issues/10461))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- metric: alert Discord when the metric workflow fails
([#&#8203;10447](https://redirect.github.com/rolldown/rolldown/issues/10447))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- metric: mint a short-lived GitHub App token instead of a PAT
([#&#8203;10446](https://redirect.github.com/rolldown/rolldown/issues/10446))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- repo: repair dangling CLAUDE.md symlink
([#&#8203;10451](https://redirect.github.com/rolldown/rolldown/issues/10451))
by [@&#8203;hanayashiki](https://redirect.github.com/hanayashiki)
- publint/package-metadata fixes and small correctness fixes
([#&#8203;10344](https://redirect.github.com/rolldown/rolldown/issues/10344))
by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn)
- deps: update dependency vite-plus to v0.2.6
([#&#8203;10404](https://redirect.github.com/rolldown/rolldown/issues/10404))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- add Semgrep scan workflow
([#&#8203;10395](https://redirect.github.com/rolldown/rolldown/issues/10395))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- enable Windows CI with a PR label
([#&#8203;10375](https://redirect.github.com/rolldown/rolldown/issues/10375))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- deps: upgrade oxc to 0.141.0
([#&#8203;10373](https://redirect.github.com/rolldown/rolldown/issues/10373))
by [@&#8203;camc314](https://redirect.github.com/camc314)
- deps: update napi
([#&#8203;10369](https://redirect.github.com/rolldown/rolldown/issues/10369))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update test262 submodule for tests
([#&#8203;10367](https://redirect.github.com/rolldown/rolldown/issues/10367))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update taiki-e/install-action action to v2.83.3
([#&#8203;10358](https://redirect.github.com/rolldown/rolldown/issues/10358))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crates
([#&#8203;10357](https://redirect.github.com/rolldown/rolldown/issues/10357))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update npm packages
([#&#8203;10359](https://redirect.github.com/rolldown/rolldown/issues/10359))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crate syn to v3
([#&#8203;10362](https://redirect.github.com/rolldown/rolldown/issues/10362))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crate oxc\_sourcemap to v8.1.2
([#&#8203;10356](https://redirect.github.com/rolldown/rolldown/issues/10356))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency vite-plus to v0.2.5
([#&#8203;10329](https://redirect.github.com/rolldown/rolldown/issues/10329))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- docs: migrate Netlify redirects to Void config
([#&#8203;10282](https://redirect.github.com/rolldown/rolldown/issues/10282))
by [@&#8203;tux-tn](https://redirect.github.com/tux-tn)
- deps: update dependency rust to v1.97.1
([#&#8203;10317](https://redirect.github.com/rolldown/rolldown/issues/10317))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- runtime: remove unused `runtime/index.js`
([#&#8203;10302](https://redirect.github.com/rolldown/rolldown/issues/10302))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### ❤️ New Contributors

- [@&#8203;dogledogle](https://redirect.github.com/dogledogle) made
their first contribution in
[#&#8203;10523](https://redirect.github.com/rolldown/rolldown/pull/10523)
- [@&#8203;tbvjaos510](https://redirect.github.com/tbvjaos510) made
their first contribution in
[#&#8203;10489](https://redirect.github.com/rolldown/rolldown/pull/10489)
- [@&#8203;martijnwalraven](https://redirect.github.com/martijnwalraven)
made their first contribution in
[#&#8203;10440](https://redirect.github.com/rolldown/rolldown/pull/10440)
- [@&#8203;shantanuraj](https://redirect.github.com/shantanuraj) made
their first contribution in
[#&#8203;10438](https://redirect.github.com/rolldown/rolldown/pull/10438)
- [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv) made
their first contribution in
[#&#8203;10450](https://redirect.github.com/rolldown/rolldown/pull/10450)
- [@&#8203;hanayashiki](https://redirect.github.com/hanayashiki) made
their first contribution in
[#&#8203;10451](https://redirect.github.com/rolldown/rolldown/pull/10451)
- [@&#8203;unknownjedi](https://redirect.github.com/unknownjedi) made
their first contribution in
[#&#8203;10426](https://redirect.github.com/rolldown/rolldown/pull/10426)
- [@&#8203;vittorioexp](https://redirect.github.com/vittorioexp) made
their first contribution in
[#&#8203;10382](https://redirect.github.com/rolldown/rolldown/pull/10382)
- [@&#8203;tux-tn](https://redirect.github.com/tux-tn) made their first
contribution in
[#&#8203;10282](https://redirect.github.com/rolldown/rolldown/pull/10282)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-29 15:33:19 +01:00
Boshen 85d0f4dd1f feat(napi): add React Compiler transform binding (#24934)
Adds the `oxc-transform-react` N-API binding and its public CI and publish workflows.

AI-assisted.
2026-07-29 09:08:58 +00:00
renovate[bot] c8c26a8ec3 chore(deps): update oxc to ^0.142.0 (#24992)
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/) |
|---|---|---|---|---|---|
| [@oxc-project/types](https://oxc.rs)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types))
| [`^0.141.0` →
`^0.142.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.141.0/0.142.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.142.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.142.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.141.0/0.142.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.141.0/0.142.0?slim=true)
|
| [oxc-parser](https://oxc.rs/docs/guide/usage/parser)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/napi/parser))
| [`^0.141.0` →
`^0.142.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.141.0/0.142.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/oxc-parser/0.142.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxc-parser/0.142.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxc-parser/0.141.0/0.142.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxc-parser/0.141.0/0.142.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxc-parser)</summary>

###
[`v0.142.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/napi/parser/CHANGELOG.md#01420---2026-07-27)

##### 🚀 Features

-
[`11f5d1f`](https://redirect.github.com/oxc-project/oxc/commit/11f5d1f)
ast\_visit: Add `Utf8ToUtf16::convert_program_and_comments`
([#&#8203;24859](https://redirect.github.com/oxc-project/oxc/issues/24859))
(overlookmotel)

##### 🐛 Bug Fixes

-
[`e80574f`](https://redirect.github.com/oxc-project/oxc/commit/e80574f)
estree: Handle empty spans serializing `ImportMeta` and `NewTarget`
([#&#8203;24775](https://redirect.github.com/oxc-project/oxc/issues/24775))
(overlookmotel)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-27 17:56:45 +01:00
renovate[bot] 116892b903 chore(deps): update dependency oxlint to v1.76.0 (#24994)
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/) |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs/docs/guide/usage/linter)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint))
| [`1.75.0` →
`1.76.0`](https://renovatebot.com/diffs/npm/oxlint/1.75.0/1.76.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.76.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.76.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.75.0/1.76.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.75.0/1.76.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

###
[`v1.76.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1760---2026-07-27)

[Compare
Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v1.75.0...oxlint_v1.76.0)

##### 🚀 Features

-
[`8d31dfa`](https://redirect.github.com/oxc-project/oxc/commit/8d31dfa)
linter: Verify eslint/no-restricted-globals config schema
([#&#8203;24598](https://redirect.github.com/oxc-project/oxc/issues/24598))
(vigneshwar)
-
[`7069621`](https://redirect.github.com/oxc-project/oxc/commit/7069621)
linter: Verify jest/vitest prefer-lowercase-title config schema
([#&#8203;24724](https://redirect.github.com/oxc-project/oxc/issues/24724))
(Bartok)
-
[`016cf2a`](https://redirect.github.com/oxc-project/oxc/commit/016cf2a)
linter/oxc: Add bad-match-all-arg rule
([#&#8203;24900](https://redirect.github.com/oxc-project/oxc/issues/24900))
(camc314)
-
[`cdc941e`](https://redirect.github.com/oxc-project/oxc/commit/cdc941e)
linter/n: Implement `exports-style` rule
([#&#8203;24087](https://redirect.github.com/oxc-project/oxc/issues/24087))
(Mikhail Baev)
-
[`1ad6f6c`](https://redirect.github.com/oxc-project/oxc/commit/1ad6f6c)
linter/eslint: Implement `id-denylist` rule
([#&#8203;24632](https://redirect.github.com/oxc-project/oxc/issues/24632))
(Mikhail Baev)

##### 📚 Documentation

-
[`3ff2e0e`](https://redirect.github.com/oxc-project/oxc/commit/3ff2e0e)
linter: Clarify config extends types
([#&#8203;24936](https://redirect.github.com/oxc-project/oxc/issues/24936))
(Boshen)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-27 17:48:43 +01:00
renovate[bot] 5e9132308e chore(deps): update dependency oxfmt to ^0.61.0 (#24993)
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/) |
|---|---|---|---|---|---|
| [oxfmt](https://oxc.rs/docs/guide/usage/formatter)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt))
| [`^0.60.0` →
`^0.61.0`](https://renovatebot.com/diffs/npm/oxfmt/0.60.0/0.61.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.61.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxfmt/0.61.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxfmt/0.60.0/0.61.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.60.0/0.61.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxfmt)</summary>

###
[`v0.61.0`](https://redirect.github.com/oxc-project/oxc/compare/oxfmt_v0.60.0...oxfmt_v0.61.0)

[Compare
Source](https://redirect.github.com/oxc-project/oxc/compare/oxfmt_v0.60.0...oxfmt_v0.61.0)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-27 17:28:09 +01:00
renovate[bot] 6912b50405 chore(deps): update dependency degit to v3.6.2 (#24957)
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/) |
|---|---|---|---|---|---|
| [degit](https://redirect.github.com/Rich-Harris/degit) | [`3.6.1` →
`3.6.2`](https://renovatebot.com/diffs/npm/degit/3.6.1/3.6.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/degit/3.6.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/degit/3.6.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/degit/3.6.1/3.6.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/degit/3.6.1/3.6.2?slim=true)
|

---

### Release Notes

<details>
<summary>Rich-Harris/degit (degit)</summary>

###
[`v3.6.2`](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.1...v3.6.2)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.1...v3.6.2)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-27 10:19:28 +01:00
renovate[bot] 08ecb03a34 chore(deps): update npm packages (#24948)
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/) |
|---|---|---|---|---|---|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`8.64.0` →
`8.65.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.64.0/8.65.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.65.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.65.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.64.0/8.65.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.64.0/8.65.0?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.64.0` →
`8.65.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.64.0/8.65.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fscope-manager/8.65.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fscope-manager/8.65.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fscope-manager/8.64.0/8.65.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fscope-manager/8.64.0/8.65.0?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.64.0` →
`8.65.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.64.0/8.65.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.65.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.65.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.64.0/8.65.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.64.0/8.65.0?slim=true)
|
| [publint](https://publint.dev)
([source](https://redirect.github.com/publint/publint/tree/HEAD/packages/publint))
| [`0.3.21` →
`0.3.22`](https://renovatebot.com/diffs/npm/publint/0.3.21/0.3.22) |
![age](https://developer.mend.io/api/mc/badges/age/npm/publint/0.3.22?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/publint/0.3.22?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/publint/0.3.21/0.3.22?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/publint/0.3.21/0.3.22?slim=true)
|
| [svelte](https://svelte.dev)
([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte))
| [`5.56.6` →
`5.56.7`](https://renovatebot.com/diffs/npm/svelte/5.56.6/5.56.7) |
![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.56.7?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svelte/5.56.7?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svelte/5.56.6/5.56.7?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.56.6/5.56.7?slim=true)
|

---

### Release Notes

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

###
[`v8.65.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8650-2026-07-20)

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

##### 🚀 Features

- add warning when TS 7 is detected
([#&#8203;12529](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529))
- **parser:** add onUnsupportedTypeScriptVersion option to error on
unsupported TypeScript versions
([#&#8203;12465](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465))

##### ❤️ Thank You

- Evyatar Daud
[@&#8203;StyleShit](https://redirect.github.com/StyleShit)
- Josh Goldberg ✨
- Kirk Waiblinger
[@&#8203;kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- 송재욱

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.0)
for more information.

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/scope-manager)</summary>

###
[`v8.65.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8650-2026-07-20)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.0)
for more information.

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.65.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8650-2026-07-20)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.0)
for more information.

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>publint/publint (publint)</summary>

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

##### Patch Changes

- [#&#8203;241](https://redirect.github.com/publint/publint/pull/241)
[`7740a62`](https://redirect.github.com/publint/publint/commit/7740a62fe60cc874de25fe491793eaf2bfc11d9e)
- Support npm v12 and pnpm v11

-
[`cad0425`](https://redirect.github.com/publint/publint/commit/cad0425333aaa3c7a2dbca492477c80a7bd7fd09)
- Relax git url regex for repository validation

- [#&#8203;244](https://redirect.github.com/publint/publint/pull/244)
[`393ac4d`](https://redirect.github.com/publint/publint/commit/393ac4d2fda4b26b8f921e021bf6efeab2849467)
- Recognize more common internal files for the `USE_FILES` suggestion.

- [#&#8203;242](https://redirect.github.com/publint/publint/pull/242)
[`4a8dc75`](https://redirect.github.com/publint/publint/commit/4a8dc757f7928dd884c762c9315f6e99d8805917)
- Refactor supported package manager handling from `@publint/pack`

</details>

<details>
<summary>sveltejs/svelte (svelte)</summary>

###
[`v5.56.7`](https://redirect.github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5567)

[Compare
Source](https://redirect.github.com/sveltejs/svelte/compare/svelte@5.56.6...svelte@5.56.7)

##### Patch Changes

- chore: provide `indent` option for `print`
([#&#8203;18474](https://redirect.github.com/sveltejs/svelte/pull/18474))

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-26 17:16:37 +01:00
renovate[bot] fa11540b72 chore(deps): update dependency tsdown to v0.22.14 (#24862)
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/) |
|---|---|---|---|---|---|
| [tsdown](http://tsdown.dev/)
([source](https://redirect.github.com/rolldown/tsdown)) | [`0.22.13` →
`0.22.14`](https://renovatebot.com/diffs/npm/tsdown/0.22.13/0.22.14) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.22.14?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.22.14?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.22.13/0.22.14?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.22.13/0.22.14?slim=true)
|

---

### Release Notes

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

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

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

#####    🚀 Features

- Add CLI build concurrency option  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz) and **Jeroen
Zwartepoorte**
[<samp>(8a14c)</samp>](https://redirect.github.com/rolldown/tsdown/commit/8a14c35)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzUuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI3NS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 13:47:40 +00:00
leaysgur f5bfec5014 chore(oxfmt): update prettier to 3.9.6 (#24880)
https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396
2026-07-24 05:39:15 +00:00
renovate[bot] ba56a92b8b chore(deps): update dependency vite-plus to v0.2.6 (#24827)
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/) |
|---|---|---|---|---|---|
| [vite-plus](https://viteplus.dev/guide)
([source](https://redirect.github.com/voidzero-dev/vite-plus/tree/HEAD/packages/cli))
| [`0.2.5` →
`0.2.6`](https://renovatebot.com/diffs/npm/vite-plus/0.2.5/0.2.6) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plus/0.2.6?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plus/0.2.6?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plus/0.2.5/0.2.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plus/0.2.5/0.2.6?slim=true)
|

---

### Release Notes

<details>
<summary>voidzero-dev/vite-plus (vite-plus)</summary>

###
[`v0.2.6`](https://redirect.github.com/voidzero-dev/vite-plus/releases/tag/v0.2.6):
vite-plus v0.2.6

[Compare
Source](https://redirect.github.com/voidzero-dev/vite-plus/compare/v0.2.5...v0.2.6)

#### vite-plus v0.2.6

##### Published Packages

- `@voidzero-dev/vite-plus-core@0.2.6`
- `vite-plus@0.2.6`

##### Installation

**macOS/Linux:**

```bash
curl -fsSL https://vite.plus | bash
```

**Windows:**

```powershell
irm https://vite.plus/ps1 | iex
```

Or download and run `vp-setup.exe` from the assets below.

View the full commit:
[`cd064c6`](https://redirect.github.com/voidzero-dev/vite-plus/commit/cd064c68a45fb82badfc1853ff690b1b70511165)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzUuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI3NS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-23 08:48:51 +00:00
renovate[bot] 7c4634610c chore(deps): update dependency oxlint to v1.75.0 (#24783)
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/) |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs/docs/guide/usage/linter)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint))
| [`1.74.0` →
`1.75.0`](https://renovatebot.com/diffs/npm/oxlint/1.74.0/1.75.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.75.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.75.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.74.0/1.75.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.74.0/1.75.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

###
[`v1.75.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1750---2026-07-20)

[Compare
Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v1.74.0...oxlint_v1.75.0)

##### 🚀 Features

-
[`dd18383`](https://redirect.github.com/oxc-project/oxc/commit/dd18383)
linter/node: Implement no-top-level-await rule
([#&#8203;24634](https://redirect.github.com/oxc-project/oxc/issues/24634))
(Connor Shea)
-
[`16a65f2`](https://redirect.github.com/oxc-project/oxc/commit/16a65f2)
linter/react: Implement function-component-definition rule
([#&#8203;24471](https://redirect.github.com/oxc-project/oxc/issues/24471))
(Cole Ellison)
-
[`7f1f585`](https://redirect.github.com/oxc-project/oxc/commit/7f1f585)
linter: Reuse `jest/padding-around-test-blocks` for
`vitest/padding-around-test-blocks`
([#&#8203;24519](https://redirect.github.com/oxc-project/oxc/issues/24519))
(Mikhail Baev)
-
[`99978a8`](https://redirect.github.com/oxc-project/oxc/commit/99978a8)
linter/import/consistent-type-specifier-style: Support
`prefer-top-level-if-only-type-imports` option
([#&#8203;24502](https://redirect.github.com/oxc-project/oxc/issues/24502))
(camc314)

##### 🐛 Bug Fixes

-
[`8694167`](https://redirect.github.com/oxc-project/oxc/commit/8694167)
linter/eslint/prefer-destructuring: Handle typed declarations
([#&#8203;24616](https://redirect.github.com/oxc-project/oxc/issues/24616))
(camc314)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuNCIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-22 02:27:23 +00:00
renovate[bot] 3f24ee2ea8 chore(deps): update dependency oxfmt to ^0.60.0 (#24782)
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/) |
|---|---|---|---|---|---|
| [oxfmt](https://oxc.rs/docs/guide/usage/formatter)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt))
| [`^0.59.0` →
`^0.60.0`](https://renovatebot.com/diffs/npm/oxfmt/0.59.0/0.60.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.60.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxfmt/0.60.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxfmt/0.59.0/0.60.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.59.0/0.60.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxfmt)</summary>

###
[`v0.60.0`](https://redirect.github.com/oxc-project/oxc/compare/oxfmt_v0.59.0...oxfmt_v0.60.0)

[Compare
Source](https://redirect.github.com/oxc-project/oxc/compare/oxfmt_v0.59.0...oxfmt_v0.60.0)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuNCIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-22 01:57:59 +00:00
renovate[bot] ec543f27a8 chore(deps): update dependency tsdown to v0.22.13 (#24770)
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/) |
|---|---|---|---|---|---|
| [tsdown](http://tsdown.dev/)
([source](https://redirect.github.com/rolldown/tsdown)) | [`0.22.12` →
`0.22.13`](https://renovatebot.com/diffs/npm/tsdown/0.22.12/0.22.13) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.22.13?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.22.13?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.22.12/0.22.13?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.22.12/0.22.13?slim=true)
|

---

### Release Notes

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

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

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

#####    🚀 Features

- **deps**: Support `neverBundle: true` to externalize all dependencies
 -  by [@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(d30a7)</samp>](https://redirect.github.com/rolldown/tsdown/commit/d30a730)

#####    🐞 Bug Fixes

- Prevent tinyexec from modifying PATH  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(d84c5)</samp>](https://redirect.github.com/rolldown/tsdown/commit/d84c54a)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuNCIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-22 01:27:54 +00:00
renovate[bot] 935e9c8b26 chore(deps): update oxc to ^0.141.0 (#24771) 2026-07-21 17:33:16 +01:00
camc314 6ce51d3ff3 chore(deps): update dependency oxlint-tsgolint to v7.0.2000 (#24763) 2026-07-21 14:55:25 +00:00
renovate[bot] d3ce2e6520 chore(deps): update napi (#24752)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@napi-rs/cli](https://napi.rs/)
([source](https://redirect.github.com/napi-rs/napi-rs)) | [`3.7.3` →
`3.7.4`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.7.3/3.7.4) |
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.7.4?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.7.4?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.7.3/3.7.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.7.3/3.7.4?slim=true)
| pnpm.catalog.default | patch |
| [napi](https://redirect.github.com/napi-rs/napi-rs) | `3.10.5` →
`3.11.0` |
![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.11.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.11.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.10.5/3.11.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.10.5/3.11.0?slim=true)
| workspace.dependencies | minor |
| [napi-derive](https://redirect.github.com/napi-rs/napi-rs) | `3.5.10`
→ `3.6.0` |
![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.6.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.6.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.5.10/3.6.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.5.10/3.6.0?slim=true)
| workspace.dependencies | minor |

---

### Release Notes

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

###
[`v3.7.4`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.7.3...762a0e389a0196d7446666ee5ef8468994dcac4f)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuNCIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-21 07:57:17 +00:00
renovate[bot] 48cb807adb chore(deps): update dependency tsdown to v0.22.12 (#24688)
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/) |
|---|---|---|---|---|---|
| [tsdown](http://tsdown.dev/)
([source](https://redirect.github.com/rolldown/tsdown)) | [`0.22.11` →
`0.22.12`](https://renovatebot.com/diffs/npm/tsdown/0.22.11/0.22.12) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.22.12?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.22.12?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.22.11/0.22.12?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.22.11/0.22.12?slim=true)
|

---

### Release Notes

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

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

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

#####    🚨 Breaking Changes

- **exe**: Standardize minimum Node.js version  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(85f23)</samp>](https://redirect.github.com/rolldown/tsdown/commit/85f23ea)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-21 00:46:08 +00:00
renovate[bot] 171739b9f2 chore(deps): update dependency svelte to v5.56.6 (#24693)
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/) |
|---|---|---|---|---|---|
| [svelte](https://svelte.dev)
([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte))
| [`5.56.5` →
`5.56.6`](https://renovatebot.com/diffs/npm/svelte/5.56.5/5.56.6) |
![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.56.6?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svelte/5.56.6?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svelte/5.56.5/5.56.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.56.5/5.56.6?slim=true)
|

---

### Release Notes

<details>
<summary>sveltejs/svelte (svelte)</summary>

###
[`v5.56.6`](https://redirect.github.com/sveltejs/svelte/releases/tag/svelte%405.56.6)

[Compare
Source](https://redirect.github.com/sveltejs/svelte/compare/svelte@5.56.5...svelte@5.56.6)

##### Patch Changes

- perf: skip unnecessary blocker analysis when compiling components
without top-level await
([#&#8203;18548](https://redirect.github.com/sveltejs/svelte/pull/18548))

- fix: rerun derived that had an abort controller on reconnection
([#&#8203;18551](https://redirect.github.com/sveltejs/svelte/pull/18551))

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 09:36:40 +01:00
renovate 577cbbe3ed chore(deps): update dependency execa to v10 (#24695)
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/) |
|---|---|---|---|---|---|
| [execa](https://redirect.github.com/sindresorhus/execa) | [`^9.6.0` → `^10.0.0`](https://renovatebot.com/diffs/npm/execa/9.6.1/10.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/execa/10.0.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/execa/10.0.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/execa/9.6.1/10.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/execa/9.6.1/10.0.0?slim=true) |

---

### Release Notes

<details>
<summary>sindresorhus/execa (execa)</summary>

### [`v10.0.0`](https://redirect.github.com/sindresorhus/execa/releases/tag/v10.0.0)

[Compare Source](https://redirect.github.com/sindresorhus/execa/compare/v9.6.1...v10.0.0)

##### Breaking

- Require Node.js 22. ([#&#8203;1243](https://redirect.github.com/sindresorhus/execa/issues/1243))  [`04b4454`](https://redirect.github.com/sindresorhus/execa/commit/04b4454)

- The subprocess is now a normal promise, instead of a [`ChildProcess`](https://nodejs.org/api/child_process.html#class-childprocess) instance augmented with promise methods. All the methods and properties [documented by Execa](docs/api.md#subprocess) are unchanged. Node.js-specific `ChildProcess` APIs (such as `.on()`, `.send()`, `.ref()` and `.unref()`) must now be accessed through the new [`subprocess.nodeChildProcess`](docs/api.md#subprocessnodechildprocess) property. ([#&#8203;1255](https://redirect.github.com/sindresorhus/execa/issues/1255))  [`ade74bf`](https://redirect.github.com/sindresorhus/execa/commit/ade74bf)

```diff
const subprocess = execa('node', ['file.js']);
- subprocess.on('spawn', onSpawn);
+ subprocess.nodeChildProcess.on('spawn', onSpawn);
```

- Removed `execaCommand()` and `execaCommandSync()`. Use the [template string syntax](docs/execution.md#template-string-syntax) instead, which splits on spaces. If the command is a dynamic string, split it with [`parseCommandString()`](docs/api.md#parsecommandstringcommand). ([#&#8203;1244](https://redirect.github.com/sindresorhus/execa/issues/1244))  [`3ced394`](https://redirect.github.com/sindresorhus/execa/commit/3ced394)

```diff
- await execaCommand('npm run build');
+ await execa`npm run build`;

- await execaCommand(commandString);
+ await execa`${parseCommandString(commandString)}`;
```

- Removed the old undocumented `stdio: [..., 'ipc']` syntax. Use the [`ipc: true`](docs/api.md#optionsipc) option instead. ([#&#8203;1245](https://redirect.github.com/sindresorhus/execa/issues/1245))  [`dcf611c`](https://redirect.github.com/sindresorhus/execa/commit/dcf611c)

```diff
- await execa('node', ['file.js'], {stdio: ['pipe', 'pipe', 'pipe', 'ipc']});
+ await execa('node', ['file.js'], {ipc: true});
```

- When the [`input`](docs/api.md#optionsinput) or [`inputFile`](docs/api.md#optionsinputfile) option is combined with an inherited [`stdin`](docs/api.md#optionsstdin) (for example `stdio: 'inherit'`), the explicit input is now used, instead of being ignored. To combine [multiple inputs](docs/input.md#multiple-inputs), pass an array like `stdin: ['inherit', {string: 'input'}]`. ([#&#8203;1232](https://redirect.github.com/sindresorhus/execa/issues/1232))  [`3ed0544`](https://redirect.github.com/sindresorhus/execa/commit/3ed0544)

##### Improvements

- Terminate the subprocess' [descendant processes](docs/termination.md#killing-descendant-processes) by using the [`killDescendants`](docs/api.md#optionskilldescendants) option. This is useful when the subprocess spawns its own processes, such as when using the [`shell`](docs/api.md#optionsshell) option. ([#&#8203;1256](https://redirect.github.com/sindresorhus/execa/issues/1256))  [`84fa0ec`](https://redirect.github.com/sindresorhus/execa/commit/84fa0ec)

```js
await execa('npm', ['run', 'build'], {killDescendants: true, timeout: 5000});
```

- [Convert the subprocess](docs/streams.md#converting-a-subprocess-to-a-web-stream) to a web stream by using [`subprocess.readableStream()`](docs/api.md#subprocessreadablestreamreadableoptions), [`subprocess.writableStream()`](docs/api.md#subprocesswritablestreamwritableoptions) or [`subprocess.transformStream()`](docs/api.md#subprocesstransformstreamduplexoptions). ([#&#8203;1254](https://redirect.github.com/sindresorhus/execa/issues/1254))  [`29d9cfc`](https://redirect.github.com/sindresorhus/execa/commit/29d9cfc)

```js
await execa`npm run build`
	.readableStream()
	.pipeTo(writableWebStream);
```

- The value returned by [`subprocess.pipe()`](docs/api.md#subprocesspipefile-arguments-options) now exposes the destination subprocess' methods, so the piped output can be consumed directly: [iterate](docs/pipe.md#iterate-stream-and-ipc) over its output lines, [convert it to a stream](docs/streams.md#converting-a-subprocess-to-a-stream), or [exchange IPC messages](docs/ipc.md#exchanging-messages). ([#&#8203;1252](https://redirect.github.com/sindresorhus/execa/issues/1252))  [`c31c94c`](https://redirect.github.com/sindresorhus/execa/commit/c31c94c)

```js
for await (const line of execa`npm run build`.pipe`sort`) {
	console.log(line);
}
```

- Use an [additional file descriptor as input](docs/input.md#additional-file-descriptors) by wrapping its [`stdio`](docs/api.md#optionsstdio) value as a `{value, input: true}` object. Direction-ambiguous values (`'pipe'`, `'inherit'`, [files](docs/input.md#file-input) and [transforms](docs/transform.md)) default to output on additional file descriptors. ([#&#8203;1246](https://redirect.github.com/sindresorhus/execa/issues/1246), [#&#8203;1249](https://redirect.github.com/sindresorhus/execa/issues/1249))  [`487a3a4`](https://redirect.github.com/sindresorhus/execa/commit/487a3a4) [`9fbf5ba`](https://redirect.github.com/sindresorhus/execa/commit/9fbf5ba)

```js
const subprocess = execa({stdio: ['pipe', 'pipe', 'pipe', {value: 'pipe', input: true}]})`npm run scaffold`;

const writable = subprocess.writable({to: 'fd3'});
```

- The [transform](docs/transform.md) generator function's `chunk` argument is now typed based on the transform's mode, instead of always being `unknown`: `string` for line transforms, `Uint8Array` for [binary transforms](docs/binary.md#transforms), and `unknown` in [object mode](docs/transform.md#object-mode). ([#&#8203;1247](https://redirect.github.com/sindresorhus/execa/issues/1247))  [`0a7b4f8`](https://redirect.github.com/sindresorhus/execa/commit/0a7b4f8)

##### Fixes

- Fixed [fd-specific options](docs/output.md#stdoutstderr-specific-options) ([`verbose`](docs/api.md#optionsverbose), [`maxBuffer`](docs/api.md#optionsmaxbuffer), etc.) when the [`ipc`](docs/api.md#optionsipc) option is `true`: `fd3` and `ipc` no longer target the same file descriptor. ([#&#8203;1241](https://redirect.github.com/sindresorhus/execa/issues/1241))  [`b886883`](https://redirect.github.com/sindresorhus/execa/commit/b886883)

***

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2026-07-20 07:17:09 +00:00
renovate[bot] 68142924f7 chore(deps): update npm packages (#24682)
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/) |
|---|---|---|---|---|---|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`8.63.0` →
`8.64.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.63.0/8.64.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.64.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.64.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.63.0/8.64.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.63.0/8.64.0?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.63.0` →
`8.64.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.63.0/8.64.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fscope-manager/8.64.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fscope-manager/8.64.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fscope-manager/8.63.0/8.64.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fscope-manager/8.63.0/8.64.0?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.63.0` →
`8.64.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.63.0/8.64.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.64.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.64.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.63.0/8.64.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.63.0/8.64.0?slim=true)
|
| [degit](https://redirect.github.com/Rich-Harris/degit) | [`3.4.7` →
`3.6.1`](https://renovatebot.com/diffs/npm/degit/3.4.7/3.6.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/degit/3.6.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/degit/3.6.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/degit/3.4.7/3.6.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/degit/3.4.7/3.6.1?slim=true)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`10.6.0` →
`10.7.0`](https://renovatebot.com/diffs/npm/eslint/10.6.0/10.7.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.7.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/10.7.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/10.6.0/10.7.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/10.6.0/10.7.0?slim=true)
|
| [svelte](https://svelte.dev)
([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte))
| [`5.56.4` →
`5.56.5`](https://renovatebot.com/diffs/npm/svelte/5.56.4/5.56.5) |
![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.56.5?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svelte/5.56.5?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svelte/5.56.4/5.56.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.56.4/5.56.5?slim=true)
|
| [tsx](https://tsx.hirok.io)
([source](https://redirect.github.com/privatenumber/tsx)) | [`4.23.0` →
`4.23.1`](https://renovatebot.com/diffs/npm/tsx/4.23.0/4.23.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsx/4.23.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsx/4.23.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsx/4.23.0/4.23.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsx/4.23.0/4.23.1?slim=true)
|

---

### Release Notes

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

###
[`v8.64.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8640-2026-07-13)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.64.0)
for more information.

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/scope-manager)</summary>

###
[`v8.64.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8640-2026-07-13)

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

##### 🚀 Features

- support parsing `import defer`
([#&#8203;12513](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12513))

##### ❤️ Thank You

- Evyatar Daud
[@&#8203;StyleShit](https://redirect.github.com/StyleShit)

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.64.0)
for more information.

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.64.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8640-2026-07-13)

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

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.64.0)
for more information.

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>Rich-Harris/degit (degit)</summary>

###
[`v3.6.1`](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.0...v3.6.1)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.0...v3.6.1)

###
[`v3.6.0`](https://redirect.github.com/Rich-Harris/degit/compare/v3.5.1...v3.6.0)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.5.1...v3.6.0)

###
[`v3.5.1`](https://redirect.github.com/Rich-Harris/degit/compare/v3.5.0...v3.5.1)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.5.0...v3.5.1)

###
[`v3.5.0`](https://redirect.github.com/Rich-Harris/degit/compare/v3.4.7...v3.5.0)

[Compare
Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.4.7...v3.5.0)

</details>

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

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

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.6.0...v10.7.0)

#### Features

-
[`cf2a9bf`](https://redirect.github.com/eslint/eslint/commit/cf2a9bf2d982642f760370c15f1196f4658f4e27)
feat: add errorClassNames option to preserve-caught-error rule
([#&#8203;21032](https://redirect.github.com/eslint/eslint/issues/21032))
(sethamus)
-
[`f8b873a`](https://redirect.github.com/eslint/eslint/commit/f8b873aae53610b80b5c1005606716e05ed3b91f)
feat: max-nested-callbacks option for constructor callbacks
([#&#8203;21063](https://redirect.github.com/eslint/eslint/issues/21063))
(fnx)
-
[`557fde8`](https://redirect.github.com/eslint/eslint/commit/557fde8bc633d26ea4fe287d4483f287e8e6080f)
feat: support computed `Number.parseInt` member access in `radix` rule
([#&#8203;21041](https://redirect.github.com/eslint/eslint/issues/21041))
(Pixel)
-
[`0b4a73b`](https://redirect.github.com/eslint/eslint/commit/0b4a73b65808f5a8fd192f15db2bf5e47002b9f7)
feat: add suggestions to no-compare-neg-zero
([#&#8203;21034](https://redirect.github.com/eslint/eslint/issues/21034))
(den$)
-
[`96cdd42`](https://redirect.github.com/eslint/eslint/commit/96cdd427db5f26c6403fba92b0f7ae4556c595ec)
feat: report invalid signed numeric radix values in `radix` rule
([#&#8203;21030](https://redirect.github.com/eslint/eslint/issues/21030))
(Pixel)

#### Bug Fixes

-
[`3e7bf15`](https://redirect.github.com/eslint/eslint/commit/3e7bf15e69e6d3a2c8832356bcc2e9903cc4eede)
fix: apply `ignoreClassesWithImplements` to class expressions
([#&#8203;21069](https://redirect.github.com/eslint/eslint/issues/21069))
(Pixel)
-
[`0d7d70c`](https://redirect.github.com/eslint/eslint/commit/0d7d70cf013ec5bf1e4f5a0fcf7128bdf059b2d4)
fix: insert cause outside wrapping parens in preserve-caught-error
([#&#8203;21062](https://redirect.github.com/eslint/eslint/issues/21062))
(Mahin Anowar)
-
[`75ec753`](https://redirect.github.com/eslint/eslint/commit/75ec753226010867270787b412f3dae412e421e6)
fix: handle static template literals in `eqeqeq` rule
([#&#8203;21058](https://redirect.github.com/eslint/eslint/issues/21058))
(Pixel)
-
[`b717a22`](https://redirect.github.com/eslint/eslint/commit/b717a22e2408389a2ad40af66543e46390669eb6)
fix: prevent `eqeqeq` null option from reporting non-equality operators
([#&#8203;21057](https://redirect.github.com/eslint/eslint/issues/21057))
(Pixel)
-
[`e35b05f`](https://redirect.github.com/eslint/eslint/commit/e35b05f1961dcd691611bd68b6ff8a87072d6f76)
fix: avoid `no-invalid-regexp` false positive for shadowed RegExp
([#&#8203;21051](https://redirect.github.com/eslint/eslint/issues/21051))
(Pixel)
-
[`a3172b6`](https://redirect.github.com/eslint/eslint/commit/a3172b69c7db63ea0321355543e3f527c7d8b76a)
fix: avoid `no-control-regex` false positive for shadowed RegExp
([#&#8203;21050](https://redirect.github.com/eslint/eslint/issues/21050))
(Pixel)
-
[`d1f637e`](https://redirect.github.com/eslint/eslint/commit/d1f637eca27e523d613991c6bea5b8726b810e4c)
fix: parenthesize sequence expression operands in no-implicit-coercion
([#&#8203;21045](https://redirect.github.com/eslint/eslint/issues/21045))
(spokodev)
-
[`8859baf`](https://redirect.github.com/eslint/eslint/commit/8859bafb018e2b23b5110d52e491b69b94ad890a)
fix: avoid prefer-numeric-literals false positive for shadowed globals
([#&#8203;21047](https://redirect.github.com/eslint/eslint/issues/21047))
(한국)
-
[`a9e5961`](https://redirect.github.com/eslint/eslint/commit/a9e5961050676ef29dba9649dfcd7233d21760c7)
fix: use-isnan false positive on shadowed NaN/Number
([#&#8203;20958](https://redirect.github.com/eslint/eslint/issues/20958))
(sethamus)
-
[`8a240a7`](https://redirect.github.com/eslint/eslint/commit/8a240a76108f30f2476e61a925e4d32d378cce5e)
fix: avoid false positives in `radix` rule for spread arguments
([#&#8203;21044](https://redirect.github.com/eslint/eslint/issues/21044))
(Pixel)

#### Documentation

-
[`c30d808`](https://redirect.github.com/eslint/eslint/commit/c30d80801ca561bdf65c6c3eba4ee57dced278cf)
docs: Update README (GitHub Actions Bot)
-
[`5139800`](https://redirect.github.com/eslint/eslint/commit/5139800b23e77fdd1a76664e1b36f478942eae55)
docs: document ESLint migration codemods in v9 and v10 guides
([#&#8203;20980](https://redirect.github.com/eslint/eslint/issues/20980))
(Alex Bit)
-
[`04174cb`](https://redirect.github.com/eslint/eslint/commit/04174cbfaac1f9555400b5332d69056e6aab9cc6)
docs: Update README (GitHub Actions Bot)
-
[`026e130`](https://redirect.github.com/eslint/eslint/commit/026e1304080512bcddfd2af3557fff86474ff949)
docs: update semver policy for bug fixes
([#&#8203;21048](https://redirect.github.com/eslint/eslint/issues/21048))
(Milos Djermanovic)
-
[`9d42fef`](https://redirect.github.com/eslint/eslint/commit/9d42fefb0e05ecd0b256c2ebed479fc868862f0c)
docs: Update README (GitHub Actions Bot)
-
[`b230159`](https://redirect.github.com/eslint/eslint/commit/b23015955c8d6e6516076190730f538c86927f26)
docs: Update README (GitHub Actions Bot)
-
[`0129972`](https://redirect.github.com/eslint/eslint/commit/0129972ba122e95bece6040fda44d20f6799246a)
docs: correct `**/.js` glob to `**/*.js` in config files guide
([#&#8203;21036](https://redirect.github.com/eslint/eslint/issues/21036))
(EduardF1)

#### Chores

-
[`9489379`](https://redirect.github.com/eslint/eslint/commit/948937986f2aa3cccb27a4c80694a85e5b0a5f64)
chore: update dependency
[@&#8203;eslint/eslintrc](https://redirect.github.com/eslint/eslintrc)
to ^3.3.6
([#&#8203;21076](https://redirect.github.com/eslint/eslint/issues/21076))
(renovate\[bot])
-
[`81a4774`](https://redirect.github.com/eslint/eslint/commit/81a4774a928211bd0c01a06a1517736ece594522)
chore: updates for v9.39.5 release (Jenkins)
-
[`9835414`](https://redirect.github.com/eslint/eslint/commit/983541491393323d17717683f6a2e6dbef4bc3f4)
chore: enable `$ExpectType` annotations in all TypeScript files
([#&#8203;21071](https://redirect.github.com/eslint/eslint/issues/21071))
(Francesco Trotta)
-
[`72adf6b`](https://redirect.github.com/eslint/eslint/commit/72adf6bd214c142b38aabb4b8f6f908079c5301a)
chore: restrict `markdownlint-cli2` updates in renovate
([#&#8203;21067](https://redirect.github.com/eslint/eslint/issues/21067))
(lumir)
-
[`833ec10`](https://redirect.github.com/eslint/eslint/commit/833ec10fd702644e94334edd3cd2aa313174a958)
chore: update dependency prettier to v3.9.4
([#&#8203;21061](https://redirect.github.com/eslint/eslint/issues/21061))
(renovate\[bot])
-
[`7ea106d`](https://redirect.github.com/eslint/eslint/commit/7ea106ddcb6af7db8f36d62a28dbaba94d33598e)
chore: update ecosystem plugins
([#&#8203;21059](https://redirect.github.com/eslint/eslint/issues/21059))
(ESLint Bot)
-
[`8fb550e`](https://redirect.github.com/eslint/eslint/commit/8fb550e7c257fbdc4108fc8e63db43c1d914d472)
chore: add prettier update commit to `.git-blame-ignore-revs`
([#&#8203;21056](https://redirect.github.com/eslint/eslint/issues/21056))
(lumir)
-
[`e4e1166`](https://redirect.github.com/eslint/eslint/commit/e4e11668ead6b950328c71e894563a13ef72bf84)
chore: update dependency prettier to v3.9.1
([#&#8203;21055](https://redirect.github.com/eslint/eslint/issues/21055))
(renovate\[bot])
-
[`0493f53`](https://redirect.github.com/eslint/eslint/commit/0493f53f3fcec4ed69a1808dffa153dcff1380d3)
chore: update prettier to v3.9.0
([#&#8203;21054](https://redirect.github.com/eslint/eslint/issues/21054))
(Pixel)
-
[`1056a99`](https://redirect.github.com/eslint/eslint/commit/1056a996c657b377dc16a58c28890d2940394408)
chore: update dependency prettier to v3.8.5
([#&#8203;21049](https://redirect.github.com/eslint/eslint/issues/21049))
(renovate\[bot])
-
[`4d4155d`](https://redirect.github.com/eslint/eslint/commit/4d4155df4a21d711e8dd21a467de085e770bad35)
ci: run ecosystem tests on pull requests
([#&#8203;21027](https://redirect.github.com/eslint/eslint/issues/21027))
(sethamus)
-
[`993539f`](https://redirect.github.com/eslint/eslint/commit/993539fd45d3d01aad3fbc13963e2245fdf7ee0d)
chore: update dependency
[@&#8203;eslint/json](https://redirect.github.com/eslint/json) to ^2.0.1
([#&#8203;21042](https://redirect.github.com/eslint/eslint/issues/21042))
(renovate\[bot])
-
[`53f8b69`](https://redirect.github.com/eslint/eslint/commit/53f8b69c15af7398c989071ee4788b88edd48bdd)
test: add error locations to `no-constant-binary-expression`
([#&#8203;21039](https://redirect.github.com/eslint/eslint/issues/21039))
(lumir)
-
[`5ab71d5`](https://redirect.github.com/eslint/eslint/commit/5ab71d52f9d860df04e626fcd819a36257f21f9e)
refactor: clean up radix rule internals
([#&#8203;21015](https://redirect.github.com/eslint/eslint/issues/21015))
(Pixel)
-
[`a80a9a4`](https://redirect.github.com/eslint/eslint/commit/a80a9a461478838930c5545f840473840b26b0e6)
chore: update ecosystem plugins
([#&#8203;21035](https://redirect.github.com/eslint/eslint/issues/21035))
(ESLint Bot)
-
[`7c9a029`](https://redirect.github.com/eslint/eslint/commit/7c9a02933cf1c231237babb8a7a32150ab72e263)
ci: add Node.js 26 to CI
([#&#8203;20847](https://redirect.github.com/eslint/eslint/issues/20847))
(lumir)

</details>

<details>
<summary>sveltejs/svelte (svelte)</summary>

###
[`v5.56.5`](https://redirect.github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5565)

[Compare
Source](https://redirect.github.com/sveltejs/svelte/compare/svelte@5.56.4...svelte@5.56.5)

##### Patch Changes

- chore: drop dead code that make TSGO fail
([#&#8203;18496](https://redirect.github.com/sveltejs/svelte/pull/18496))

- fix: don't (re)connect deriveds when read inside branch/root effects
([#&#8203;18527](https://redirect.github.com/sveltejs/svelte/pull/18527))

- fix: skip unnecessary derived effect in earlier batch
([#&#8203;18525](https://redirect.github.com/sveltejs/svelte/pull/18525))

- fix: avoid declaration tag warning in event handlers
([#&#8203;18500](https://redirect.github.com/sveltejs/svelte/pull/18500))

- fix: abort deriveds own AbortSignal when it disconnects
([#&#8203;18400](https://redirect.github.com/sveltejs/svelte/pull/18400))

- fix: ensure `$state.eager()` is correctly transormed for SSR output
([#&#8203;18530](https://redirect.github.com/sveltejs/svelte/pull/18530))

- fix: correctly transform declaration tags during SSR
([#&#8203;18492](https://redirect.github.com/sveltejs/svelte/pull/18492))

- fix: transform computed keys in keyed `{#each}` destructuring patterns
([#&#8203;18521](https://redirect.github.com/sveltejs/svelte/pull/18521))

- fix: chain preprocessor sourcemaps with an empty `sources[0]` instead
of dropping them
([#&#8203;18518](https://redirect.github.com/sveltejs/svelte/pull/18518))

- fix: clear previous\_task reference after abort in Tween to prevent
memory leak on interrupted tweens
([#&#8203;18541](https://redirect.github.com/sveltejs/svelte/pull/18541))

- fix: don't treat declaration tags as parts inside each blocks
([#&#8203;18507](https://redirect.github.com/sveltejs/svelte/pull/18507))

</details>

<details>
<summary>privatenumber/tsx (tsx)</summary>

###
[`v4.23.1`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.1)

[Compare
Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.0...v4.23.1)

##### Bug Fixes

- support tsImport after global preload
([8d4ffc2](https://redirect.github.com/privatenumber/tsx/commit/8d4ffc24f37b396ca2fe3f251aa92c4919f2c1a4))
- **watch:** avoid clearing piped output
([95d0672](https://redirect.github.com/privatenumber/tsx/commit/95d0672e0247a829ae4469daa493212967ea768e))
- **watch:** treat script and dependency paths literally
([79fddde](https://redirect.github.com/privatenumber/tsx/commit/79fddde523d3bb7d0af66682ce1265f95113a073))

##### Performance Improvements

- index transform cache lazily
([e818ad6](https://redirect.github.com/privatenumber/tsx/commit/e818ad608159a6fb36fb8a0bd59327fec313323d))
- load esbuild lazily in CLI
([d067938](https://redirect.github.com/privatenumber/tsx/commit/d0679381b60a55a9b5863603a4022a81db5d13c8))
- map Node TypeScript formats directly
([cdcc623](https://redirect.github.com/privatenumber/tsx/commit/cdcc6232a3277fb3028b226958b66c49a6d86c17))
- use sync module hooks on Node v22.22.3+
([f8992f1](https://redirect.github.com/privatenumber/tsx/commit/f8992f1a50213e11b7ef8ab5121c78e0d2f29384))

***

This release is also available on:

- [npm package (@&#8203;latest
dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.1)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron Clark <cameron.clark@hey.com>
2026-07-19 18:22:13 +01:00
renovate[bot] 56addc9286 chore(deps): update dependency tsdown to v0.22.11 (#24674)
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/) |
|---|---|---|---|---|---|
| [tsdown](http://tsdown.dev/)
([source](https://redirect.github.com/rolldown/tsdown)) | [`0.22.9` →
`0.22.11`](https://renovatebot.com/diffs/npm/tsdown/0.22.9/0.22.11) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.22.11?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.22.11?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.22.9/0.22.11?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.22.9/0.22.11?slim=true)
|

---

### Release Notes

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

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

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

#####    🚀 Features

- **deps**: Add `resolveDepSubpath` option  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz) in
[#&#8203;1026](https://redirect.github.com/rolldown/tsdown/issues/1026)
[<samp>(346cb)</samp>](https://redirect.github.com/rolldown/tsdown/commit/346cb00)

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

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

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

#####    🚀 Features

- **exe**: Support custom node index and download url  -  by
[@&#8203;anytinz](https://redirect.github.com/anytinz) in
[#&#8203;1023](https://redirect.github.com/rolldown/tsdown/issues/1023)
[<samp>(0d24a)</samp>](https://redirect.github.com/rolldown/tsdown/commit/0d24a0e)

#####    🐞 Bug Fixes

- **deps**: External `peerDependenciesMeta` deps  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(bad1b)</samp>](https://redirect.github.com/rolldown/tsdown/commit/bad1b36)
- **exe**: Handle Windows node archives on Linux  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(074e4)</samp>](https://redirect.github.com/rolldown/tsdown/commit/074e4f7)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 15:39:15 +00:00
renovate[bot] 7144f1ed5b chore(deps): update dependency vite-plus to v0.2.5 (#24614)
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/) |
|---|---|---|---|---|---|
| [vite-plus](https://viteplus.dev/guide)
([source](https://redirect.github.com/voidzero-dev/vite-plus/tree/HEAD/packages/cli))
| [`0.2.4` →
`0.2.5`](https://renovatebot.com/diffs/npm/vite-plus/0.2.4/0.2.5) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plus/0.2.5?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plus/0.2.5?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plus/0.2.4/0.2.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plus/0.2.4/0.2.5?slim=true)
|

---

### Release Notes

<details>
<summary>voidzero-dev/vite-plus (vite-plus)</summary>

###
[`v0.2.5`](https://redirect.github.com/voidzero-dev/vite-plus/releases/tag/v0.2.5):
vite-plus v0.2.5: Cleaner environments and more reliable workflows

[Compare
Source](https://redirect.github.com/voidzero-dev/vite-plus/compare/v0.2.4...v0.2.5)

This release adds cleanup and package version commands, supports
TypeScript 7 declaration generation, reduces the standalone binary size,
and hardens task tracking, CLI output, package-manager routing, Docker
workflows, and project scaffolding.

##### Highlights

- Add `vp env clean` to remove unused managed Node.js runtimes and
package-manager caches
([#&#8203;2003](https://redirect.github.com/voidzero-dev/vite-plus/pull/2003)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)
- Add `vp pm version`, forwarding native version commands to npm, pnpm,
Yarn, and Bun
([#&#8203;2127](https://redirect.github.com/voidzero-dev/vite-plus/pull/2127)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Add TypeScript 7 support to declaration generation and generated
library projects with tsdown `0.22.7`
([#&#8203;2104](https://redirect.github.com/voidzero-dev/vite-plus/pull/2104),
[#&#8203;2168](https://redirect.github.com/voidzero-dev/vite-plus/pull/2168)),
by [@&#8203;wan9chi](https://redirect.github.com/wan9chi)
- Improve automatic task input tracking for Bun on macOS, Linux
containers with constrained `/dev/shm`, and Windows process images,
reduce Windows backing-file allocation, and clarify task wait failures
([vite-task#515](https://redirect.github.com/voidzero-dev/vite-task/pull/515),
[vite-task#518](https://redirect.github.com/voidzero-dev/vite-task/pull/518),
[vite-task#523](https://redirect.github.com/voidzero-dev/vite-task/pull/523),
[vite-task#524](https://redirect.github.com/voidzero-dev/vite-task/pull/524),
[vite-task#542](https://redirect.github.com/voidzero-dev/vite-task/pull/542),
[#&#8203;2126](https://redirect.github.com/voidzero-dev/vite-plus/pull/2126),
[#&#8203;2167](https://redirect.github.com/voidzero-dev/vite-plus/pull/2167)),
by [@&#8203;wan9chi](https://redirect.github.com/wan9chi)
- Prevent CLI diagnostics from truncating or panicking when inherited
standard output or error is nonblocking
([#&#8203;2172](https://redirect.github.com/voidzero-dev/vite-plus/pull/2172),
[#&#8203;2173](https://redirect.github.com/voidzero-dev/vite-plus/pull/2173)),
by [@&#8203;wan9chi](https://redirect.github.com/wan9chi)

##### Fixes & Enhancements

- Reduce standalone `vp` binary sizes by about 5% on Linux and macOS and
19% on Windows
([#&#8203;2043](https://redirect.github.com/voidzero-dev/vite-plus/pull/2043)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Keep the Docker image non-root by default while allowing passwordless
`sudo` for Playwright browser dependencies and system packages
([#&#8203;2088](https://redirect.github.com/voidzero-dev/vite-plus/pull/2088)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Ignore `.env` and `.env.*` in generated projects while keeping
`.env.example` trackable
([#&#8203;2095](https://redirect.github.com/voidzero-dev/vite-plus/pull/2095)),
by [@&#8203;forehalo](https://redirect.github.com/forehalo)
- Create `vp-use.cmd` after the Windows environment bin directory is
ready and document its Command Prompt-only usage
([#&#8203;2128](https://redirect.github.com/voidzero-dev/vite-plus/pull/2128)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)
- Render user-facing process statuses and paths without Rust debug
wrappers
([#&#8203;2130](https://redirect.github.com/voidzero-dev/vite-plus/pull/2130)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)
- Make `vp dedupe` fall back to `yarn install` with a warning on Yarn
Classic
([#&#8203;2139](https://redirect.github.com/voidzero-dev/vite-plus/pull/2139)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Ensure package-manager child processes, including Bun, can always find
the managed Node.js runtime
([#&#8203;2158](https://redirect.github.com/voidzero-dev/vite-plus/pull/2158)),
by [@&#8203;BlankParticle](https://redirect.github.com/BlankParticle)

##### Docs

- Update the release-manager post-release guidance
([#&#8203;2096](https://redirect.github.com/voidzero-dev/vite-plus/pull/2096)),
by [@&#8203;wan9chi](https://redirect.github.com/wan9chi)
- Add Windows to the Namespace sponsor credit
([#&#8203;2108](https://redirect.github.com/voidzero-dev/vite-plus/pull/2108)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Document installer and runtime environment variables, registry
settings, TLS options, and precedence rules
([#&#8203;2114](https://redirect.github.com/voidzero-dev/vite-plus/pull/2114)),
by [@&#8203;yukinoshi](https://redirect.github.com/yukinoshi)
- Mark shell examples in `CONTRIBUTING.md` as Bash code blocks
([#&#8203;2159](https://redirect.github.com/voidzero-dev/vite-plus/pull/2159)),
by [@&#8203;BlankParticle](https://redirect.github.com/BlankParticle)

##### Chore

- Assign prepared release PRs to the workflow actor
([#&#8203;2094](https://redirect.github.com/voidzero-dev/vite-plus/pull/2094)),
by [@&#8203;wan9chi](https://redirect.github.com/wan9chi)
- Complete the PTY snapshot migration and harden the runner, fixtures,
release-version redaction, registry teardown, timeouts, and Linux
parallelism
([#&#8203;2071](https://redirect.github.com/voidzero-dev/vite-plus/pull/2071),
[#&#8203;2080](https://redirect.github.com/voidzero-dev/vite-plus/pull/2080),
[#&#8203;2084](https://redirect.github.com/voidzero-dev/vite-plus/pull/2084),
[#&#8203;2099](https://redirect.github.com/voidzero-dev/vite-plus/pull/2099),
[#&#8203;2102](https://redirect.github.com/voidzero-dev/vite-plus/pull/2102),
[#&#8203;2103](https://redirect.github.com/voidzero-dev/vite-plus/pull/2103),
[#&#8203;2107](https://redirect.github.com/voidzero-dev/vite-plus/pull/2107),
[#&#8203;2109](https://redirect.github.com/voidzero-dev/vite-plus/pull/2109),
[#&#8203;2115](https://redirect.github.com/voidzero-dev/vite-plus/pull/2115),
[#&#8203;2117](https://redirect.github.com/voidzero-dev/vite-plus/pull/2117),
[#&#8203;2118](https://redirect.github.com/voidzero-dev/vite-plus/pull/2118),
[#&#8203;2119](https://redirect.github.com/voidzero-dev/vite-plus/pull/2119),
[#&#8203;2120](https://redirect.github.com/voidzero-dev/vite-plus/pull/2120),
[#&#8203;2121](https://redirect.github.com/voidzero-dev/vite-plus/pull/2121),
[#&#8203;2131](https://redirect.github.com/voidzero-dev/vite-plus/pull/2131),
[#&#8203;2132](https://redirect.github.com/voidzero-dev/vite-plus/pull/2132),
[#&#8203;2134](https://redirect.github.com/voidzero-dev/vite-plus/pull/2134),
[#&#8203;2137](https://redirect.github.com/voidzero-dev/vite-plus/pull/2137),
[#&#8203;2138](https://redirect.github.com/voidzero-dev/vite-plus/pull/2138),
[#&#8203;2141](https://redirect.github.com/voidzero-dev/vite-plus/pull/2141),
[#&#8203;2143](https://redirect.github.com/voidzero-dev/vite-plus/pull/2143),
[#&#8203;2145](https://redirect.github.com/voidzero-dev/vite-plus/pull/2145),
[#&#8203;2182](https://redirect.github.com/voidzero-dev/vite-plus/pull/2182)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2) and
[@&#8203;wan9chi](https://redirect.github.com/wan9chi)
- Expose Vite+ managed binaries consistently inside snapshot fixtures
([#&#8203;2110](https://redirect.github.com/voidzero-dev/vite-plus/pull/2110)),
by [@&#8203;liangmiQwQ](https://redirect.github.com/liangmiQwQ)
- Exclude PTY snapshot configuration from Vitest discovery and remove
the legacy snapshot infrastructure
([#&#8203;2135](https://redirect.github.com/voidzero-dev/vite-plus/pull/2135),
[#&#8203;2146](https://redirect.github.com/voidzero-dev/vite-plus/pull/2146)),
by [@&#8203;jong-kyung](https://redirect.github.com/jong-kyung)
- Modernize Windows runners, registry bridge publishing, native size
reporting, merge-base comparisons, and package-manager installation CI
([#&#8203;2083](https://redirect.github.com/voidzero-dev/vite-plus/pull/2083),
[#&#8203;2100](https://redirect.github.com/voidzero-dev/vite-plus/pull/2100),
[#&#8203;2105](https://redirect.github.com/voidzero-dev/vite-plus/pull/2105),
[#&#8203;2106](https://redirect.github.com/voidzero-dev/vite-plus/pull/2106),
[#&#8203;2112](https://redirect.github.com/voidzero-dev/vite-plus/pull/2112),
[#&#8203;2133](https://redirect.github.com/voidzero-dev/vite-plus/pull/2133)),
by [@&#8203;fengmk2](https://redirect.github.com/fengmk2)
- Verify that created monorepo libraries emit declarations in CI
([#&#8203;2171](https://redirect.github.com/voidzero-dev/vite-plus/pull/2171)),
by [@&#8203;wan9chi](https://redirect.github.com/wan9chi)

##### Bundled Versions

| Tool | Version | Source |
| --------------- | -------- |
-------------------------------------------------------------------------------------------------
|
| vite | `8.1.4` |
[`a477454`](https://redirect.github.com/vitejs/vite/commit/a477454442eff649b430f9e3c6caf2500fcb7183)
|
| rolldown | `1.1.5` |
[`f09947a`](https://redirect.github.com/rolldown/rolldown/commit/f09947ab017d6df74299f691853dcfc4f4f0f86e)
|
| tsdown | `0.22.7` | [npm](https://npmx.dev/package/tsdown/v/0.22.7) |
| vitest | `4.1.10` | [npm](https://npmx.dev/package/vitest/v/4.1.10) |
| oxlint | `1.73.0` | [npm](https://npmx.dev/package/oxlint/v/1.73.0) |
| oxlint-tsgolint | `0.24.0` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/0.24.0) |
| oxfmt | `0.58.0` | [npm](https://npmx.dev/package/oxfmt/v/0.58.0) |

##### Upgrade

```bash
vp upgrade
```

##### New Contributors

Welcome [@&#8203;yukinoshi](https://redirect.github.com/yukinoshi) and
[@&#8203;BlankParticle](https://redirect.github.com/BlankParticle).

**Full Changelog**:
<https://github.com/voidzero-dev/vite-plus/compare/v0.2.4...v0.2.5>

##### Published Packages

- `@voidzero-dev/vite-plus-core@0.2.5`
- `vite-plus@0.2.5`

##### Installation

**macOS/Linux:**

```bash
curl -fsSL https://vite.plus | bash
```

**Windows:**

```powershell
irm https://vite.plus/ps1 | iex
```

Or download and run `vp-setup.exe` from the assets below.

View the full commit:
[`93dc59a`](https://redirect.github.com/voidzero-dev/vite-plus/commit/93dc59a324f790603ce65e629c13617468d1027d)

**Docker:**

```bash
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.2.5 vp build
```

Run any `vp` command without installing it; see the [Docker
guide](https://viteplus.dev/guide/docker) for more.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 10:30:56 +01:00
renovate[bot] b43f959751 chore(deps): update dependency tsdown to v0.22.9 (#24601)
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/) |
|---|---|---|---|---|---|
| [tsdown](http://tsdown.dev/)
([source](https://redirect.github.com/rolldown/tsdown)) | [`0.22.8` →
`0.22.9`](https://renovatebot.com/diffs/npm/tsdown/0.22.8/0.22.9) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.22.9?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.22.9?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.22.8/0.22.9?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.22.8/0.22.9?slim=true)
|

---

### Release Notes

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

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

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

#####    🚀 Features

- Upgrade rolldown to v1.2  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(91bb5)</samp>](https://redirect.github.com/rolldown/tsdown/commit/91bb5d2)

#####    🐞 Bug Fixes

- **deps**: Check dynamic imports in `onlyImport`  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz) in
[#&#8203;1019](https://redirect.github.com/rolldown/tsdown/issues/1019)
[<samp>(a625a)</samp>](https://redirect.github.com/rolldown/tsdown/commit/a625a4c)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 10:16:52 +01:00
renovate[bot] f8f28ce781 chore(deps): update dependency oxlint-tsgolint to v0.25.0 (#24610)
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/) |
|---|---|---|---|---|---|
| [oxlint-tsgolint](https://redirect.github.com/oxc-project/tsgolint) |
[`0.24.0` →
`0.25.0`](https://renovatebot.com/diffs/npm/oxlint-tsgolint/0.24.0/0.25.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint-tsgolint/0.25.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint-tsgolint/0.25.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint-tsgolint/0.24.0/0.25.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint-tsgolint/0.24.0/0.25.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/tsgolint (oxlint-tsgolint)</summary>

###
[`v0.25.0`](https://redirect.github.com/oxc-project/tsgolint/releases/tag/v0.25.0)

[Compare
Source](https://redirect.github.com/oxc-project/tsgolint/compare/v0.24.0...v0.25.0)

#### What's Changed

- chore(deps): update pnpm to v11.9.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;1043](https://redirect.github.com/oxc-project/tsgolint/pull/1043)
- perf(no-unnecessary-type-parameters): reuse AST-walk visitor closure
by [@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1034](https://redirect.github.com/oxc-project/tsgolint/pull/1034)
- perf(strict-void-return): reuse function-body walk visitor closure by
[@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1033](https://redirect.github.com/oxc-project/tsgolint/pull/1033)
- chore: update typescript-go submodule by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1048](https://redirect.github.com/oxc-project/tsgolint/pull/1048)
- docs: normalize README sponsor section by
[@&#8203;Boshen](https://redirect.github.com/Boshen) in
[#&#8203;1050](https://redirect.github.com/oxc-project/tsgolint/pull/1050)
- chore: strip symbols from release binary by
[@&#8203;Boshen](https://redirect.github.com/Boshen) in
[#&#8203;1049](https://redirect.github.com/oxc-project/tsgolint/pull/1049)
- chore: add -trimpath to release build by
[@&#8203;Boshen](https://redirect.github.com/Boshen) in
[#&#8203;1051](https://redirect.github.com/oxc-project/tsgolint/pull/1051)
- chore(deps): update crate-ci/typos action to v1.48.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;1052](https://redirect.github.com/oxc-project/tsgolint/pull/1052)
- chore(deps): update github actions by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;1056](https://redirect.github.com/oxc-project/tsgolint/pull/1056)
- chore(deps): update npm packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;1057](https://redirect.github.com/oxc-project/tsgolint/pull/1057)
- fix(no-deprecated): avoid contextual union property false positives by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1059](https://redirect.github.com/oxc-project/tsgolint/pull/1059)
- fix(prefer-optional-chain): preserve negated optional guard by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1061](https://redirect.github.com/oxc-project/tsgolint/pull/1061)
- perf(linter): gate reportNodeWithSuggestions on FixSuggestions by
[@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1067](https://redirect.github.com/oxc-project/tsgolint/pull/1067)
- fix(switch-exhaustiveness-check): honor default case comment patterns
by [@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1070](https://redirect.github.com/oxc-project/tsgolint/pull/1070)
- perf(strict-void-return): skip type queries for never-callable
expressions by
[@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1068](https://redirect.github.com/oxc-project/tsgolint/pull/1068)
- perf(no-unsafe-argument): skip type queries for never-unsafe arguments
by [@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1066](https://redirect.github.com/oxc-project/tsgolint/pull/1066)
- Revert "perf(strict-void-return): skip type queries for never-callable
expressions" by [@&#8203;camc314](https://redirect.github.com/camc314)
in
[#&#8203;1071](https://redirect.github.com/oxc-project/tsgolint/pull/1071)
- chore: update typescript-go submodule by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1072](https://redirect.github.com/oxc-project/tsgolint/pull/1072)
- chore(deps): update dependency dprint-json to v0.23.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;1080](https://redirect.github.com/oxc-project/tsgolint/pull/1080)
- chore(deps): update taiki-e/install-action action to v2.83.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;1082](https://redirect.github.com/oxc-project/tsgolint/pull/1082)
- chore(deps): update gomod by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;1081](https://redirect.github.com/oxc-project/tsgolint/pull/1081)
- perf(no-unnecessary-type-arguments): skip signature resolution when
node has no type arguments by
[@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1064](https://redirect.github.com/oxc-project/tsgolint/pull/1064)
- refactor: miscellaneous code cleanup by
[@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1077](https://redirect.github.com/oxc-project/tsgolint/pull/1077)
- refactor: remove dead code from rules by
[@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1079](https://redirect.github.com/oxc-project/tsgolint/pull/1079)
- refactor: drop dead isFunction guards built on a bitwise ast.Kind mask
by [@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;1078](https://redirect.github.com/oxc-project/tsgolint/pull/1078)
- chore: update Node.js to 26.5.0 by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1087](https://redirect.github.com/oxc-project/tsgolint/pull/1087)
- fix(no-unnecessary-type-assertion): avoid recursive unknown checks by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1086](https://redirect.github.com/oxc-project/tsgolint/pull/1086)
- fix(no-unnecessary-type-assertions): generic array false positive by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1045](https://redirect.github.com/oxc-project/tsgolint/pull/1045)
- fix(no-unnecessary-type-assertion): preserve generic write casts by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;1089](https://redirect.github.com/oxc-project/tsgolint/pull/1089)
- docs: update sponsor section by
[@&#8203;Boshen](https://redirect.github.com/Boshen) in
[#&#8203;1090](https://redirect.github.com/oxc-project/tsgolint/pull/1090)

**Full Changelog**:
<https://github.com/oxc-project/tsgolint/compare/v0.24.0...v0.25.0>

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 10:08:45 +01:00
renovate[bot] 4b2619d1e2 chore(deps): update dependency rolldown to v1.2.0 (#24552)
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/) |
|---|---|---|---|---|---|
| [rolldown](https://rolldown.rs/)
([source](https://redirect.github.com/rolldown/rolldown/tree/HEAD/packages/rolldown))
| [`1.1.5` →
`1.2.0`](https://renovatebot.com/diffs/npm/rolldown/1.1.5/1.2.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.2.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.1.5/1.2.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.1.5/1.2.0?slim=true)
|

---

### Release Notes

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

###
[`v1.2.0`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#120---2026-07-15)

[Compare
Source](https://redirect.github.com/rolldown/rolldown/compare/v1.1.5...v1.2.0)

##### 🚀 Features

- dev: skip shipping factories for newly imported top-level modules
([#&#8203;10223](https://redirect.github.com/rolldown/rolldown/issues/10223))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- dev: per-client ship map for HMR patch sizing
([#&#8203;10208](https://redirect.github.com/rolldown/rolldown/issues/10208))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- dev: client-side HMR
([#&#8203;10164](https://redirect.github.com/rolldown/rolldown/issues/10164))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- dev: send a full-reload update to clients when a tsconfig changes
([#&#8203;10262](https://redirect.github.com/rolldown/rolldown/issues/10262))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- treat `import.meta['url']` and `import.meta['ROLLUP_FILE_URL_*']` as
side-effect free
([#&#8203;10267](https://redirect.github.com/rolldown/rolldown/issues/10267))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- rewrite `import.meta['url']`
([#&#8203;10251](https://redirect.github.com/rolldown/rolldown/issues/10251))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- add `FILE_NOT_FOUND` error
([#&#8203;10220](https://redirect.github.com/rolldown/rolldown/issues/10220))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- treat `import.meta.ROLLUP_FILE_URL_*` as side-effect free
([#&#8203;10217](https://redirect.github.com/rolldown/rolldown/issues/10217))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)

##### 🐛 Bug Fixes

- sourcemap: preserve unmapped boundaries during composition
([#&#8203;10254](https://redirect.github.com/rolldown/rolldown/issues/10254))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- `[format]` in `*FileNames` option for ESM format should be `es`
instead of `esm`
([#&#8203;10214](https://redirect.github.com/rolldown/rolldown/issues/10214))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- sourcemap: preserve coarse mappings during composition
([#&#8203;10249](https://redirect.github.com/rolldown/rolldown/issues/10249))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- rolldown\_plugin\_vite\_import\_glob: support tsconfig paths with
`import.meta.glob`
([#&#8203;10167](https://redirect.github.com/rolldown/rolldown/issues/10167))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- dev: clear tsconfig caches for bare full builds
([#&#8203;10276](https://redirect.github.com/rolldown/rolldown/issues/10276))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- dev: force a full rebuild when a tsconfig changes
([#&#8203;10261](https://redirect.github.com/rolldown/rolldown/issues/10261))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- treat rooted drive-less module ids as absolute in preserveModules
naming
([#&#8203;10235](https://redirect.github.com/rolldown/rolldown/issues/10235))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- watch: rebuild when tsconfig files change
([#&#8203;10258](https://redirect.github.com/rolldown/rolldown/issues/10258))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- watch: drop tsconfig-merged transform options on each rebuild
([#&#8203;10257](https://redirect.github.com/rolldown/rolldown/issues/10257))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- incorrect `EMPTY_IMPORT_META` warning for
`import.meta.ROLLUP_FILE_URL_*` for CJS output
([#&#8203;10221](https://redirect.github.com/rolldown/rolldown/issues/10221))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- deconflict: rename CJS locals shadowing wrapped-ESM namespace objects
([#&#8203;9970](https://redirect.github.com/rolldown/rolldown/issues/9970))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- rolldown: drop the unused runtime module after entry-level external
flattening
([#&#8203;10237](https://redirect.github.com/rolldown/rolldown/issues/10237))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- rolldown: re-propagate has\_dynamic\_exports to transitive star
importers
([#&#8203;10239](https://redirect.github.com/rolldown/rolldown/issues/10239))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- tree-shaking: tree-shake destructured dynamic import namespace
bindings
([#&#8203;10213](https://redirect.github.com/rolldown/rolldown/issues/10213))
by [@&#8203;logaretm](https://redirect.github.com/logaretm)
- s390x: use json-escape-simd 3.1.1 for big-endian JSON escaping fix
([#&#8203;10211](https://redirect.github.com/rolldown/rolldown/issues/10211))
by [@&#8203;satyamg1620](https://redirect.github.com/satyamg1620)

##### 🚜 Refactor

- dev: move full-reload to client side
([#&#8203;10207](https://redirect.github.com/rolldown/rolldown/issues/10207))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- readability follow-ups to the ReplaceWith migration
([#&#8203;10286](https://redirect.github.com/rolldown/rolldown/issues/10286))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- replace take\_in-then-write-back with ReplaceWith and by-value moves
([#&#8203;10285](https://redirect.github.com/rolldown/rolldown/issues/10285))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- share the main resolver's cache with the transformer's tsconfig
lookups
([#&#8203;10205](https://redirect.github.com/rolldown/rolldown/issues/10205))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown: extract the ns star-external \_\_reExport emission rule into
LinkingMetadata
([#&#8203;10238](https://redirect.github.com/rolldown/rolldown/issues/10238))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- rolldown: unify link/generate diagnostics into a Diagnostics
accumulator
([#&#8203;10234](https://redirect.github.com/rolldown/rolldown/issues/10234))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- sourcemap\_filenames: drop dead sourcemap-filename plumbing
([#&#8203;10189](https://redirect.github.com/rolldown/rolldown/issues/10189))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- extract external import symbol merging into a method
([#&#8203;10224](https://redirect.github.com/rolldown/rolldown/issues/10224))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- rolldown: skip CJS namespace merging under strict execution order
([#&#8203;10203](https://redirect.github.com/rolldown/rolldown/issues/10203))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- resolve the manual tsconfig per file instead of once at startup
([#&#8203;10200](https://redirect.github.com/rolldown/rolldown/issues/10200))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown: route interop ESM init emission through a shared init-target
view
([#&#8203;10202](https://redirect.github.com/rolldown/rolldown/issues/10202))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- rolldown: collapse vestigial wrap-kind state and share chunk sort
helper
([#&#8203;10201](https://redirect.github.com/rolldown/rolldown/issues/10201))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)

##### 📚 Documentation

- show plugin kinds in JSDoc and each hook's description
([#&#8203;10218](https://redirect.github.com/rolldown/rolldown/issues/10218))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- add an explanation about removing imports from external modules
without any messages
([#&#8203;10215](https://redirect.github.com/rolldown/rolldown/issues/10215))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)

##### ⚡ Performance

- sourcemap: owned merge in SourceJoiner::join (4005->5 allocs/chunk)
([#&#8203;10250](https://redirect.github.com/rolldown/rolldown/issues/10250))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- avoid redundant sourcemap string copies in collapse and minify paths
([#&#8203;10093](https://redirect.github.com/rolldown/rolldown/issues/10093))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)

##### 🧪 Testing

- code-splitting: establish strict-order review baselines
([#&#8203;10287](https://redirect.github.com/rolldown/rolldown/issues/10287))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- dev: add hot API test cases
([#&#8203;10181](https://redirect.github.com/rolldown/rolldown/issues/10181))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- code-splitting: normalize strict execution order variants
([#&#8203;10277](https://redirect.github.com/rolldown/rolldown/issues/10277))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: harden strict execution order coverage
([#&#8203;10252](https://redirect.github.com/rolldown/rolldown/issues/10252))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: add strict execution order regressions
([#&#8203;10253](https://redirect.github.com/rolldown/rolldown/issues/10253))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)

##### ⚙️ Miscellaneous Tasks

- deps: update github actions
([#&#8203;10241](https://redirect.github.com/rolldown/rolldown/issues/10241))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update oxc to 0.140.0
([#&#8203;10274](https://redirect.github.com/rolldown/rolldown/issues/10274))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- update Yunfei's GitHub username
([#&#8203;10275](https://redirect.github.com/rolldown/rolldown/issues/10275))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- deps: update napi
([#&#8203;10260](https://redirect.github.com/rolldown/rolldown/issues/10260))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update test262 submodule for tests
([#&#8203;10266](https://redirect.github.com/rolldown/rolldown/issues/10266))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update dependency vite-plus to v0.2.4
([#&#8203;10256](https://redirect.github.com/rolldown/rolldown/issues/10256))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update napi
([#&#8203;10240](https://redirect.github.com/rolldown/rolldown/issues/10240))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update oxc resolver to v11.24.2
([#&#8203;10245](https://redirect.github.com/rolldown/rolldown/issues/10245))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crates
([#&#8203;10244](https://redirect.github.com/rolldown/rolldown/issues/10244))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- disable Renovate updates for idna\_adapter
([#&#8203;10248](https://redirect.github.com/rolldown/rolldown/issues/10248))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- deps: update oxc resolver to v11.24.1
([#&#8203;10232](https://redirect.github.com/rolldown/rolldown/issues/10232))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crate oxc\_sourcemap to v8.1.1
([#&#8203;10233](https://redirect.github.com/rolldown/rolldown/issues/10233))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency rolldown-plugin-dts to ^0.27.0
([#&#8203;10206](https://redirect.github.com/rolldown/rolldown/issues/10206))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: upgrade sugar\_path to v3
([#&#8203;10230](https://redirect.github.com/rolldown/rolldown/issues/10230))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- add `dist-*` to `.gitignore` in sourcemap-filenames/hash-final-content
fixture
([#&#8203;10216](https://redirect.github.com/rolldown/rolldown/issues/10216))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- deps: update dependency rust to v1.97.0
([#&#8203;10209](https://redirect.github.com/rolldown/rolldown/issues/10209))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]

##### ❤️ New Contributors

- [@&#8203;satyamg1620](https://redirect.github.com/satyamg1620) made
their first contribution in
[#&#8203;10211](https://redirect.github.com/rolldown/rolldown/pull/10211)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-15 12:41:31 +00:00
renovate[bot] 23d9c307c7 chore(deps): update dependency tsdown to v0.22.8 (#24538)
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/) |
|---|---|---|---|---|---|
| [tsdown](http://tsdown.dev/)
([source](https://redirect.github.com/rolldown/tsdown)) | [`0.22.7` →
`0.22.8`](https://renovatebot.com/diffs/npm/tsdown/0.22.7/0.22.8) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.22.8?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.22.8?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.22.7/0.22.8?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.22.7/0.22.8?slim=true)
|

---

### Release Notes

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

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

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

#####    🚀 Features

- **deps**: Add `onlyImport` option  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz) and **Claude Fable 5**
[<samp>(c5798)</samp>](https://redirect.github.com/rolldown/tsdown/commit/c579828)

#####    🐞 Bug Fixes

- **config**: Concat plugins arrays when merging config  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(b1c80)</samp>](https://redirect.github.com/rolldown/tsdown/commit/b1c8014)

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

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-15 08:25:32 +00:00
renovate 4de1624975 chore(deps): update dependency oxc-parser to ^0.140.0 (#24501)
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/) |
|---|---|---|---|---|---|
| [oxc-parser](https://oxc.rs/docs/guide/usage/parser) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/napi/parser)) | [`^0.139.0` → `^0.140.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.139.0/0.140.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/oxc-parser/0.140.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxc-parser/0.140.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxc-parser/0.139.0/0.140.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxc-parser/0.139.0/0.140.0?slim=true) |

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2026-07-14 08:49:22 +00:00
renovate[bot] a43c38533a chore(deps): update dependency @oxc-project/types to ^0.140.0 (#24500)
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/) |
|---|---|---|---|---|---|
| [@oxc-project/types](https://oxc.rs)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types))
| [`^0.139.0` →
`^0.140.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.139.0/0.140.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.140.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.140.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.139.0/0.140.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.139.0/0.140.0?slim=true)
|

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-14 09:40:27 +01:00