Commit Graph

650 Commits

Author SHA1 Message Date
renovate[bot] f4eacfcfef chore(deps): update oxc to ^0.149.0 (#26412)
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.148.0` →
`^0.149.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.148.0/0.149.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.149.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.149.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.148.0/0.149.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.148.0/0.149.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.148.0` →
`^0.149.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.148.0/0.149.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/oxc-parser/0.149.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxc-parser/0.149.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxc-parser/0.148.0/0.149.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxc-parser/0.148.0/0.149.0?slim=true)
|

---

### Release Notes

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

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

##### 🐛 Bug Fixes

-
[`c966aca`](https://redirect.github.com/oxc-project/oxc/commit/c966aca)
parser: Do not omit `<` token opening type argument list
([#&#8203;26328](https://redirect.github.com/oxc-project/oxc/issues/26328))
(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:eyJjcmVhdGVkSW5WZXIiOiI0NC42OS4xIiwidXBkYXRlZEluVmVyIjoiNDQuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-07 16:03:12 +00:00
renovate[bot] 7e9508d1e1 chore(deps): update dependency oxfmt to ^0.67.0 (#26407)
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.66.0` →
`^0.67.0`](https://renovatebot.com/diffs/npm/oxfmt/0.66.0/0.67.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.67.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxfmt/0.67.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxfmt/0.66.0/0.67.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.66.0/0.67.0?slim=true)
|

---

### Release Notes

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

###
[`v0.67.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxfmt/CHANGELOG.md#0670---2026-09-07)

##### 🛡️ Security

-
[`9a612d5`](https://redirect.github.com/oxc-project/oxc/commit/9a612d5)
deps: Update npm packages
([#&#8203;26178](https://redirect.github.com/oxc-project/oxc/issues/26178))
(renovate\[bot])

</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:eyJjcmVhdGVkSW5WZXIiOiI0NC42MS4zIiwidXBkYXRlZEluVmVyIjoiNDQuNjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-07 15:21:06 +00:00
renovate[bot] 3cb3dc840b chore(deps): update dependency oxlint to v1.82.0 (#26405)
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.81.0` →
`1.82.0`](https://renovatebot.com/diffs/npm/oxlint/1.81.0/1.82.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.82.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.82.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.81.0/1.82.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.81.0/1.82.0?slim=true)
|

---

### Release Notes

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

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

##### 🚀 Features

-
[`6a0e19c`](https://redirect.github.com/oxc-project/oxc/commit/6a0e19c)
linter/eslint/no-unmodified-loop-condition: Support
`checkConditionalExpressions` option
([#&#8203;26249](https://redirect.github.com/oxc-project/oxc/issues/26249))
(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:eyJjcmVhdGVkSW5WZXIiOiI0NC42MS4zIiwidXBkYXRlZEluVmVyIjoiNDQuNjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-07 15:06:27 +00:00
renovate[bot] 1bb1c8c9e9 chore(deps): update pnpm to v12 (#26381)
> ℹ️ **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://redirect.github.com/pnpm/pnpm/tree/main/pnpm)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm))
| [`11.25.0` →
`12.3.2`](https://renovatebot.com/diffs/npm/pnpm/11.25.0/12.3.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/12.3.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/12.3.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/11.25.0/12.3.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/11.25.0/12.3.2?slim=true)
|

---

### Release Notes

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

###
[`v12.3.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v12.3.2):
pnpm 12.3.2

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v12.3.1...v12.3.2)

#### Patch Changes

- `pnpm audit --fix update` no longer aborts when a vulnerable package
has no safe version inside its declared range
[#&#8203;14508](https://redirect.github.com/pnpm/pnpm/issues/14508). The
run updates every package it can and lists the rest as remaining.

- `pnpm install` no longer reruns root lifecycle scripts when the global
virtual store contains an unfinished-build marker in a package slot that
the current lockfile does not use
[pnpm/pnpm#14485](https://redirect.github.com/pnpm/pnpm/issues/14485).

- Sped up installs that have no lockfile. pnpm now links packages whose
dependency subtree has no peer dependencies into the virtual store while
resolution is still running.

- `pnpm run` and `pnpm exec` now start without reinstalling on
filesystems that keep sub-millisecond mtimes, such as NTFS. Previously,
every run on those filesystems reinstalled first
[pnpm/pnpm#14486](https://redirect.github.com/pnpm/pnpm/issues/14486).

- `pnpm import` now keeps the versions recorded in `package-lock.json`,
`npm-shrinkwrap.json`, or `yarn.lock` when it generates
`pnpm-lock.yaml`. A range in `package.json`, a catalog, or an override
still decides which versions are eligible, and the recorded version is
preferred among them. The generated lockfile previously could pin newer
versions than the source lockfile
[#&#8203;14476](https://redirect.github.com/pnpm/pnpm/issues/14476).

`pnpm import` in a workspace now imports every workspace project into
the shared lockfile. It previously imported only the project in the
current directory.

`pnpm import` now fails with `ERR_PNPM_LOCKFILE_NOT_FOUND` when none of
the three source lockfiles is present. It also fails with
`ERR_PNPM_YARN_LOCKFILE_PARSE_FAILED` when it cannot parse `yarn.lock`.
It previously generated a lockfile from scratch in both cases.

`pnpm import` always resolves locally. It warns when `--pnpr-server` or
the `pnpr-server` setting is given and does not use the server.

- Sped up installs in large workspaces. Discovering the workspace
projects no longer enumerates every matched directory to learn which
manifest files it holds
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- Sped up installs in large workspaces. The resolver and the peer pass
allocate less for every dependency edge
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- `pnpm self-update`, `pnpm with`, and automatic package-manager version
switching no longer wait through registry retry delays when a configured
registry has no signatures and `registry.npmjs.org` is unavailable
[#&#8203;14483](https://redirect.github.com/pnpm/pnpm/issues/14483).

- Sped up installs in large workspaces. Saving the lockfile is faster,
and the install finishes without waiting for memory cleanup
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- `pnpm install` now relinks workspace packages when
`publishConfig.linkDirectory` changes. Frozen installs report an
outdated lockfile until it is regenerated
[pnpm/pnpm#14488](https://redirect.github.com/pnpm/pnpm/issues/14488).

- The pnpm npm wrapper keeps its placeholder shebang-less so pnpm 11 can
install pnpm 12 through the version store. Wrapper installs must allow
lifecycle scripts to install the native binary
[#&#8203;14502](https://redirect.github.com/pnpm/pnpm/issues/14502).

- Sped up dependency resolution when there is no lockfile, and for the
dependencies a lockfile does not cover.

- Sped up installs in large workspaces. Workspace `link:` targets and
importer ids are now derived from the paths' suffixes under the
workspace root
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- `pnpm install` now reports "Already up to date" when local tarball
dependencies have not changed
[#&#8203;14495](https://redirect.github.com/pnpm/pnpm/issues/14495).

- `pnpm update` now accepts `--ignore-scripts` and skips lifecycle
scripts during the update
[pnpm/pnpm#14512](https://redirect.github.com/pnpm/pnpm/issues/14512).

- Sped up installs that restore a deleted `node_modules` from a warm
global virtual store. pnpm no longer re-links packages that are already
fully present in the global virtual store
[#&#8203;14510](https://redirect.github.com/pnpm/pnpm/issues/14510).

<!-- 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>
      <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>
      <td align="center" valign="middle">
<a href="https://notion.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/notion.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/notion_light.svg" />
<img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"
/>
          </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>
      <td align="center" valign="middle">
<a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/latitude.svg" width="160"
alt="Latitude"></a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v12.3.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v12.3.1):
pnpm 12.3.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v12.3.0...v12.3.1)

#### Patch Changes

- Sped up installs in large workspaces: the anchor for re-rendering
workspace `link:` targets is now derived once per project instead of
once per dependency edge, and project ordering hashes paths by their raw
bytes
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- After a self-update from pnpm 12.2 to 12.3, global commands such as
`node`, `npm`, and `yarn` failed with `unexpected argument '--shim'
found`. Global commands now launch normally, and their first launch
migrates the global bin directory to native shims. When self-update
downgrades to pnpm 12.2 or older, it keeps the newer native shims so
those commands continue to work.

- Sped up installs in large workspaces. The check that verifies each
project against the lockfile now runs the projects in parallel
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

<!-- 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>
      <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>
      <td align="center" valign="middle">
<a href="https://notion.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/notion.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/notion_light.svg" />
<img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"
/>
          </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>
      <td align="center" valign="middle">
<a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/latitude.svg" width="160"
alt="Latitude"></a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v12.3.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v12.3.0):
pnpm 12.3

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v12.2.1...v12.3.0)

#### Minor Changes

- Every context-aware global command (`node`, `deno`, `bun`, and the
shims created with `pnpm shim add`) is now a native executable on every
platform, so environment variables whose names are not valid shell
identifiers reach these commands. On Windows, `<name>.exe` replaces the
`.cmd` and `.ps1` shims for them. Shims written by earlier pnpm 12
releases are migrated on the next global install or self-update.

- `pnpm remove` and `pnpm update` now accept `--trust-lockfile`,
`--no-trust-lockfile`, `--trust-policy`, `--trust-policy-exclude` and
`--trust-policy-ignore-after`, the same flags `pnpm install` and `pnpm
add` take, so the supply-chain settings can be overridden for a single
run. `pnpm remove` verifies the lockfile against the active policies the
way `pnpm install` does, and `--trust-lockfile` skips that pass for
every entry, not only the package being removed.

`pnpm` now also honors `--config.trust-lockfile=<value>`, and accepts
the bare `--trust-lockfile` / `--no-trust-lockfile` spelling on the
commands that previously took the setting from the config file alone.

#### Patch Changes

- `pnpm add <local directory>`, `pnpm add <local tarball>`, `pnpm add
file:<path>` and `pnpm add <tarball URL>` work again. A specifier given
without a `<name>@` prefix is no longer read as a registry package name
and rejected with `ERR_PNPM_PACKAGE_MANAGER_ADD_RESOLVE_LATEST`
[#&#8203;14437](https://redirect.github.com/pnpm/pnpm/issues/14437).

- Fixed `pnpm deploy --legacy` ignoring `allowUnusedPatches` supplied
through `--config.allow-unused-patches` or the
`PNPM_CONFIG_ALLOW_UNUSED_PATCHES` environment variable
[pnpm/pnpm#14450](https://redirect.github.com/pnpm/pnpm/issues/14450).

- Fixed `pnpm install --lockfile-only` writing a lockfile that
referenced a missing peer-suffixed snapshot when an npm-aliased
dependency took part in a cyclic peer dependency graph. The following
`pnpm install --frozen-lockfile` failed with
`ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY`
[#&#8203;14449](https://redirect.github.com/pnpm/pnpm/issues/14449).

- `pnpm config` now accepts `-g`/`--global`, `--location`, and `--json`
before its subcommand
[pnpm/pnpm#14421](https://redirect.github.com/pnpm/pnpm/issues/14421).

- `pnpm dedupe` now converges in one pass when it re-resolves a lockfile
created by pnpm 11, so a second run no longer changes the lockfile
[#&#8203;14455](https://redirect.github.com/pnpm/pnpm/issues/14455).

- Fixed detached child processes being terminated on Windows when
another program launches `pnpm` directly, without a shell, as `nr` from
`@antfu/ni` does
[#&#8203;14447](https://redirect.github.com/pnpm/pnpm/issues/14447).

- Fixed `pnpm docs <package>@<version>` ignoring the requested version.
It now opens the selected version's homepage and reports a missing
version instead of opening the package-level homepage
[pnpm/pnpm#14428](https://redirect.github.com/pnpm/pnpm/issues/14428).

- Sped up installs in large workspaces. `pnpm-lock.yaml` is now read
while the workspace projects are being discovered
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- Fixed filtered and recursive `pnpm run` and `pnpm exec` hanging when a
script reads from the terminal. Interactive prompts work again in a
script that pnpm never runs alongside another one, such as a single
`--filter`ed project, `--workspace-concurrency=1`, a dependency chain,
or a task declaring `concurrency: 1`
[#&#8203;14397](https://redirect.github.com/pnpm/pnpm/issues/14397).

- Fixed false unmet peer errors for auto-installed peers in linked
workspace packages.

- Fixed npm global installs on Windows so the PowerShell shims invoke
`pnpm.exe`.

- Fixed `pnpm with current <command>` when global options precede it,
such as `pnpm --workspace-root with current --version`
[pnpm/pnpm#14413](https://redirect.github.com/pnpm/pnpm/issues/14413).

A short-option cluster that mixes a global flag with an option owned by
the command, such as `pnpm -ro dist pack-app`, is now parsed like the
same options written after the command.

An option written before the command name is now reported as an unknown
option unless that command accepts it, instead of being taken for the
command to run. `pnpm -P exec echo` and `pnpm -z exec echo` fail the way
`pnpm --tag next exec echo` does.

- Apply pure insertions in zero-context patches at the correct line
instead of one line early.

- Improved peer dependency resolution performance when many packages
reuse the same peer ranges.

- `pnpm outdated` and `pnpm update` now follow local actions and
reusable workflows referenced with GitHub's self-repository syntax
(`uses: $/.github/actions/setup`) when looking for outdated GitHub
Actions, the same way they follow `./` references.

- The `pnpm install --help` descriptions of `--prod` and `--dev` no
longer claim that the flags take precedence over `NODE_ENV`. pnpm does
not read `NODE_ENV` when selecting which dependency groups to install
[#&#8203;14445](https://redirect.github.com/pnpm/pnpm/issues/14445).

- Sped up installs in large workspaces. The check that decides whether
the lockfile needs updating no longer compares every project against
every lockfile entry
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- Sped up dependency resolution in large workspaces that use `link:`
dependencies
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- On Linux, pnpm now resolves registry hostnames through the system
resolver (`getaddrinfo`), as it already does on macOS and Windows and as
pnpm 11 did. Previously, an `/etc/resolv.conf` containing an option the
bundled pure-Rust resolver did not recognize, such as `options
no_tld_query`, made pnpm ignore the configured nameservers and silently
query Google's public DNS instead
[#&#8203;14469](https://redirect.github.com/pnpm/pnpm/issues/14469).

- Sped up dependency resolution in large workspaces. The resolver builds
fewer lookup keys for each dependency
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- `catalogMode` and `--save-catalog` no longer move a local path,
tarball, or `workspace:<path>` specifier into a catalog. Such a
specifier is resolved against the project that declares it, so one
catalog entry cannot mean the same directory for every project that
references it
[#&#8203;14437](https://redirect.github.com/pnpm/pnpm/issues/14437).

- Sped up installs in large workspaces. The workspace dependency graph
is now built once per run instead of twice
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- Sped up writing `pnpm-lock.yaml` in large workspaces
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- Fixed non-frozen installs through a pnpr server failing instead of
regenerating a conflicted lockfile.

- `pnpm update --interactive` renders its checklist the way pnpm 11
does. Group headings and column headers are separators the cursor skips
instead of checkboxes that select nothing. The columns of one group line
up with the next. `a` toggles all and `i` inverts the selection. The
confirmed selection is echoed as a list of package names
[#&#8203;14423](https://redirect.github.com/pnpm/pnpm/issues/14423).

- Fixed `pnpm config` commands targeting global configuration to skip
project package manager version switching, allowing registry
authentication to be configured before pnpm downloads a project-pinned
version
[pnpm/pnpm#14463](https://redirect.github.com/pnpm/pnpm/issues/14463).

- Fixed pnpm retaining the surrounding quotes in `.npmrc` values,
including auth tokens expanded from environment variables. This restores
authentication with registries configured using `:_authToken="${TOKEN}"`
[pnpm/pnpm#14427](https://redirect.github.com/pnpm/pnpm/issues/14427).

- Fetch and tarball errors no longer print the secrets of the URL they
name. Inline `user:pass@` credentials and the query string or fragment
of a signed URL are hidden, so a failed install or `pnpm add <url>`
cannot leak them into terminal scrollback or CI logs.

- When `dist-tags.latest` names a version whose manifest pnpm cannot
read, the error now names that version and the field it could not
decode, instead of reporting the tag as empty.

- Retry transient Windows file-lock errors, including sharing
violations, while linking dependencies with the default (isolated)
`nodeLinker`. This fixes
[pnpm/pnpm#14407](https://redirect.github.com/pnpm/pnpm/issues/14407).

- `pnpm run`, `pnpm exec`, `pnpm rebuild`, and the script shortcuts such
as `pnpm test` now load the pnpmfile, so `updateConfig` hook settings
such as `extraEnv` and `extraBinPaths` reach the scripts they spawn
[#&#8203;14433](https://redirect.github.com/pnpm/pnpm/issues/14433).

- The `pnpm` executable of the npm package now works when the package
was installed without running its install scripts, as under
`--ignore-scripts` or the default build-script block of pnpm and Bun
[#&#8203;14346](https://redirect.github.com/pnpm/pnpm/issues/14346). In
that case it runs through Node.js and, in a terminal, says how to switch
to the native binary.

- Sped up installs in large workspaces. The resolver no longer copies
the whole lockfile before resolving
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- `minimumReleaseAgeStrict` now defaults to `true` when
`minimumReleaseAge` is explicitly configured, whether in
`pnpm-workspace.yaml`, the global `config.yaml`, a `PNPM_CONFIG_*`
variable, or a CLI flag. The built-in 1440-minute default stays
non-strict. Previously an explicit cutoff was treated as non-strict, so
immature versions were silently added to `minimumReleaseAgeExclude`
instead of being gated with a prompt
[#&#8203;14409](https://redirect.github.com/pnpm/pnpm/issues/14409).

- Preserve environment variables whose names are not valid shell
identifiers when launching Node.js installed by `pnpm runtime set node
--global` on Unix
[pnpm/pnpm#14417](https://redirect.github.com/pnpm/pnpm/issues/14417).

- Fixed `pnpm repo` and `pnpm docs` failing to open the Windows browser
from WSL
[pnpm/pnpm#14467](https://redirect.github.com/pnpm/pnpm/issues/14467).

- `pnpm link`, `pnpm outdated`, and `pnpm import` now apply pnpmfile
`updateConfig` hooks before resolving dependencies.

- Fixed standalone installations to preserve the bundled `node-gyp`
files used to build native dependencies.

- Fixed resolution against registries whose version manifests carry
`_npmUser`, `dist.attestations`, `dist.unpackedSize`, `dist.fileCount`,
or `peerDependenciesMeta` in a shape npm does not use. Such a version
was skipped as though it had never been published, so `pnpm add` could
fail with "no version found for the latest tag" even though the registry
served it.

- `pnpm unpublish` now completes the two-factor authentication a
registry asks for instead of failing with `ERR_PNPM_UNAUTHORIZED` while
logged in. A 401 that is an OTP challenge starts the web-based
authentication flow, or prompts for a classic one-time password. The
obtained password is reused by every request of the run
[#&#8203;14464](https://redirect.github.com/pnpm/pnpm/issues/14464).

- On Windows, pnpm now resolves host names through the system resolver
instead of its own DNS client. The built-in client bound a UDP socket
for every lookup, which made Windows Defender Firewall ask to allow
`pnpm.exe` again after every `pnpm self-update`
[#&#8203;14405](https://redirect.github.com/pnpm/pnpm/issues/14405).

<!-- 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>
      <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>
      <td align="center" valign="middle">
<a href="https://notion.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/notion.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/notion_light.svg" />
<img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"
/>
          </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>
      <td align="center" valign="middle">
<a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/latitude.svg" width="160"
alt="Latitude"></a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v12.2.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v12.2.1):
pnpm 12.2.1

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

#### Patch Changes

- Restored the `pnpm` executable target without a file extension so pnpm
12.1 and earlier can upgrade to newer pnpm 12 releases on POSIX systems.

<!-- 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>
      <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>
      <td align="center" valign="middle">
<a href="https://notion.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/notion.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/notion_light.svg" />
<img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"
/>
          </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>
      <td align="center" valign="middle">
<a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/latitude.svg" width="160"
alt="Latitude"></a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v12.2.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v12.2.0):
pnpm 12.2

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v12.1.0...v12.2.0)

#### Minor Changes

- Catalogs can now resolve workspace dependencies through the
`workspace:` protocol.

#### Patch Changes

- Fixed `pnpm audit --fix` failing with `ERR_PNPM_INVALID_FIX_OPTION`
when used without a value, including when another flag follows it, as in
`pnpm audit --fix --json`
[#&#8203;13261](https://redirect.github.com/pnpm/pnpm/issues/13261).
Fixed `pnpm audit --fix=override` ignoring the `saveExact` and
`savePrefix` settings when writing vulnerability overrides
[#&#8203;11523](https://redirect.github.com/pnpm/pnpm/issues/11523).

- Authenticate Node.js runtime downloads from `nodeDownloadMirrors` with
URL-scoped npm registry credentials, including bearer tokens, basic
auth, and `tokenHelper`
[pnpm/pnpm#14334](https://redirect.github.com/pnpm/pnpm/issues/14334).

- Fixed detached child processes being terminated after successful
commands on Windows.

- Sped up installs in large workspaces by resolving each named
`workspace:` dependency (`workspace:*`, `workspace:^`,
`workspace:1.2.3`) once and reusing it across every project that
declares it, instead of re-resolving it per project.

- Fixed `pnpm install --fix-lockfile` to derive its repair and
filtered-merge views from one lockfile snapshot.

- Load pnpmfile `updateConfig` hooks before packing so hook-provided
catalogs resolve in `pnpm pack`, `pnpm publish`, and `pnpm stage
publish`
[pnpm/pnpm#14377](https://redirect.github.com/pnpm/pnpm/issues/14377).

- `pnpm deploy` no longer requires `injectWorkspacePackages` to be
enabled. A linked workspace dependency is rewritten to a `file:`
dependency in the dedicated deploy lockfile, and the peer dependencies
it declares are bound to the deployed graph's own resolution.

When a peer resolves to more than one version in that graph the binding
is ambiguous, and choosing between the candidates is exactly what
injecting the package would have decided, so the deploy still fails —
now with `ERR_PNPM_DEPLOY_AMBIGUOUS_PEER`, which names the package, the
peer, and the competing versions, instead of refusing every non-injected
workspace up front, and suggests pinning the peer to one version with an
`overrides` entry as the way to keep deploying without injection
[#&#8203;9386](https://redirect.github.com/pnpm/pnpm/issues/9386).

- Fixed global virtual store hashes for dependency cycles. Every package
that transitively depends on an allowed build now includes the engine in
its store path, independent of traversal order
[pnpm/pnpm#14341](https://redirect.github.com/pnpm/pnpm/issues/14341).

- Fixed `ERR_PNPM_CMD_SHIM_CHMOD` when several installs run at once
against a shared global virtual store. One install could remove a
command shim while another was making it executable
([pnpm/pnpm#14353](https://redirect.github.com/pnpm/pnpm/issues/14353)).

- Fixed the PowerShell shim generated by `npm install -g pnpm` on
Windows so it invokes the native `pnpm.exe` binary
[pnpm/pnpm#14362](https://redirect.github.com/pnpm/pnpm/issues/14362).

- Fixed context-aware global shims on WSL2 so native Linux installations
dispatch through the project runtime.

- `pnpm install` no longer writes global `minimumReleaseAgeExclude`
entries to the project's `pnpm-workspace.yaml`
[pnpm/pnpm#14347](https://redirect.github.com/pnpm/pnpm/issues/14347).

- Fixed `catalog:` ranges in workspace package peer dependencies being
reported as unmet
[pnpm/pnpm#14361](https://redirect.github.com/pnpm/pnpm/issues/14361).

- `globalDir` and `globalBinDir` are honored wherever they are set, so
`pnpm add -g` no longer fails with `ERR_PNPM_GLOBAL_BIN_DIR_NOT_IN_PATH`
after `pnpm config set -g global-bin-dir`
[#&#8203;14336](https://redirect.github.com/pnpm/pnpm/issues/14336). The
global `config.yaml` is read again, `PNPM_CONFIG_GLOBAL_DIR` /
`PNPM_CONFIG_GLOBAL_BIN_DIR` reach the directories derived from them,
and a leading `~/` is expanded before that derivation. A project's
`pnpm-workspace.yaml` still cannot set either key.

- Fixed the install progress line reporting `added 0` under `nodeLinker:
hoisted`, even when packages were linked into `node_modules`
[#&#8203;14348](https://redirect.github.com/pnpm/pnpm/issues/14348).

- An auto-installed optional peer is now resolved to a version its
declared peer range accepts, even when the workspace root depends on
that package at a version outside the range. Previously the root's
version was used and then reported as an unmet optional peer
[#&#8203;13867](https://redirect.github.com/pnpm/pnpm/issues/13867).

- Fixed `pnpm run "/pattern/"` running matching scripts one at a time in
a single project. Matching scripts now run concurrently up to
`workspaceConcurrency`, and their output is prefixed so concurrent lines
remain distinguishable [pnpm discussion
14357](https://redirect.github.com/orgs/pnpm/discussions/14357).

- Fixed a slowdown at the end of a resolving install in a large
workspace. The peer-dependency report now inspects only the projects the
resolution flagged, rather than every project in the lockfile
([pnpm/pnpm#14359](https://redirect.github.com/pnpm/pnpm/issues/14359)).

- Speed up workspace discovery for literal directories and conventional
trailing-star patterns.

Workspace patterns now follow the same dot-directory rule as pnpm 11: a
wildcard no longer matches a dot-prefixed directory, so `packages/*` and
`**` skip `packages/.cache` and `.git`. A pattern that names a
dot-prefixed directory still matches it, as `packages/.cache` and
`packages/.*` do.

- `pnpm audit` now ends its output with a trailing newline, including
the `--json`, `--fix`, and `--ignore` output.

- Retry transient Windows file-lock errors while replacing hoisted
packages during installation.
This fixes
[pnpm/pnpm#14349](https://redirect.github.com/pnpm/pnpm/issues/14349).

- Fixed command-line `--side-effects-cache` overrides being ignored when
`pnpm-workspace.yaml` uses the object form of `sideEffectsCache`
[pnpm/pnpm#14338](https://redirect.github.com/pnpm/pnpm/issues/14338).

- Speed up workspace project discovery in large monorepos: workspace
patterns are now probed concurrently and the discovered projects'
`package.json` files are read in parallel
[#&#8203;14352](https://redirect.github.com/pnpm/pnpm/issues/14352).

- Fixed repeated `pnpm dedupe` runs alternating between peer resolutions
when a peer is provided through an npm alias.

- Fixed `pnpm repo <package>` and `pnpm docs <package>` resolving bare
package names through the `latest` tag, and prevented malformed package
ranges from crashing registry selection.

- Fixed non-ASCII characters in configuration values being mangled
during environment-variable substitution. Paths such as `storeDir:
./café-store` are now preserved
[#&#8203;14383](https://redirect.github.com/pnpm/pnpm/issues/14383).

<!-- 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>
      <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>
      <td align="center" valign="middle">
<a href="https://notion.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/notion.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/notion_light.svg" />
<img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"
/>
          </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>
      <td align="center" valign="middle">
<a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes"
target="_blank" rel="noopener noreferrer"><img
src="https://pnpm.io/img/users/latitude.svg" width="160"
alt="Latitude"></a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

###
[`v12.1.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v12.1.0):
pnpm 12.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v12.0.0...v12.1.0)

#### Minor Changes

- `pnpm login` and `pnpm adduser` now record the granted token in the
global `config.yaml`, under the `_auth` setting, with `--scope`'s scope
routed to that registry under `registries`. `pnpm logout` removes it
from there, and still from an `auth.ini` an earlier version wrote.
Tokens already in `auth.ini` keep working.

- A `scope` set in a project's `pnpm-workspace.yaml` is now ignored,
with a warning naming where to set it instead. `pnpm login` records the
scope as a `@scope:registry` route in the machine-global `auth.ini`,
which outranks `~/.npmrc` in every project — so a repository-committed
file could redirect a scope such as `@acme` for all of a user's other
projects after one routine login. Use `--scope`, the `PNPM_CONFIG_SCOPE`
environment variable, or the global config file instead
[#&#8203;13557](https://redirect.github.com/pnpm/pnpm/issues/13557).

- Verified remote build artifacts are persisted in the shared store with
their signed origin metadata. Later installs reverify the artifact
against current trust, policy, platform, and source before reuse, while
invalid remote variants are quarantined per channel
([pnpm/pnpm#13771](https://redirect.github.com/pnpm/pnpm/issues/13771)).

- Persist completed recursive tasks so `--resume-from` skips exactly the
work that passed during a matching interrupted or failed `pnpm -r run` /
`pnpm -r exec` invocation. When no compatible state exists, pnpm retains
its graph-based resume behavior.

- Workspace install, rebuild, pack, publish, stage, and lifecycle work
now starts as soon as its dependencies finish instead of waiting for an
unrelated topological group.

- Added per-task concurrency limits to workspace task orchestration. Set
`tasks.<name>.concurrency` in `pnpm-workspace.yaml` to limit how many
instances of that task may run across workspace projects at once:

  ```yaml
  tasks:
    build:
      concurrency: 2
  ```

- `sideEffectsCache` now declares the whole of how a package's build
output is reused — whether one is restored, whether one is saved, and
the remote tier tha

> ✂ **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 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:eyJjcmVhdGVkSW5WZXIiOiI0NC42MS4zIiwidXBkYXRlZEluVmVyIjoiNDQuNjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-07 08:06:59 +00:00
renovate[bot] 2289d27099 chore(deps): update npm packages (#26366)
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.68.0` →
`8.69.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.68.0/8.69.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.69.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.69.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.68.0/8.69.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.68.0/8.69.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.68.0` →
`8.69.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.68.0/8.69.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fscope-manager/8.69.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fscope-manager/8.69.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fscope-manager/8.68.0/8.69.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fscope-manager/8.68.0/8.69.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.68.0` →
`8.69.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.68.0/8.69.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.69.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.69.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.68.0/8.69.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.68.0/8.69.0?slim=true)
|
| [degit](https://redirect.github.com/Rich-Harris/degit) | [`3.8.0` →
`3.9.0`](https://renovatebot.com/diffs/npm/degit/3.8.0/3.9.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/degit/3.9.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/degit/3.9.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/degit/3.8.0/3.9.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/degit/3.8.0/3.9.0?slim=true)
|
|
[serialize-javascript](https://redirect.github.com/yahoo/serialize-javascript)
| [`7.1.0` →
`7.1.1`](https://renovatebot.com/diffs/npm/serialize-javascript/7.1.0/7.1.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/serialize-javascript/7.1.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/serialize-javascript/7.1.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/serialize-javascript/7.1.0/7.1.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/serialize-javascript/7.1.0/7.1.1?slim=true)
|
| [tsx](https://tsx.hirok.io)
([source](https://redirect.github.com/privatenumber/tsx)) | [`4.23.12` →
`4.23.13`](https://renovatebot.com/diffs/npm/tsx/4.23.12/4.23.13) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsx/4.23.13?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsx/4.23.13?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsx/4.23.12/4.23.13?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsx/4.23.12/4.23.13?slim=true)
|
| [type-fest](https://redirect.github.com/sindresorhus/type-fest) |
[`5.8.0` →
`5.9.0`](https://renovatebot.com/diffs/npm/type-fest/5.8.0/5.9.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/5.9.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/type-fest/5.9.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/type-fest/5.8.0/5.9.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/5.8.0/5.9.0?slim=true)
|

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.68.0...v8.69.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.69.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.69.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8690-2026-08-31)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.68.0...v8.69.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.69.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.69.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8690-2026-08-31)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.68.0...v8.69.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.69.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.9.0`](https://redirect.github.com/Rich-Harris/degit/releases/tag/v3.9.0):
3.9.0

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

- Add `Degit#doActions()` for programmatic `degit.json` actions and make
the constructor source-optional
([#&#8203;33](https://redirect.github.com/Rich-Harris/degit/issues/33)).

</details>

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

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

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

#### What's Changed

- fix: fix XSS bypass via split `</script` payload across function
bodies by [@&#8203;okuryu](https://redirect.github.com/okuryu) in
[#&#8203;226](https://redirect.github.com/yahoo/serialize-javascript/pull/226)
- release: v7.1.1 by
[@&#8203;okuryu](https://redirect.github.com/okuryu) in
[#&#8203;227](https://redirect.github.com/yahoo/serialize-javascript/pull/227)

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

</details>

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

###
[`v4.23.13`](https://redirect.github.com/privatenumber/tsx/compare/v4.23.12...28e1f12d04cd2afe1db17f8555b14fe5fb567c6e)

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

</details>

<details>
<summary>sindresorhus/type-fest (type-fest)</summary>

###
[`v5.9.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v5.9.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v5.8.0...v5.9.0)

##### New types

-
[`RenameKeys`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/rename-keys.d.ts)
([#&#8203;1435](https://redirect.github.com/sindresorhus/type-fest/issues/1435))
[`548e7df`](https://redirect.github.com/sindresorhus/type-fest/commit/548e7df)

##### Improvements

- `SharedUnionFieldsDeep`: Ensure it doesn't distribute processed union
over mapped type
([#&#8203;1509](https://redirect.github.com/sindresorhus/type-fest/issues/1509))
[`07a04de`](https://redirect.github.com/sindresorhus/type-fest/commit/07a04de)
- `TypedArray`: Add `Float16Array`
([#&#8203;1495](https://redirect.github.com/sindresorhus/type-fest/issues/1495))
[`ca27cce`](https://redirect.github.com/sindresorhus/type-fest/commit/ca27cce)

##### Fixes

- `Writable`: Fix behavior with index signatures
([#&#8203;1470](https://redirect.github.com/sindresorhus/type-fest/issues/1470))
[`48ddc4b`](https://redirect.github.com/sindresorhus/type-fest/commit/48ddc4b)
- `Jsonify`: Fix optional properties leaking `undefined` into the key
set
([#&#8203;1484](https://redirect.github.com/sindresorhus/type-fest/issues/1484))
[`5339fb3`](https://redirect.github.com/sindresorhus/type-fest/commit/5339fb3)
- `IsLiteral*`: Fix behavior with unions
([#&#8203;1482](https://redirect.github.com/sindresorhus/type-fest/issues/1482))
[`3425142`](https://redirect.github.com/sindresorhus/type-fest/commit/3425142)

***

</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:eyJjcmVhdGVkSW5WZXIiOiI0NC42MS4zIiwidXBkYXRlZEluVmVyIjoiNDQuNjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron Clark <cameron.clark@hey.com>
2026-09-06 21:05:25 +00:00
renovate[bot] 8dd81f9bb8 chore(deps): update dependency @napi-rs/cli to v3.9.0 (#26256)
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.6` →
`3.9.0`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.8.6/3.9.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.9.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.9.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.8.6/3.9.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.8.6/3.9.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the warning logs for
more information.

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.6...@napi-rs/cli@3.9.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:eyJjcmVhdGVkSW5WZXIiOiI0NC41Ny4zIiwidXBkYXRlZEluVmVyIjoiNDQuNjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-09-04 14:22:16 +00:00
renovate[bot] 007a9fdc64 chore(deps): update dependency tsdown to v0.23.0 (#26300)
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.14` →
`0.23.0`](https://renovatebot.com/diffs/npm/tsdown/0.22.14/0.23.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.23.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.23.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.22.14/0.23.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.22.14/0.23.0?slim=true)
|

---

### Release Notes

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

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

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

#####    🧭 Migration Guide

Most users can upgrade directly. Before upgrading, run one final build
with `tsdown@0.22.14` and resolve all deprecation warnings.

- **config**:
  - `bundle: false` → `unbundle: true`; `bundle: true` can be removed
  - `outExtension` → `outExtensions`
  - `publicDir` / `--public-dir` → `copy` / `--copy`
  - `removeNodeProtocol: true` → `nodeProtocol: 'strip'`
  - `injectStyle` → `css.inject`
- **deps**:
  - `inlineOnly` / `deps.onlyAllowBundle` → `deps.onlyBundle`
  - `skipNodeModulesBundle: true` → `deps.neverBundle: true`
- `resolveDepSubpath` now defaults to `false`; set it to `true` to
preserve the previous behavior
- **dts**:
- Select a generator with `dts.generator`, for example `{ generator:
'oxc' }`
- `dts.cjsReexport` was removed; dual-format builds now generate CJS
declarations in a separate pass
- **attw**:
- The default profile changed from `strict` to `esm-only`; set `profile:
'strict'` to preserve the previous checks
- **programmatic API**:
- `build()` now returns `{ bundles, watch }`; replace `const bundles =
await build()` with `const { bundles } = await build()`
- **requirements**:
- Node.js 25 is no longer supported; use `^22.18.0`, `^24.11.0`, or
`>=26.0.0`
- The packages no longer publish legacy `types` and `typesVersions`
fallbacks; use TypeScript’s `bundler`, `node16`, or `nodenext` module
resolution

#####    🚨 Breaking Changes

- Drop support for Node.js 25  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(26950)</samp>](https://redirect.github.com/rolldown/tsdown/commit/26950f1)
- Remove deprecated tsup compatibility options  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(50766)</samp>](https://redirect.github.com/rolldown/tsdown/commit/507661c)
- Drop `types` and `typesVersions`fields  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(be3ea)</samp>](https://redirect.github.com/rolldown/tsdown/commit/be3ea86)
- **attw**:
- Change default profile to `esm-only`  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(9b3cf)</samp>](https://redirect.github.com/rolldown/tsdown/commit/9b3cfca)
- **deps**:
- Remove deprecated `deps.onlyAllowBundle`  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(30c55)</samp>](https://redirect.github.com/rolldown/tsdown/commit/30c553d)
- Disable `resolveDepSubpath` by default  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(d300f)</samp>](https://redirect.github.com/rolldown/tsdown/commit/d300fcc)
- Remove deprecated `skipNodeModulesBundle`  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(f2a3d)</samp>](https://redirect.github.com/rolldown/tsdown/commit/f2a3d8e)
- **dts**:
- Remove dts.cjsReexport option  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(9c70f)</samp>](https://redirect.github.com/rolldown/tsdown/commit/9c70fa9)
- Make `dts.generator` the only way to select generator  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(eb75f)</samp>](https://redirect.github.com/rolldown/tsdown/commit/eb75f9d)

#####    🚀 Features

- Expose programmatic watch controls  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz) in
[#&#8203;1062](https://redirect.github.com/rolldown/tsdown/issues/1062)
[<samp>(96a40)</samp>](https://redirect.github.com/rolldown/tsdown/commit/96a4098)
- **css**: Support function form for `css.modules.localsConvention`  - 
by [@&#8203;sxzz](https://redirect.github.com/sxzz) and
[@&#8203;lazerg](https://redirect.github.com/lazerg)
[<samp>(b566f)</samp>](https://redirect.github.com/rolldown/tsdown/commit/b566f6d)
- **report**: Add `summary` option to skip per-file size logs  -  by
[@&#8203;lazerg](https://redirect.github.com/lazerg) in
[#&#8203;1036](https://redirect.github.com/rolldown/tsdown/issues/1036)
[<samp>(020e9)</samp>](https://redirect.github.com/rolldown/tsdown/commit/020e9cd)

#####    🐞 Bug Fixes

- Allow `unplugin-unused` v0.5+  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(53c78)</samp>](https://redirect.github.com/rolldown/tsdown/commit/53c78cb)
- Ignore optional dependencies in type definitions  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(94622)</samp>](https://redirect.github.com/rolldown/tsdown/commit/946224d)
- **cli**:
- Camel-case nested flag keys  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(bf53f)</samp>](https://redirect.github.com/rolldown/tsdown/commit/bf53f43)
- **css**:
- Watch files imported via `@import`  -  by
[@&#8203;lazerg](https://redirect.github.com/lazerg) in
[#&#8203;1038](https://redirect.github.com/rolldown/tsdown/issues/1038)
[<samp>(ebee5)</samp>](https://redirect.github.com/rolldown/tsdown/commit/ebee509)
- **deps**:
- Apply `resolveDepSubpath` when `neverBundle` is `true`  -  by
[@&#8203;lazerg](https://redirect.github.com/lazerg) in
[#&#8203;1053](https://redirect.github.com/rolldown/tsdown/issues/1053)
[<samp>(4943c)</samp>](https://redirect.github.com/rolldown/tsdown/commit/4943c08)
- **exports**:
- Scope inlined dependencies to configs with exports  -  by
[@&#8203;lazerg](https://redirect.github.com/lazerg) in
[#&#8203;1040](https://redirect.github.com/rolldown/tsdown/issues/1040)
[<samp>(d5b80)</samp>](https://redirect.github.com/rolldown/tsdown/commit/d5b8015)
- **migrate**:
- Pin migrated projects to tsdown 0.22.14  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(113fb)</samp>](https://redirect.github.com/rolldown/tsdown/commit/113fb8a)
- Support non-interactive environments  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(51e41)</samp>](https://redirect.github.com/rolldown/tsdown/commit/51e4183)

#####    🏎 Performance

- Remove `asyncDispose` polyfill  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(82675)</samp>](https://redirect.github.com/rolldown/tsdown/commit/826755e)
- Replace `ansis` with `util.styleText`  -  by
[@&#8203;sxzz](https://redirect.github.com/sxzz)
[<samp>(be6bf)</samp>](https://redirect.github.com/rolldown/tsdown/commit/be6bfd2)

#####     [View changes on
GitHub](https://redirect.github.com/rolldown/tsdown/compare/v0.22.14...v0.23.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:eyJjcmVhdGVkSW5WZXIiOiI0NC42MS4zIiwidXBkYXRlZEluVmVyIjoiNDQuNjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-04 12:23:10 +00:00
camc314 949d7a9302 chore(deps): update vitest to v5 (#26299)
## Summary

- update workspace test dependencies to Vitest 5.0.0
- pin Vitest and related tooling to Vite 8.2.2
- migrate removed sequential and benchmark APIs
- update the pnpm lockfile
2026-09-03 19:05:05 +00:00
leaysgur 5f9580dce2 fix(oxfmt): bump prettier-plugin-tailwindcss (#26273)
Contains https://github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/472
2026-09-03 06:24:19 +00:00
renovate[bot] be400b14d7 chore(deps): update dependency rolldown to v1.2.7 (#26252)
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.6` →
`1.2.7`](https://renovatebot.com/diffs/npm/rolldown/1.2.6/1.2.7) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.7?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.2.7?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.2.6/1.2.7?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.2.6/1.2.7?slim=true)
|

---

### Release Notes

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

###
[`v1.2.7`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#127---2026-09-02)

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

##### 🐛 Bug Fixes

- rolldown\_binding: make `PreRenderedChunk.facadeModuleId` nullable
like Rollup
([#&#8203;10810](https://redirect.github.com/rolldown/rolldown/issues/10810))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- plugin\_timings: reword the warning so it does not contradict itself
([#&#8203;10788](https://redirect.github.com/rolldown/rolldown/issues/10788))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- model a facade's host import in the fold cycle check
([#&#8203;10743](https://redirect.github.com/rolldown/rolldown/issues/10743))
by [@&#8203;ulrichstark](https://redirect.github.com/ulrichstark)

##### 🧪 Testing

- dev: add circular reexport test
([#&#8203;10563](https://redirect.github.com/rolldown/rolldown/issues/10563))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)

##### ⚙️ Miscellaneous Tasks

- deps: update npm packages
([#&#8203;10795](https://redirect.github.com/rolldown/rolldown/issues/10795))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crates
([#&#8203;10794](https://redirect.github.com/rolldown/rolldown/issues/10794))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency rolldown-plugin-dts to v0.28.3
([#&#8203;10805](https://redirect.github.com/rolldown/rolldown/issues/10805))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- renovate: disable oxc auto-updates
([#&#8203;10813](https://redirect.github.com/rolldown/rolldown/issues/10813))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- deps: upgrade oxc to 0.148.0
([#&#8203;10809](https://redirect.github.com/rolldown/rolldown/issues/10809))
by [@&#8203;camc314](https://redirect.github.com/camc314)
- deps: update pnpm to v11.24.0
([#&#8203;10803](https://redirect.github.com/rolldown/rolldown/issues/10803))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update crate-ci/typos action to v1.50.0
([#&#8203;10806](https://redirect.github.com/rolldown/rolldown/issues/10806))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update test262 submodule for tests
([#&#8203;10808](https://redirect.github.com/rolldown/rolldown/issues/10808))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update rollup submodule for tests to v4.63.1
([#&#8203;10807](https://redirect.github.com/rolldown/rolldown/issues/10807))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update crate-ci/typos action to v1.49.1
([#&#8203;10796](https://redirect.github.com/rolldown/rolldown/issues/10796))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update github actions
([#&#8203;10749](https://redirect.github.com/rolldown/rolldown/issues/10749))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]

</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:eyJjcmVhdGVkSW5WZXIiOiI0NC41Ny4zIiwidXBkYXRlZEluVmVyIjoiNDQuNTcuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-02 15:48:42 +00:00
renovate[bot] d2e71b4736 chore(deps): update dependency oxlint to v1.81.0 (#26233)
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.80.0` →
`1.81.0`](https://renovatebot.com/diffs/npm/oxlint/1.80.0/1.81.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.81.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.81.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.80.0/1.81.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.80.0/1.81.0?slim=true)
|

---

### Release Notes

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

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

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

##### 📚 Documentation

-
[`d5be037`](https://redirect.github.com/oxc-project/oxc/commit/d5be037)
linter/typescript/switch-exhaustiveness-check: Clarify default case
comment pattern
([#&#8203;26100](https://redirect.github.com/oxc-project/oxc/issues/26100))
(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:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 17:01:03 +00:00
renovate[bot] de53e80efc chore(deps): update dependency oxfmt to ^0.66.0 (#26232)
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.65.0` →
`^0.66.0`](https://renovatebot.com/diffs/npm/oxfmt/0.65.0/0.66.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.66.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxfmt/0.66.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxfmt/0.65.0/0.66.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.65.0/0.66.0?slim=true)
|

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/oxc-project/oxc/compare/oxfmt_v0.65.0...oxfmt_v0.66.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:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 16:59:45 +00:00
renovate[bot] 9a612d57e5 chore(deps): update npm packages (#26178)
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.67.0` →
`8.68.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.67.0/8.68.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.68.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.68.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.67.0/8.68.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.67.0/8.68.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.67.0` →
`8.68.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.67.0/8.68.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fscope-manager/8.68.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fscope-manager/8.68.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fscope-manager/8.67.0/8.68.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fscope-manager/8.67.0/8.68.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.67.0` →
`8.68.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.67.0/8.68.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.68.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.68.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.67.0/8.68.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.67.0/8.68.0?slim=true)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`10.8.1` →
`10.9.1`](https://renovatebot.com/diffs/npm/eslint/10.8.1/10.9.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.9.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/10.9.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/10.8.1/10.9.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/10.8.1/10.9.1?slim=true)
|
| [svelte](https://svelte.dev)
([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte))
| [`5.56.10` →
`5.57.0`](https://renovatebot.com/diffs/npm/svelte/5.56.10/5.57.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.57.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svelte/5.57.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svelte/5.56.10/5.57.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.56.10/5.57.0?slim=true)
|
| [tinypool](https://redirect.github.com/tinylibs/tinypool) | [`2.1.0` →
`2.1.2`](https://renovatebot.com/diffs/npm/tinypool/2.1.0/2.1.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tinypool/2.1.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tinypool/2.1.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tinypool/2.1.0/2.1.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tinypool/2.1.0/2.1.2?slim=true)
|
|
[vscode-languageserver-protocol](https://redirect.github.com/Microsoft/vscode-languageserver-node)
([source](https://redirect.github.com/Microsoft/vscode-languageserver-node/tree/HEAD/protocol))
| [`3.18.2` →
`3.18.3`](https://renovatebot.com/diffs/npm/vscode-languageserver-protocol/3.18.2/3.18.3)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/vscode-languageserver-protocol/3.18.3?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vscode-languageserver-protocol/3.18.3?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vscode-languageserver-protocol/3.18.2/3.18.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vscode-languageserver-protocol/3.18.2/3.18.3?slim=true)
|
|
[vscode-languageserver-textdocument](https://redirect.github.com/Microsoft/vscode-languageserver-node)
([source](https://redirect.github.com/Microsoft/vscode-languageserver-node/tree/HEAD/textDocument))
| [`1.0.12` →
`1.0.14`](https://renovatebot.com/diffs/npm/vscode-languageserver-textdocument/1.0.12/1.0.14)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/vscode-languageserver-textdocument/1.0.14?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vscode-languageserver-textdocument/1.0.14?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vscode-languageserver-textdocument/1.0.12/1.0.14?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vscode-languageserver-textdocument/1.0.12/1.0.14?slim=true)
|

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.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.68.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.68.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8680-2026-08-24)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.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.68.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.68.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8680-2026-08-24)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.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.68.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>eslint/eslint (eslint)</summary>

###
[`v10.9.1`](https://redirect.github.com/eslint/eslint/compare/v10.9.0...5c8c2417b9ff462f2dc4e54a062c59135b45b845)

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

###
[`v10.9.0`](https://redirect.github.com/eslint/eslint/compare/v10.8.1...c27bc926e496985eb7911c09eb60914b2e4b5d0f)

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

</details>

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

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

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

##### Minor Changes

- feat: export `RenderOutput`, `SyncRenderOutput`, `Csp` and
`Sha256Source` from `svelte/server`
([#&#8203;18648](https://redirect.github.com/sveltejs/svelte/pull/18648))

- feat: add `has` function to `createContext`
([#&#8203;18472](https://redirect.github.com/sveltejs/svelte/pull/18472))

- feat: support `defaultValue` on `<select>`
([#&#8203;18591](https://redirect.github.com/sveltejs/svelte/pull/18591))

- feat: add getOrInsert/getOrInsertComputed to SvelteMap
([#&#8203;18728](https://redirect.github.com/sveltejs/svelte/pull/18728))

##### Patch Changes

- fix: block template store subscriptions on the promise that assigns
the store
([#&#8203;18582](https://redirect.github.com/sveltejs/svelte/pull/18582))

- fix: route $derived teardown errors through invoke\_error\_boundary
([#&#8203;18486](https://redirect.github.com/sveltejs/svelte/pull/18486))

- fix: track SvelteDate snapshots in reactions
([#&#8203;18700](https://redirect.github.com/sveltejs/svelte/pull/18700))

- fix: remove `<svelte:head>` anchors on unmount
([#&#8203;18697](https://redirect.github.com/sveltejs/svelte/pull/18697))

- fix: warn on undeclared shorthand event handlers on `<svelte:window>`,
`<svelte:document>` and `<svelte:body>`
([#&#8203;18480](https://redirect.github.com/sveltejs/svelte/pull/18480))

- perf: reuse the cached value in the `<option>`/`<select>` value guard
([#&#8203;18713](https://redirect.github.com/sveltejs/svelte/pull/18713))

- fix: prevent malformed AST output for `<select>` with static `value`
attribute
([#&#8203;18449](https://redirect.github.com/sveltejs/svelte/pull/18449))

- fix: apply ownership mutation ignores to binding assignments
([#&#8203;18718](https://redirect.github.com/sveltejs/svelte/pull/18718))

- fix: prevent onoutroend from firing twice when compilerOptions.hmr is
true
([#&#8203;18655](https://redirect.github.com/sveltejs/svelte/pull/18655))

- fix: preserve whitespace after inline elements when printing
([#&#8203;18685](https://redirect.github.com/sveltejs/svelte/pull/18685))

- perf: fold SSR block-open markers into the branch's first push
([#&#8203;18712](https://redirect.github.com/sveltejs/svelte/pull/18712))

- fix: run `onDestroy` callbacks when a server render throws
([#&#8203;18585](https://redirect.github.com/sveltejs/svelte/pull/18585))

- fix: report `derived_invalid_export` for `export let x =
$derived(...)` in runes mode
([#&#8203;18692](https://redirect.github.com/sveltejs/svelte/pull/18692))

- fix: never apply class hash to elements inside `<svelte:head>`
([#&#8203;18160](https://redirect.github.com/sveltejs/svelte/pull/18160))

- fix: keep `defaultChecked` on hydrated radio inputs with spread
attributes
([#&#8203;18701](https://redirect.github.com/sveltejs/svelte/pull/18701))

- fix: accept `onfocusin`/`onfocusout` in
`a11y_mouse_events_have_key_events`
([#&#8203;18689](https://redirect.github.com/sveltejs/svelte/pull/18689))

- perf: O(n²)→O(n) Map lookups for legacy `$:` reactive statement
ordering
([#&#8203;18602](https://redirect.github.com/sveltejs/svelte/pull/18602))

- fix: distinct memoizer on style/class directives
([#&#8203;18466](https://redirect.github.com/sveltejs/svelte/pull/18466))

- fix: measure nested transitions before applying their starting styles
([#&#8203;18647](https://redirect.github.com/sveltejs/svelte/pull/18647))

- fix: don't turn component instances stored in `$state` into state
proxies
([#&#8203;18646](https://redirect.github.com/sveltejs/svelte/pull/18646))

- perf: emit `$.only_child` for elements with a single child
([#&#8203;18717](https://redirect.github.com/sveltejs/svelte/pull/18717))

- fix: omit `bind:focused` from SSR output (it has no HTML attribute)
([#&#8203;18724](https://redirect.github.com/sveltejs/svelte/pull/18724))

- fix: more robust rendering of Svelte custom element slots
([#&#8203;18710](https://redirect.github.com/sveltejs/svelte/pull/18710))

- perf: optimize simple object destructuring in `@const` tags
([#&#8203;18390](https://redirect.github.com/sveltejs/svelte/pull/18390))

- fix: properly apply static textarea value attribute during CSR
([#&#8203;18727](https://redirect.github.com/sveltejs/svelte/pull/18727))

- fix: end a restored reaction context at the end of its synchronous
segment
([#&#8203;18694](https://redirect.github.com/sveltejs/svelte/pull/18694))

- fix: keep the dependencies of a reaction that throws, so deriveds it
read are neither leaked nor stuck in their error
([#&#8203;18703](https://redirect.github.com/sveltejs/svelte/pull/18703))

- fix: don't resurrect outroing elements when an ancestor block is
paused and resumed
([#&#8203;18431](https://redirect.github.com/sveltejs/svelte/pull/18431))

- perf: use `$.comment()` for single-comment templates
([#&#8203;18714](https://redirect.github.com/sveltejs/svelte/pull/18714))

- chore: move `@types/trusted-types` to devDependencies
([#&#8203;18730](https://redirect.github.com/sveltejs/svelte/pull/18730))

- perf: store setters cache as `Set` instead of `Array`
([#&#8203;18251](https://redirect.github.com/sveltejs/svelte/pull/18251))

- fix: transform derived assignments and select function bindings
correctly during server-side rendering
([#&#8203;18669](https://redirect.github.com/sveltejs/svelte/pull/18669))

- fix: keep boolean attributes with an empty string value when rendering
attribute objects on the server
([#&#8203;18721](https://redirect.github.com/sveltejs/svelte/pull/18721))

- fix: sync `SvelteURL` port signal when the protocol setter clears the
port
([#&#8203;18705](https://redirect.github.com/sveltejs/svelte/pull/18705))

- fix: block declaration tags and `{@const}` on async values read inside
closures
([#&#8203;18533](https://redirect.github.com/sveltejs/svelte/pull/18533))

- fix: avoid css tree-shaking for exported Snippet
([#&#8203;18540](https://redirect.github.com/sveltejs/svelte/pull/18540))

- perf: treat `<img loading>` as a static element again
([#&#8203;18711](https://redirect.github.com/sveltejs/svelte/pull/18711))

- fix: prevent `selectedcontent` mutation from changing the selected
option
([#&#8203;18495](https://redirect.github.com/sveltejs/svelte/pull/18495))

- fix: avoid `NaN` keyframe values in `slide` transition for elements
without a layout box
([#&#8203;18430](https://redirect.github.com/sveltejs/svelte/pull/18430))

- fix: preserve line feed character references in attribute values
([#&#8203;18691](https://redirect.github.com/sveltejs/svelte/pull/18691))

- fix: decode uppercase-`X` hex numeric character references (`&#X...;`)
([#&#8203;18708](https://redirect.github.com/sveltejs/svelte/pull/18708))

- chore: clarify when `$effect.pre` runs relative to DOM updates
([#&#8203;18534](https://redirect.github.com/sveltejs/svelte/pull/18534))

- fix: scope SSR boundary failed snippets to their boundary
([#&#8203;18593](https://redirect.github.com/sveltejs/svelte/pull/18593))

</details>

<details>
<summary>tinylibs/tinypool (tinypool)</summary>

###
[`v2.1.2`](https://redirect.github.com/tinylibs/tinypool/releases/tag/v2.1.2)

[Compare
Source](https://redirect.github.com/tinylibs/tinypool/compare/v2.1.1...v2.1.2)

Contains security fix for
<https://github.com/tinylibs/tinypool/security/advisories/GHSA-85c8-ppgw-ccpr>.

#### What's Changed

- fix: guard worker filename from proto pollution by
[@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#&#8203;135](https://redirect.github.com/tinylibs/tinypool/pull/135)

**Full Changelog**:
<https://github.com/tinylibs/tinypool/compare/v2.1.1...v2.1.2>

###
[`v2.1.1`](https://redirect.github.com/tinylibs/tinypool/releases/tag/v2.1.1)

[Compare
Source](https://redirect.github.com/tinylibs/tinypool/compare/v2.1.0...v2.1.1)

Contains security fix for
<https://github.com/tinylibs/tinypool/security/advisories/GHSA-5gmw-xhrv-c9v3>.

#### What's Changed

- fix: guard worker options from proto pollution by
[@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#&#8203;134](https://redirect.github.com/tinylibs/tinypool/pull/134)

**Full Changelog**:
<https://github.com/tinylibs/tinypool/compare/v2.1.0...v2.1.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 becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

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

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-09-01 14:03:55 +00:00
renovate[bot] b9559fb8e9 chore(deps): update oxc to ^0.148.0 (#26221)
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.147.0` →
`^0.148.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.147.0/0.148.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.148.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.148.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.147.0/0.148.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.147.0/0.148.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.147.0` →
`^0.148.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.147.0/0.148.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/oxc-parser/0.148.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxc-parser/0.148.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxc-parser/0.147.0/0.148.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxc-parser/0.147.0/0.148.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 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:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 10:27:40 +00:00
renovate[bot] c73a335a0b chore(deps): update dependency json-schema-to-typescript to v16 (#26193)
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/) |
|---|---|---|---|---|---|
|
[json-schema-to-typescript](https://redirect.github.com/bcherny/json-schema-to-typescript)
| [`^15.0.4` →
`^16.0.0`](https://renovatebot.com/diffs/npm/json-schema-to-typescript/15.0.4/16.0.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/json-schema-to-typescript/16.0.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/json-schema-to-typescript/16.0.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/json-schema-to-typescript/15.0.4/16.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/json-schema-to-typescript/15.0.4/16.0.0?slim=true)
|

---

### Release Notes

<details>
<summary>bcherny/json-schema-to-typescript
(json-schema-to-typescript)</summary>

###
[`v16.0.0`](https://redirect.github.com/bcherny/json-schema-to-typescript/blob/HEAD/CHANGELOG.md#1600)

[Compare
Source](https://redirect.github.com/bcherny/json-schema-to-typescript/compare/5584e38566f0746633a08f4ad3b11439256967e7...7f72770eb854328c96b112be445da0306bebdbaf)

This release collects the fixes and small features merged since 15.0.4.
Several of them correct types that were previously emitted wrong, so
existing schemas may generate different output; hence the major version.

New:

-
[`e3c7776`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/e3c7776)
Feat: Support OpenAPI 3.0 `nullable: true`, including next to a `$ref`;
such schemas now emit `T | null`
([#&#8203;755](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/755),
fixes
[#&#8203;410](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/410))
-
[`ab31f41`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/ab31f41)
Feat: Support draft-3 / Swagger 2 property-level `required: true`; such
properties are now emitted as required
([#&#8203;756](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/756),
fixes
[#&#8203;440](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/440),
[#&#8203;6](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/6))
-
[`111c187`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/111c187)
Feat: Resolve draft-07 named-anchor `$ref`s (`"#name"` matching a
sibling `$id: "#name"`) instead of crashing
([#&#8203;744](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/744),
fixes
[#&#8203;220](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/220))

May change emitted types for existing schemas:

-
[`efceb64`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/efceb64)
Bugfix: Multiple `patternProperties` (or `patternProperties` with
`additionalProperties: false`) are folded into one index signature typed
as the union of their value types, instead of being dropped
([#&#8203;754](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/754),
fixes
[#&#8203;160](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/160),
[#&#8203;315](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/315))
-
[`b84b3da`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/b84b3da)
Bugfix: `allOf` members made up only of unsupported keywords (eg.
`if`/`then`, `not`) no longer add a stray `{[k: string]: unknown}` to
the intersection
([#&#8203;743](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/743),
fixes
[#&#8203;369](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/369))
-
[`d8618e5`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/d8618e5)
Bugfix: `properties`/`patternProperties` on a nested schema were dropped
when combined with `oneOf`/`anyOf`/`allOf`; they are now intersected
with the compound type
([#&#8203;708](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/708),
fixes
[#&#8203;630](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/630))
-
[`4eee0f1`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/4eee0f1)
Bugfix: `$ref`s to definitions with dotted names (eg.
`#/definitions/v1.ManagedFieldsEntry`) were truncated at the first dot
(`V1`); the full name is now used (`V1ManagedFieldsEntry`)
([#&#8203;705](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/705),
fixes
[#&#8203;645](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/645))
-
[`7a3dd8e`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/7a3dd8e)
Bugfix: Nested arrays with `minItems`/`maxItems` are capped by the
cumulative product of their bounds against `maxItems`, falling back to
an unbounded array instead of hanging or emitting enormous tuple unions
([#&#8203;703](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/703),
fixes
[#&#8203;690](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/690))
-
[`34a692c`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/34a692c)
Bugfix: `type: null` (the JSON null value) is treated as `type: "null"`
instead of as an untyped object
([#&#8203;702](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/702),
fixes
[#&#8203;667](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/667))
-
[`0f9d309`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/0f9d309)
Bugfix: `unreachableDefinitions` now declares definitions even when
`declareExternallyReferenced` is off
([#&#8203;706](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/706),
fixes
[#&#8203;652](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/652))
-
[`1900e1f`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/1900e1f)
Bugfix: With `inferStringEnumKeysFromValues`, a `const` is emitted as a
literal type again rather than a single-member enum
([#&#8203;701](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/701),
fixes
[#&#8203;666](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/666))
-
[`606e359`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/606e359)
Bugfix: A schema with an array `type` and `properties` (eg. `type:
['object', 'null']`) at the root or as an untitled definition compiled
to `A & (A | null)`, making the non-object members unreachable; it now
emits `A | null`
([#&#8203;753](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/753),
supersedes
[#&#8203;672](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/672))
-
[`c73ea75`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/c73ea75)
Bugfix: An empty schema inside `allOf` (eg. `allOf: [{$ref:
'#/definitions/User'}, {}]`) collapsed the whole intersection to
`unknown`; the empty member is now dropped and `User` is kept
([#&#8203;752](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/752),
fixes
[#&#8203;654](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/654))
-
[`9c50776`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/9c50776)
Bugfix: The `description` of an inline `items` schema is no longer
dropped; it is added to the JSDoc of the array's declaration as an
`Items: ...` paragraph
([#&#8203;751](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/751),
fixes
[#&#8203;660](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/660))

Fixes for crashes and output that did not compile:

-
[`b25c768`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/b25c768)
Bugfix: A root-level `$ref` to a definition that is itself only a `$ref`
no longer crashes with "Refs should have been resolved by the resolver!"
([#&#8203;741](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/741),
fixes
[#&#8203;740](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/740))
-
[`b25c768`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/b25c768)
Bugfix: A root-level `$ref` to a definition that refers back to itself
(directly or through `items`/`properties`) compiles instead of crashing
with the same error
([#&#8203;741](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/741),
fixes
[#&#8203;132](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/132),
[#&#8203;730](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/730)).
The referenced definition is still emitted as its own interface
alongside the root type
-
[`107dd42`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/107dd42)
Bugfix: Index signatures from `patternProperties`/`additionalProperties`
are widened to cover sibling named properties, so the interface
typechecks (TS2411). Index signatures that already typechecked are
emitted type-equivalent to before
([#&#8203;704](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/704),
fixes
[#&#8203;671](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/671))
-
[`a2234d3`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/a2234d3)
Bugfix: `inferStringEnumKeysFromValues` no longer produces invalid enum
members for non-string, empty or digit-leading values
([#&#8203;694](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/694),
fixes
[#&#8203;657](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/657))
-
[`377c6a1`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/377c6a1)
Bugfix: A named enum (`tsEnumNames`) in a position with no name no
longer emits a nameless `enum` declaration; it degrades to a union of
literals
([#&#8203;693](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/693),
fixes
[#&#8203;691](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/691))
-
[`c44faed`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/c44faed)
Bugfix: Generated type names can no longer start with a digit or
collapse to an empty name
([#&#8203;698](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/698),
fixes
[#&#8203;640](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/640))
-
[`8d8a141`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/8d8a141)
Bugfix: Recursive schemas that reach the generator without a name (a
self-referencing `$ref` with a sibling keyword such as `description`, a
recursive `oneOf` under `components/schemas`, an untitled recursive
schema in another file) are given a generated type name instead of
overflowing the stack. Schemas that compiled before are unchanged,
except that an anonymous recursive union with a `{}`/`true` member now
keeps its alias (same type, one extra `export type`)
([#&#8203;760](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/760),
fixes
[#&#8203;482](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/482),
[#&#8203;614](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/614))

Other:

-
[`bf06bbb`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/bf06bbb)
Bugfix (CLI): Piping a schema on stdin no longer prints a `DEP0187`
deprecation warning on Node 24
([#&#8203;750](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/750))
-
[`3abde40`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/3abde40)
Perf: `compile()` no longer scans every definition once per parsed node;
schemas with thousands of definitions compile much faster (schemastore's
CloudFormation schema: \~54 s -> \~3 s). Generated output is unchanged
([#&#8203;759](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/759))
-
[`b88891c`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/b88891c)
Perf: Formatting large, mostly quote-free outputs is several times
faster (prettier is told the output is a `.d.ts`, so it skips its
JSX-detection scan); a caller's own `style.filepath` still wins.
Generated output is unchanged
([#&#8203;758](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/758))
-
[`16c2e77`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/16c2e77)
Bugfix (CLI): relative `$ref`s are resolved against each schema file's
own directory rather than `process.cwd()`, so a schema passed by path
from another directory finds its siblings; an explicit `--cwd` still
wins
([#&#8203;742](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/742),
fixes
[#&#8203;324](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/324),
[#&#8203;680](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/680))
-
[`9219636`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/9219636)
Updated runtime dependencies: js-yaml 4 -> 5 (YAML files parse as
before,
[#&#8203;689](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/689)),
prettier ^3.9 (short unions that fit on one line are no longer wrapped;
users on the existing `^3.2.5` range may already see this),
[@&#8203;apidevtools/json-schema-ref-parser](https://redirect.github.com/apidevtools/json-schema-ref-parser)
^11.9
([#&#8203;686](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/686))
-
[`a5834aa`](https://redirect.github.com/bcherny/json-schema-to-typescript/commit/a5834aa)
Removed the `is-glob` dependency
([#&#8203;643](https://redirect.github.com/bcherny/json-schema-to-typescript/issues/643))

</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:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-31 02:03:19 +00:00
leaysgur 9d0e3d34f3 chore(oxfmt): bump tinypool (#26191)
Security fixes: https://github.com/tinylibs/tinypool/releases
2026-08-31 01:16:52 +00:00
renovate[bot] de31accb7a chore(deps): update dependency rolldown to v1.2.6 (#26111)
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.5` →
`1.2.6`](https://renovatebot.com/diffs/npm/rolldown/1.2.5/1.2.6) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.6?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.2.6?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.2.5/1.2.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.2.5/1.2.6?slim=true)
|

---

### Release Notes

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

###
[`v1.2.6`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#126---2026-08-26)

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

##### 🚀 Features

- minify: support property name mangling
([#&#8203;10374](https://redirect.github.com/rolldown/rolldown/issues/10374))
by [@&#8203;Dunqing](https://redirect.github.com/Dunqing)
- add `tsconfig: string` option to `transform`
([#&#8203;10727](https://redirect.github.com/rolldown/rolldown/issues/10727))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- rolldown\_plugin\_vite\_transform: add `tsconfig` option
([#&#8203;10725](https://redirect.github.com/rolldown/rolldown/issues/10725))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- rolldown\_plugin\_vite\_resolve: add top-level `tsconfig` option
([#&#8203;10724](https://redirect.github.com/rolldown/rolldown/issues/10724))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- dev: expose module graph queries on the dev engine handle
([#&#8203;10716](https://redirect.github.com/rolldown/rolldown/issues/10716))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)

##### 🐛 Bug Fixes

- dev: assign import bindings before initializing dependencies
([#&#8203;10783](https://redirect.github.com/rolldown/rolldown/issues/10783))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- dev: copy star re-exports before initializing dependencies
([#&#8203;10761](https://redirect.github.com/rolldown/rolldown/issues/10761))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- dev: register an empty exports object for a module without exports
([#&#8203;10772](https://redirect.github.com/rolldown/rolldown/issues/10772))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- name the module when a `codeSplitting` group callback returns a wrong
type
([#&#8203;10753](https://redirect.github.com/rolldown/rolldown/issues/10753))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- dev: map dev rename events like build watch
([#&#8203;10758](https://redirect.github.com/rolldown/rolldown/issues/10758))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- clear resolution cache when `TsconfigCache::clear` is called
([#&#8203;10726](https://redirect.github.com/rolldown/rolldown/issues/10726))
by [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red)
- dev: resolve in-flight `ensureLatestBuildOutput` when the engine
closes
([#&#8203;10730](https://redirect.github.com/rolldown/rolldown/issues/10730))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)
- binding: replace undeclared BindingErrorsOr with BindingResult in hook
types
([#&#8203;10717](https://redirect.github.com/rolldown/rolldown/issues/10717))
by [@&#8203;h-a-n-a](https://redirect.github.com/h-a-n-a)

##### 🚜 Refactor

- rolldown\_fs\_watcher: collapse fs-watcher backends behind a single
FsWatcher
([#&#8203;10735](https://redirect.github.com/rolldown/rolldown/issues/10735))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- hoist invariants out of the `codeSplitting` group loop
([#&#8203;10744](https://redirect.github.com/rolldown/rolldown/issues/10744))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 📚 Documentation

- document shared notify rename mapping
([#&#8203;10759](https://redirect.github.com/rolldown/rolldown/issues/10759))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- update watch-mode internals for unified FsWatcher
([#&#8203;10736](https://redirect.github.com/rolldown/rolldown/issues/10736))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)

##### ⚡ Performance

- batch `codeSplitting` group `test` / `name` calls
([#&#8203;10745](https://redirect.github.com/rolldown/rolldown/issues/10745))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- deduplicate used symbol ref readers
([#&#8203;10742](https://redirect.github.com/rolldown/rolldown/issues/10742))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- reduce release debug formatting
([#&#8203;10728](https://redirect.github.com/rolldown/rolldown/issues/10728))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- enable compiler cache via `module.enableCompileCache()`
([#&#8203;10678](https://redirect.github.com/rolldown/rolldown/issues/10678))
by [@&#8203;btea](https://redirect.github.com/btea)
- deduplicate regress codegen
([#&#8203;10732](https://redirect.github.com/rolldown/rolldown/issues/10732))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)

##### 🧪 Testing

- define: add expected failure for default parameter scope
([#&#8203;10780](https://redirect.github.com/rolldown/rolldown/issues/10780))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- use an absolute filename for transform tsconfig path
([#&#8203;10782](https://redirect.github.com/rolldown/rolldown/issues/10782))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)

##### ⚙️ Miscellaneous Tasks

- deps: upgrade oxc to 0.147.0
([#&#8203;10767](https://redirect.github.com/rolldown/rolldown/issues/10767))
by [@&#8203;camc314](https://redirect.github.com/camc314)
- deps: update resolver dependencies
([#&#8203;10766](https://redirect.github.com/rolldown/rolldown/issues/10766))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- deps: update rollup submodule for tests to v4.62.5
([#&#8203;10770](https://redirect.github.com/rolldown/rolldown/issues/10770))
by
[@&#8203;rolldown-guard](https://redirect.github.com/rolldown-guard)\[bot]
- deps: update dependency vite-plus to ^0.3.0
([#&#8203;10757](https://redirect.github.com/rolldown/rolldown/issues/10757))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update npm packages
([#&#8203;10750](https://redirect.github.com/rolldown/rolldown/issues/10750))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crates
([#&#8203;10748](https://redirect.github.com/rolldown/rolldown/issues/10748))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update rust crate napi to v3.12.2
([#&#8203;10738](https://redirect.github.com/rolldown/rolldown/issues/10738))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency rust to v1.98.0
([#&#8203;10733](https://redirect.github.com/rolldown/rolldown/issues/10733))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- wasi: cap each Node Test attempt with timeout to survive hangs
([#&#8203;10709](https://redirect.github.com/rolldown/rolldown/issues/10709))
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:eyJjcmVhdGVkSW5WZXIiOiI0NC40Ni4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-26 14:10:34 +00:00
renovate[bot] ba2433fd49 chore(deps): update dependency oxfmt to ^0.65.0 (#26065)
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.64.0` →
`^0.65.0`](https://renovatebot.com/diffs/npm/oxfmt/0.64.0/0.65.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.65.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxfmt/0.65.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxfmt/0.64.0/0.65.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.64.0/0.65.0?slim=true)
|

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/oxc-project/oxc/compare/oxfmt_v0.64.0...oxfmt_v0.65.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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-24 14:05:56 +00:00
renovate[bot] f77169b857 chore(deps): update dependency oxlint to v1.80.0 (#26063)
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.79.0` →
`1.80.0`](https://renovatebot.com/diffs/npm/oxlint/1.79.0/1.80.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.80.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.80.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.79.0/1.80.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.79.0/1.80.0?slim=true)
|

---

### Release Notes

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

###
[`v1.80.0`](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v1.79.0...oxlint_v1.80.0)

[Compare
Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v1.79.0...oxlint_v1.80.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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-24 13:55:47 +00:00
renovate[bot] 1c87f82a4e chore(deps): update oxc to ^0.147.0 (#26059)
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.146.0` →
`^0.147.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.146.0/0.147.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.147.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.147.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.146.0/0.147.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.146.0/0.147.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.146.0` →
`^0.147.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.146.0/0.147.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/oxc-parser/0.147.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxc-parser/0.147.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxc-parser/0.146.0/0.147.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxc-parser/0.146.0/0.147.0?slim=true)
|

---

### Release Notes

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

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

##### 🐛 Bug Fixes

-
[`8a9bdbd`](https://redirect.github.com/oxc-project/oxc/commit/8a9bdbd)
estree: Include decorators in `FormalParameterRest ` spans
([#&#8203;26021](https://redirect.github.com/oxc-project/oxc/issues/26021))
(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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-24 13:22:37 +00:00
renovate[bot] bf507f5c64 chore(deps): update dependency vite-plus to v0.3.0 (#26039)
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.9` →
`0.3.0`](https://renovatebot.com/diffs/npm/vite-plus/0.2.9/0.3.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plus/0.3.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plus/0.3.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plus/0.2.9/0.3.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plus/0.2.9/0.3.0?slim=true)
|

---

### Release Notes

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

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

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

##### vite-plus v0.3.0

##### Published Packages

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

##### 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:
[`b2d15e3`](https://redirect.github.com/voidzero-dev/vite-plus/commit/b2d15e3899dcc8adedfd45d98de9d30046a624f4)

</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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-24 06:46:33 +00:00
renovate[bot] e5c38c9145 chore(deps): update dependency svelte to v5.56.10 (#26031)
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.9` →
`5.56.10`](https://renovatebot.com/diffs/npm/svelte/5.56.9/5.56.10) |
![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.56.10?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svelte/5.56.10?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svelte/5.56.9/5.56.10?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.56.9/5.56.10?slim=true)
|

---

### Release Notes

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

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

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

##### Patch Changes

- fix: preserve CSS escape sequences when printing selectors
([#&#8203;18667](https://redirect.github.com/sveltejs/svelte/pull/18667))

- fix: parse `:nth-child(2n of.foo)` where `of` is not followed by
whitespace
([#&#8203;18611](https://redirect.github.com/sveltejs/svelte/pull/18611))

- fix: transform expressions inside labeled statements during server
compilation
([#&#8203;18617](https://redirect.github.com/sveltejs/svelte/pull/18617))

- docs: clarify that context lookup includes the current component and
all ancestors
([#&#8203;18581](https://redirect.github.com/sveltejs/svelte/pull/18581))

- fix: apply CSS custom properties with falsy values on components
([#&#8203;18634](https://redirect.github.com/sveltejs/svelte/pull/18634))

- fix: correctly print `{#await ... catch x}` et al
([#&#8203;18645](https://redirect.github.com/sveltejs/svelte/pull/18645))

- fix: ignore comments of Program node during migration script
([#&#8203;18656](https://redirect.github.com/sveltejs/svelte/pull/18656))

- fix: reliably resolve append\_style to its correct root
([#&#8203;18614](https://redirect.github.com/sveltejs/svelte/pull/18614))

- fix: clean up removed capture event handlers from spread attributes
([#&#8203;18618](https://redirect.github.com/sveltejs/svelte/pull/18618))

- fix: don't corrupt renderer type during SSR's legacy `bind:` retry
loop
([#&#8203;18616](https://redirect.github.com/sveltejs/svelte/pull/18616))

- fix: treat concise arrow function bodies as implicit returns when
calculating blockers
([#&#8203;18613](https://redirect.github.com/sveltejs/svelte/pull/18613))

- fix: give effect teardowns the value from before the first write in a
flush
([#&#8203;18620](https://redirect.github.com/sveltejs/svelte/pull/18620))

- fix: avoid double-calling a derived reference when destructuring
`$derived` of another `$derived` during server-side rendering
([#&#8203;18668](https://redirect.github.com/sveltejs/svelte/pull/18668))

- fix: preserve namespaces in CSS type selectors
([#&#8203;18678](https://redirect.github.com/sveltejs/svelte/pull/18678))

- fix: increment private state fields through a non-`this` receiver
([#&#8203;18622](https://redirect.github.com/sveltejs/svelte/pull/18622))

- chore: deduplicate client and server context helpers
([#&#8203;18580](https://redirect.github.com/sveltejs/svelte/pull/18580))

- fix: release `last_propagated_event` after event propagation settles
so it no longer retains the last event's target subtree
([#&#8203;18569](https://redirect.github.com/sveltejs/svelte/pull/18569))

- fix: allow custom elements to receive async values as props
([#&#8203;18661](https://redirect.github.com/sveltejs/svelte/pull/18661))

- fix: strip comments from inline `style` values in linear time
([#&#8203;18553](https://redirect.github.com/sveltejs/svelte/pull/18553))

- fix: prevent declaration comments from breaking server derived
references
([#&#8203;18641](https://redirect.github.com/sveltejs/svelte/pull/18641))

- perf: make async blocker analysis scale linearly with the number of
top-level references
([#&#8203;18549](https://redirect.github.com/sveltejs/svelte/pull/18549))

- fix: preserve short-circuiting for logical assignments to private
state fields
([#&#8203;18594](https://redirect.github.com/sveltejs/svelte/pull/18594))

</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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-23 22:09:16 +00:00
renovate[bot] aec79a6c7f chore(deps): update npm packages (#26022)
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/) |
|---|---|---|---|---|---|
| [@vitest/browser](https://vitest.dev/guide/browser/)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser))
| [`4.1.10` →
`4.1.11`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/4.1.10/4.1.11)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/4.1.11?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/4.1.11?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/4.1.10/4.1.11?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/4.1.10/4.1.11?slim=true)
|
|
[@vitest/browser-playwright](https://vitest.dev/config/browser/playwright)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright))
| [`4.1.10` →
`4.1.11`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser-playwright/4.1.10/4.1.11)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser-playwright/4.1.11?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser-playwright/4.1.11?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser-playwright/4.1.10/4.1.11?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser-playwright/4.1.10/4.1.11?slim=true)
|
| [degit](https://redirect.github.com/Rich-Harris/degit) | [`3.7.0` →
`3.8.0`](https://renovatebot.com/diffs/npm/degit/3.7.0/3.8.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/degit/3.8.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/degit/3.8.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/degit/3.7.0/3.8.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/degit/3.7.0/3.8.0?slim=true)
|
| [publint](https://publint.dev)
([source](https://redirect.github.com/publint/publint/tree/HEAD/packages/publint))
| [`0.3.23` →
`0.3.24`](https://renovatebot.com/diffs/npm/publint/0.3.23/0.3.24) |
![age](https://developer.mend.io/api/mc/badges/age/npm/publint/0.3.24?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/publint/0.3.24?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/publint/0.3.23/0.3.24?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/publint/0.3.23/0.3.24?slim=true)
|
| [vitest](https://vitest.dev)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest))
| [`4.1.10` →
`4.1.11`](https://renovatebot.com/diffs/npm/vitest/4.1.10/4.1.11) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.1.11?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/4.1.11?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/4.1.10/4.1.11?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.1.10/4.1.11?slim=true)
|

---

### Release Notes

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

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

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

#####    🐞 Bug Fixes

- Revive global concurrency limit for test lifecycle \[backport to v4]
 -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va)
and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#&#8203;10992](https://redirect.github.com/vitest-dev/vitest/issues/10992)
[<samp>(5146d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5146df80b)
- **browser**:
- Encode iframeId in tester iframe URL \[backport to v4]  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va),
**Pduhard** and **Claude Opus 4.8** in
[#&#8203;10955](https://redirect.github.com/vitest-dev/vitest/issues/10955)
[<samp>(10b2c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/10b2cd201)
- Trigger playwright/chromium gc on lower disk availability \[backport
to v4]  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa),
**Hiroshi Ogawa** and **OpenCode** in
[#&#8203;10951](https://redirect.github.com/vitest-dev/vitest/issues/10951)
[<samp>(9851d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9851dbc41)
- **mocker**:
- Restrict redirect mocks to the fs allowlist \[backport to v4]  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;10974](https://redirect.github.com/vitest-dev/vitest/issues/10974)
[<samp>(fe5a1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fe5a11d3c)

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

</details>

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

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

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

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

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

</details>

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

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

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

##### Patch Changes

- [#&#8203;257](https://redirect.github.com/publint/publint/pull/257)
[`7c4d25a`](https://redirect.github.com/publint/publint/commit/7c4d25a4a03d8a8332221248df8c386d4cd97f30)
- Check the `repository.url` value even when `repository.type` is
omitted. `type` is optional and defaults to git, so packages using the
object form without it were previously skipped for the
deprecated-protocol, invalid-git-url, and shorthand-URL checks.

</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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron Clark <cameron.clark@hey.com>
2026-08-23 17:08:27 +00:00
renovate[bot] e1e7af627c chore(deps): update dependency rolldown to v1.2.5 (#25929)
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.4` →
`1.2.5`](https://renovatebot.com/diffs/npm/rolldown/1.2.4/1.2.5) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.5?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rolldown/1.2.5?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rolldown/1.2.4/1.2.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.2.4/1.2.5?slim=true)
|

---

### Release Notes

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

###
[`v1.2.5`](https://redirect.github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#125---2026-08-19)

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

##### 🚀 Features

- bench: record per-suite peak memory in the node benchmark
([#&#8203;10704](https://redirect.github.com/rolldown/rolldown/issues/10704))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- binding: allocation-tracking global allocator behind the
`tracking_allocator` feature
([#&#8203;10703](https://redirect.github.com/rolldown/rolldown/issues/10703))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- add armv7 android (armv7-linux-androideabi) support
([#&#8203;10691](https://redirect.github.com/rolldown/rolldown/issues/10691))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- add `NAMESPACE_CONFLICT` warning for conflicting star re-exports
([#&#8203;7452](https://redirect.github.com/rolldown/rolldown/issues/7452))
by [@&#8203;AliceLanniste](https://redirect.github.com/AliceLanniste)

##### 🐛 Bug Fixes

- rolldown\_plugin\_vite\_reporter: avoid ANSI erase-line escape in
non-TTY output
([#&#8203;10692](https://redirect.github.com/rolldown/rolldown/issues/10692))
by [@&#8203;shulaoda](https://redirect.github.com/shulaoda)
- rolldown\_plugin\_vite\_resolve: preserve Yarn PnP virtual importer
([#&#8203;10591](https://redirect.github.com/rolldown/rolldown/issues/10591))
by [@&#8203;Freakazo](https://redirect.github.com/Freakazo)
- exclude hash placeholders from case-insensitive filename deconfliction
([#&#8203;10590](https://redirect.github.com/rolldown/rolldown/issues/10590))
by [@&#8203;Nic-Polumeyv](https://redirect.github.com/Nic-Polumeyv)
- code-splitting: fold already-loaded side-effectful libraries into
eager entries
([#&#8203;10645](https://redirect.github.com/rolldown/rolldown/issues/10645))
by [@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock)
- dev: flush re-emitted assets when their content changes
([#&#8203;10637](https://redirect.github.com/rolldown/rolldown/issues/10637))
by [@&#8203;btea](https://redirect.github.com/btea)
- renamer: rename nested `require`/`__filename`/`__dirname` bindings in
CJS output
([#&#8203;10655](https://redirect.github.com/rolldown/rolldown/issues/10655))
by [@&#8203;marcoroth](https://redirect.github.com/marcoroth)
- silence two wasm-only warnings
([#&#8203;10668](https://redirect.github.com/rolldown/rolldown/issues/10668))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 🚜 Refactor

- skip case folding for filenames with hash placeholders
([#&#8203;10689](https://redirect.github.com/rolldown/rolldown/issues/10689))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- code-splitting: remove redundant synthetic statement owner
([#&#8203;10503](https://redirect.github.com/rolldown/rolldown/issues/10503))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- renamer: move the cjs check into
`rename_bindings_shadowing_cjs_ambient_names`
([#&#8203;10672](https://redirect.github.com/rolldown/rolldown/issues/10672))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)

##### 📚 Documentation

- agents: point the never-edit list at the binding files that exist
([#&#8203;10719](https://redirect.github.com/rolldown/rolldown/issues/10719))
by [@&#8203;melbinjp](https://redirect.github.com/melbinjp)

##### 🧪 Testing

- deconflict: pin renaming the external process binding away from the
global
([#&#8203;10702](https://redirect.github.com/rolldown/rolldown/issues/10702))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- dev: expect a hot update across a circular import
([#&#8203;10700](https://redirect.github.com/rolldown/rolldown/issues/10700))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)

##### ⚙️ Miscellaneous Tasks

- deps: upgrade oxc to 0.146.0
([#&#8203;10707](https://redirect.github.com/rolldown/rolldown/issues/10707))
by [@&#8203;Boshen](https://redirect.github.com/Boshen)
- deps: update rust crates
([#&#8203;10684](https://redirect.github.com/rolldown/rolldown/issues/10684))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update npm packages
([#&#8203;10685](https://redirect.github.com/rolldown/rolldown/issues/10685))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- build the benchmark comparison window from the JSON lines
([#&#8203;10701](https://redirect.github.com/rolldown/rolldown/issues/10701))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- wasi: retry the Node Test step to absorb the shared-dlmalloc flake
([#&#8203;10699](https://redirect.github.com/rolldown/rolldown/issues/10699))
by [@&#8203;hyfdev](https://redirect.github.com/hyfdev)
- append benchmark results to storage as JSON lines
([#&#8203;10682](https://redirect.github.com/rolldown/rolldown/issues/10682))
by [@&#8203;IWANABETHATGUY](https://redirect.github.com/IWANABETHATGUY)
- deps: update github actions
([#&#8203;10683](https://redirect.github.com/rolldown/rolldown/issues/10683))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency rolldown-plugin-dts to v0.28.2
([#&#8203;10679](https://redirect.github.com/rolldown/rolldown/issues/10679))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
- deps: update dependency rolldown-plugin-dts to v0.28.1
([#&#8203;10674](https://redirect.github.com/rolldown/rolldown/issues/10674))
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]

##### ❤️ New Contributors

- [@&#8203;melbinjp](https://redirect.github.com/melbinjp) made their
first contribution in
[#&#8203;10719](https://redirect.github.com/rolldown/rolldown/pull/10719)
- [@&#8203;Freakazo](https://redirect.github.com/Freakazo) made their
first contribution in
[#&#8203;10591](https://redirect.github.com/rolldown/rolldown/pull/10591)
- [@&#8203;marcoroth](https://redirect.github.com/marcoroth) made their
first contribution in
[#&#8203;10655](https://redirect.github.com/rolldown/rolldown/pull/10655)

</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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMy4yIiwidXBkYXRlZEluVmVyIjoiNDQuMzMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-19 20:43:50 +00:00
renovate[bot] f7be7cc5d3 chore(deps): update dependency oxc-parser to ^0.146.0 (#25921)
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.145.0` →
`^0.146.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.145.0/0.146.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/oxc-parser/0.146.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxc-parser/0.146.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxc-parser/0.145.0/0.146.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxc-parser/0.145.0/0.146.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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMy4yIiwidXBkYXRlZEluVmVyIjoiNDQuMzMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-19 10:31:37 +00:00
renovate[bot] 2878ee943b chore(deps): update dependency @oxc-project/types to ^0.146.0 (#25915)
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.145.0` →
`^0.146.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.145.0/0.146.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.146.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.146.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.145.0/0.146.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.145.0/0.146.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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMy4yIiwidXBkYXRlZEluVmVyIjoiNDQuMzMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-19 09:44:51 +00:00
renovate[bot] 82ebb48d68 chore(deps): update oxc to ^0.145.0 (#25878)
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.144.0` →
`^0.145.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.144.0/0.145.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@oxc-project%2ftypes/0.145.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@oxc-project%2ftypes/0.145.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@oxc-project%2ftypes/0.144.0/0.145.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@oxc-project%2ftypes/0.144.0/0.145.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.144.0` →
`^0.145.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.144.0/0.145.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/oxc-parser/0.145.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxc-parser/0.145.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxc-parser/0.144.0/0.145.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxc-parser/0.144.0/0.145.0?slim=true)
|

---

### Release Notes

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

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

##### 🐛 Bug Fixes

-
[`0c68b7f`](https://redirect.github.com/oxc-project/oxc/commit/0c68b7f)
estree: Emit `decorators` on `FormalParameterRest`
([#&#8203;25582](https://redirect.github.com/oxc-project/oxc/issues/25582))
(camc314)

</details>

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

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

##### 🐛 Bug Fixes

-
[`db44651`](https://redirect.github.com/oxc-project/oxc/commit/db44651)
napi: Disable reuseWorker in browser bindings
([#&#8203;25640](https://redirect.github.com/oxc-project/oxc/issues/25640))
(leaysgur)
-
[`0c68b7f`](https://redirect.github.com/oxc-project/oxc/commit/0c68b7f)
estree: Emit `decorators` on `FormalParameterRest`
([#&#8203;25582](https://redirect.github.com/oxc-project/oxc/issues/25582))
(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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMi42IiwidXBkYXRlZEluVmVyIjoiNDQuMzIuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-18 16:11:53 +00:00
renovate[bot] 6f47f6f4ed chore(deps): update dependency oxlint to v1.79.0 (#25873)
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.78.0` →
`1.79.0`](https://renovatebot.com/diffs/npm/oxlint/1.78.0/1.79.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.79.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.79.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.78.0/1.79.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.78.0/1.79.0?slim=true)
|

---

### Release Notes

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

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

##### 💥 BREAKING CHANGES

-
[`8c4552d`](https://redirect.github.com/oxc-project/oxc/commit/8c4552d)
linter: \[**BREAKING**] Split react/react-compiler into per-category
rules
([#&#8203;25500](https://redirect.github.com/oxc-project/oxc/issues/25500))
(Boshen)

##### 🐛 Bug Fixes

-
[`228e8e0`](https://redirect.github.com/oxc-project/oxc/commit/228e8e0)
linter: Resolve inactive React compiler rules
([#&#8203;25830](https://redirect.github.com/oxc-project/oxc/issues/25830))
(Boshen)
-
[`aa49d86`](https://redirect.github.com/oxc-project/oxc/commit/aa49d86)
linter: Allow spread rule options in config types
([#&#8203;25675](https://redirect.github.com/oxc-project/oxc/issues/25675))
(ch3rry)
-
[`36f8451`](https://redirect.github.com/oxc-project/oxc/commit/36f8451)
linter/eslint/no-eval: Align indirect default with ESLint
([#&#8203;25656](https://redirect.github.com/oxc-project/oxc/issues/25656))
(camc314)
-
[`beb724d`](https://redirect.github.com/oxc-project/oxc/commit/beb724d)
linter/eslint/no-unused-vars: Report bare underscore parameters
([#&#8203;25663](https://redirect.github.com/oxc-project/oxc/issues/25663))
(camc314)
-
[`4004c10`](https://redirect.github.com/oxc-project/oxc/commit/4004c10)
linter/eslint/no-irregular-whitespace: Check comments by default
([#&#8203;25660](https://redirect.github.com/oxc-project/oxc/issues/25660))
(camc314)
-
[`285820e`](https://redirect.github.com/oxc-project/oxc/commit/285820e)
linter/no-large-snapshots: Precompile and document allowed snapshot
matchers
([#&#8203;25611](https://redirect.github.com/oxc-project/oxc/issues/25611))
(Mikhail Baev)
-
[`4df5835`](https://redirect.github.com/oxc-project/oxc/commit/4df5835)
linter: Allow capitalized built-in calls
([#&#8203;25516](https://redirect.github.com/oxc-project/oxc/issues/25516))
(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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMi42IiwidXBkYXRlZEluVmVyIjoiNDQuMzIuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-08-18 16:07:58 +00:00
renovate[bot] 93bf42d3ec chore(deps): update dependency oxfmt to ^0.64.0 (#25877)
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.61.0` →
`^0.64.0`](https://renovatebot.com/diffs/npm/oxfmt/0.61.0/0.64.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.64.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxfmt/0.64.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxfmt/0.61.0/0.64.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.61.0/0.64.0?slim=true)
|

---

### Release Notes

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

###
[`v0.64.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxfmt/CHANGELOG.md#0640---2026-08-18)

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

##### 🚀 Features

-
[`c07fe7c`](https://redirect.github.com/oxc-project/oxc/commit/c07fe7c)
oxfmt: Support `experimentalOperatorPosition`
([#&#8203;25643](https://redirect.github.com/oxc-project/oxc/issues/25643))
(leaysgur)

##### 📚 Documentation

-
[`fed6681`](https://redirect.github.com/oxc-project/oxc/commit/fed6681)
oxfmt: Skip expanding overrides options
([#&#8203;25572](https://redirect.github.com/oxc-project/oxc/issues/25572))
(leaysgur)

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

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

###
[`v0.62.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxfmt/CHANGELOG.md#0620---2026-08-03)

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

##### 🐛 Bug Fixes

-
[`e6e584b`](https://redirect.github.com/oxc-project/oxc/commit/e6e584b)
oxfmt: Type jsdoc. enum options
([#&#8203;25008](https://redirect.github.com/oxc-project/oxc/issues/25008))
(leaysgur)

</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 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMi42IiwidXBkYXRlZEluVmVyIjoiNDQuMzIuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-18 15:50:26 +00:00
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