KEMBAR78
feat: merge from upstream `oxc-project/oxc-resolver` - 2nd by JounQin · Pull Request #49 · unrs/unrs-resolver · GitHub
Skip to content

Conversation

@JounQin
Copy link
Member

@JounQin JounQin commented Apr 6, 2025

Summary by CodeRabbit

  • New Features

    • Enhanced module resolution now supports import/export specifiers with query parameters and fragment identifiers.
    • Extended TypeScript configuration options, allowing explicit control over decorator metadata emission.
  • Chores

    • Updated various dependencies, workflows, and toolchain versions to improve reliability and maintainability.
    • Refined linting rules, tooling commands, and documentation formatting for better clarity.
  • Tests

    • Expanded test coverage to validate the new module resolution enhancements, including handling of query parameters and fragment identifiers.

renovate bot and others added 30 commits July 14, 2024 21:46
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
feat: give an specific error for matched alias not found
renovate bot and others added 16 commits March 23, 2025 23:09
This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
|  |  | lockFileMaintenance | All locks refreshed |  |  |  |  |
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs) |
devDependencies | patch | [`3.0.0-alpha.75` ->
`3.0.0-alpha.76`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.75/3.0.0-alpha.76)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.76?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.76?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.75/3.0.0-alpha.76?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.75/3.0.0-alpha.76?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| devDependencies | patch | [`22.13.10` ->
`22.13.11`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.10/22.13.11)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.10/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.10/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
packageManager | patch | [`10.6.3` ->
`10.6.5`](https://renovatebot.com/diffs/npm/pnpm/10.6.3/10.6.5) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/10.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/10.6.3/10.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.6.3/10.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vitest](https://redirect.github.com/vitest-dev/vitest)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest))
| devDependencies | patch | [`3.0.8` ->
`3.0.9`](https://renovatebot.com/diffs/npm/vitest/3.0.8/3.0.9) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/3.0.8/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/3.0.8/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

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

---

### Release Notes

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

###
[`v3.0.0-alpha.76`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.76)

[Compare
Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.75...@napi-rs/cli@3.0.0-alpha.76)

#### What's Changed

- feat(cli): add `wasm.browser.asyncInit` option for large wasm file by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[https://github.com/napi-rs/napi-rs/pull/2514](https://redirect.github.com/napi-rs/napi-rs/pull/2514)

**Full Changelog**:
https://github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.33...[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli)[@&#8203;3](https://redirect.github.com/3).0.0-alpha.76

</details>

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

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

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

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

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

#### Patch Changes

- Fix `pnpm dlx` with `--allow-build` flag
[#&#8203;9263](https://redirect.github.com/pnpm/pnpm/issues/9263).
- Invalid Node.js version in `use-node-version` should not cause pnpm
itself to break
[#&#8203;9276](https://redirect.github.com/pnpm/pnpm/issues/9276).
- The max amount of workers running for linking packages from the store
has been reduced to 4 to achieve optimal results
[#&#8203;9286](https://redirect.github.com/pnpm/pnpm/issues/9286). The
workers are performing many file system operations, so increasing the
number of CPUs doesn't help performance after some point.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://syntax.fm/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/syntaxfm.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/syntaxfm_light.svg" />
<img src="https://pnpm.io/img/users/syntaxfm.svg" width="90"
alt="Syntax" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/discord.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/discord_light.svg" />
<img src="https://pnpm.io/img/users/discord.svg" width="220"
alt="Discord" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg?0" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg?0" />
<img src="https://pnpm.io/img/users/nx.svg" width="70" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/coderabbit.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
<img src="https://pnpm.io/img/users/coderabbit.svg" width="220"
alt="CodeRabbit" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/workleap.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/workleap_light.svg" />
<img src="https://pnpm.io/img/users/workleap.svg" width="190"
alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
  </tbody>
</table>

</details>

<details>
<summary>vitest-dev/vitest (vitest)</summary>

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

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

#####    🐞 Bug Fixes

- Typings of `ctx.skip()` as `never`  -  by
[@&#8203;sirlancelot](https://redirect.github.com/sirlancelot) in
[https://github.com/vitest-dev/vitest/issues/7608](https://redirect.github.com/vitest-dev/vitest/issues/7608)
[<samp>(09f35)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/09f35301)
- Cleanup vitest in public `resolveConfig` API  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[https://github.com/vitest-dev/vitest/issues/7623](https://redirect.github.com/vitest-dev/vitest/issues/7623)
[<samp>(db14a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/db14ab71)
- Fix `toHaveBeenCalledWith(asymmetricMatcher)` with `undefined`
arguments  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[https://github.com/vitest-dev/vitest/issues/7624](https://redirect.github.com/vitest-dev/vitest/issues/7624)
[<samp>(0fb21)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0fb21faa)
- Race condition in RPC filesystem cache.  -  by
[@&#8203;dts](https://redirect.github.com/dts) in
[https://github.com/vitest-dev/vitest/issues/7531](https://redirect.github.com/vitest-dev/vitest/issues/7531)
[<samp>(b7f55)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b7f55261)
- Fix `getState().testPath` during collection with no isolation  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[https://github.com/vitest-dev/vitest/issues/7640](https://redirect.github.com/vitest-dev/vitest/issues/7640)
[<samp>(3fb3f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3fb3fbf8)
- Support custom toString method in %s format  -  by
[@&#8203;pengooseDev](https://redirect.github.com/pengooseDev) in
[https://github.com/vitest-dev/vitest/issues/7637](https://redirect.github.com/vitest-dev/vitest/issues/7637)
[<samp>(46d93)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/46d93a2e)
-   **browser**:
- Fail playwright timeouts earlier than a test timeout  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) and
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[https://github.com/vitest-dev/vitest/issues/7565](https://redirect.github.com/vitest-dev/vitest/issues/7565)
[<samp>(5eb4c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5eb4cd1f)
- Remove
[@&#8203;testing-library/dom](https://redirect.github.com/testing-library/dom)
from dependencies
[#&#8203;7555](https://redirect.github.com/vitest-dev/vitest/issues/7555))"
 -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/7628](https://redirect.github.com/vitest-dev/vitest/issues/7628)
and
[https://github.com/vitest-dev/vitest/issues/7555](https://redirect.github.com/vitest-dev/vitest/issues/7555)
[<samp>(94b27)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/94b27af5)
-   **coverage**:
- Browser mode + `coverage.all`  -  by
[@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/7597](https://redirect.github.com/vitest-dev/vitest/issues/7597)
[<samp>(422ba)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/422ba66b)
-   **runner**:
- Show stacktrace on hook timeout error  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[https://github.com/vitest-dev/vitest/issues/7502](https://redirect.github.com/vitest-dev/vitest/issues/7502)
[<samp>(268a1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/268a19e1)
-   **vite-node**:
- Fix source map of inlined node_modules  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[https://github.com/vitest-dev/vitest/issues/7557](https://redirect.github.com/vitest-dev/vitest/issues/7557)
[<samp>(34aa3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/34aa322b)
- Fix missing `buildStart`  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[https://github.com/vitest-dev/vitest/issues/7652](https://redirect.github.com/vitest-dev/vitest/issues/7652)
[<samp>(29f5a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/29f5a848)
-   **web-worker**:
- Ensure `removeEventListener` is bound to worker  -  by
[@&#8203;joelgallant](https://redirect.github.com/joelgallant) in
[https://github.com/vitest-dev/vitest/issues/7631](https://redirect.github.com/vitest-dev/vitest/issues/7631)
[<samp>(ff42b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ff42bcb3)

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 11am on monday" in timezone
Asia/Shanghai, Automerge - "before 11pm on monday" in timezone
Asia/Shanghai.

🚦 **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-resolver).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| patch | `v1.30.2` -> `v1.30.3` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.30.3`](https://redirect.github.com/crate-ci/typos/compare/v1.30.2...v1.30.3)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.30.2...v1.30.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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-resolver).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| minor | `v1.30.3` -> `v1.31.0` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.31.0`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.31.0)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.30.3...v1.31.0)

##### \[1.31.0] - 2025-03-28

##### Features

- Updated the dictionary with the [March
2025](https://redirect.github.com/crate-ci/typos/issues/1266) changes

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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-resolver).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|  |  | lockFileMaintenance | All locks refreshed |
| [once_cell](https://redirect.github.com/matklad/once_cell) |
dependencies | patch | `1.21.1` -> `1.21.3` |
| [vfs](https://redirect.github.com/manuel-woelker/rust-vfs) |
dev-dependencies | patch | `0.12.0` -> `0.12.1` |

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

---

### Release Notes

<details>
<summary>matklad/once_cell (once_cell)</summary>

###
[`v1.21.3`](https://redirect.github.com/matklad/once_cell/blob/HEAD/CHANGELOG.md#1213)

[Compare
Source](https://redirect.github.com/matklad/once_cell/compare/v1.21.2...v1.21.3)

- Outline more initialization in `race`:
[#&#8203;284](https://redirect.github.com/matklad/once_cell/pull/284),
[#&#8203;285](https://redirect.github.com/matklad/once_cell/pull/285).

###
[`v1.21.2`](https://redirect.github.com/matklad/once_cell/blob/HEAD/CHANGELOG.md#1212)

[Compare
Source](https://redirect.github.com/matklad/once_cell/compare/v1.21.1...v1.21.2)

- Relax success ordering from AcqRel to Release in `race`:
[#&#8203;278](https://redirect.github.com/matklad/once_cell/pull/278).

</details>

<details>
<summary>manuel-woelker/rust-vfs (vfs)</summary>

###
[`v0.12.1`](https://redirect.github.com/manuel-woelker/rust-vfs/compare/v0.12.0...v0.12.1)

[Compare
Source](https://redirect.github.com/manuel-woelker/rust-vfs/compare/v0.12.0...v0.12.1)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

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

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| patch | `v1.31.0` -> `v1.31.1` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.31.1`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.31.1)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.31.0...v1.31.1)

#### \[1.31.1] - 2025-03-31

##### Fixes

-   *(dict)* Also correct `typ` to `type`

</details>

---

### Configuration

📅 **Schedule**: 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-resolver).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
|  |  | lockFileMaintenance | All locks refreshed |  |  |  |  |
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| devDependencies | patch | [`22.13.11` ->
`22.13.14`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.11/22.13.14)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.11/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.11/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [emnapi](https://redirect.github.com/toyobayashi/emnapi) |
devDependencies | minor | [`1.3.1` ->
`1.4.0`](https://renovatebot.com/diffs/npm/emnapi/1.3.1/1.4.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/emnapi/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/emnapi/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/emnapi/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/emnapi/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
packageManager | minor | [`10.6.5` ->
`10.7.0`](https://renovatebot.com/diffs/npm/pnpm/10.6.5/10.7.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/10.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/10.6.5/10.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.6.5/10.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

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

---

### Release Notes

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

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

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

#### What's Changed

- allow napi_delete_reference in basic finalizers
([#&#8203;130](https://redirect.github.com/toyobayashi/emnapi/issues/130))
- define NAPI_VERSION 10
([#&#8203;133](https://redirect.github.com/toyobayashi/emnapi/issues/133))
- perf: reduce the overhead of binding function call (1.5x faster)
([#&#8203;139](https://redirect.github.com/toyobayashi/emnapi/issues/139))

##### Note

If you are using Emscripten >= 3.1.60, please manually specify the link
option `-sEXPORTED_RUNTIME_METHODS=['emnapiInit']`
([#&#8203;131](https://redirect.github.com/toyobayashi/emnapi/issues/131))
([https://github.com/emscripten-core/emscripten/issues/23057](https://redirect.github.com/emscripten-core/emscripten/issues/23057))

**Full Changelog**:
toyobayashi/emnapi@v1.3.1...v1.4.0

</details>

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

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

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

##### Minor Changes

- `pnpm config get` and `list` also show settings set in
`pnpm-workspace.yaml` files
[#&#8203;9316](https://redirect.github.com/pnpm/pnpm/pull/9316).

- It should be possible to use env variables in `pnpm-workspace.yaml`
setting names and value.

- Add an ability to patch dependencies by version ranges. Exact versions
override version ranges, which in turn override name-only patches.
Version range `*` is the same as name-only, except that patch
application failure will not be ignored.

    For example:

    ```yaml
    patchedDependencies:
      foo: patches/foo-1.patch
      foo@^2.0.0: patches/foo-2.patch
      foo@2.1.0: patches/foo-3.patch
    ```

The above configuration would apply `patches/foo-3.patch` to
`foo@2.1.0`, `patches/foo-2.patch` to all `foo` versions which satisfy
`^2.0.0` except `2.1.0`, and `patches/foo-1.patch` to the remaining
`foo` versions.

    > \[!WARNING]
> The version ranges should not overlap. If you want to specialize a sub
range, make sure to exclude it from the other keys. For example:
    >
    > ```yaml
    > # pnpm-workspace.yaml
    > patchedDependencies:
    >   # the specialized sub range
    >   'foo@2.2.0-2.8.0': patches/foo.2.2.0-2.8.0.patch
    >   # the more general patch, excluding the sub range above
    >   'foo@>=2.0.0 <2.2.0 || >2.8.0': 'patches/foo.gte2.patch
    > ```
    >
> In most cases, however, it's sufficient to just define an exact
version to override the range.

- `pnpm config set --location=project` saves the setting to a
`pnpm-workspace.yaml` file if no `.npmrc` file is present in the
directory
[#&#8203;9316](https://redirect.github.com/pnpm/pnpm/pull/9316).

- Rename `pnpm.allowNonAppliedPatches` to `pnpm.allowUnusedPatches`. The
old name is still supported but it would print a deprecation warning
message.

- Add `pnpm.ignorePatchFailures` to manage whether pnpm would ignore
patch application failures.

If `ignorePatchFailures` is not set, pnpm would throw an error when
patches with exact versions or version ranges fail to apply, and it
would ignore failures from name-only patches.

If `ignorePatchFailures` is explicitly set to `false`, pnpm would throw
an error when any type of patch fails to apply.

If `ignorePatchFailures` is explicitly set to `true`, pnpm would print a
warning when any type of patch fails to apply.

##### Patch Changes

- Remove dependency paths from audit output to prevent out-of-memory
errors
[#&#8203;9280](https://redirect.github.com/pnpm/pnpm/issues/9280).

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

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

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Boshen <boshenc@gmail.com>
## 🤖 New release

* `oxc_resolver`: 5.0.1 -> 5.1.0 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[5.1.0](oxc-project/oxc-resolver@oxc_resolver-v5.0.1...oxc_resolver-v5.1.0)
- 2025-04-02

### <!-- 0 -->Features

- resolve emitDecoratorMetadata in tsconfig
([#439](oxc-project/oxc-resolver#439))

### <!-- 3 -->Documentation

- fix an incorrect comment on `Context::missing_dependencies`
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rust](https://redirect.github.com/rust-lang/rust) | minor | `1.85.1`
-> `1.86.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rust)</summary>

###
[`v1.86.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1860-2025-04-03)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.85.1...1.86.0)

\==========================

<a id="1.86.0-Language"></a>

## Language

- [Stabilize upcasting trait objects to
supertraits.](https://redirect.github.com/rust-lang/rust/pull/134367)
- [Allow safe functions to be marked with the `#[target_feature]`
attribute.](https://redirect.github.com/rust-lang/rust/pull/134090)
- [The `missing_abi` lint now
warns-by-default.](https://redirect.github.com/rust-lang/rust/pull/132397)
- Rust now lints about double negations, to catch cases that might have
intended to be a prefix decrement operator (`--x`) as written in other
languages. This was previously a clippy lint, `clippy::double_neg`, and
is [now available directly in Rust as
`double_negations`.](https://redirect.github.com/rust-lang/rust/pull/126604)
- [More pointers are now detected as definitely not-null based on their
alignment in const
eval.](https://redirect.github.com/rust-lang/rust/pull/133700)
- [Empty `repr()` attribute applied to invalid items are now correctly
rejected.](https://redirect.github.com/rust-lang/rust/pull/133925)
- [Inner attributes `#![test]` and `#![rustfmt::skip]` are no longer
accepted in more places than
intended.](https://redirect.github.com/rust-lang/rust/pull/134276)

<a id="1.86.0-Compiler"></a>

## Compiler

- [Debug-assert that raw pointers are non-null on
access.](https://redirect.github.com/rust-lang/rust/pull/134424)
- [Change `-O` to mean `-C opt-level=3` instead of `-C opt-level=2` to
match Cargo's
defaults.](https://redirect.github.com/rust-lang/rust/pull/135439)
- [Fix emission of `overflowing_literals` under certain macro
environments.](https://redirect.github.com/rust-lang/rust/pull/136393)

<a id="1.86.0-Platform-Support"></a>

## Platform Support

- [Replace `i686-unknown-redox` target with
`i586-unknown-redox`.](https://redirect.github.com/rust-lang/rust/pull/136698)
- [Increase baseline CPU of `i686-unknown-hurd-gnu` to Pentium
4.](https://redirect.github.com/rust-lang/rust/pull/136700)
-   New tier 3 targets:
-
[`{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock`](https://redirect.github.com/rust-lang/rust/pull/133631).
        For supporting Neutrino QNX 7.1 with `io-socket` network stack.
-
[`{aarch64-unknown,x86_64-pc}-nto-qnx800`](https://redirect.github.com/rust-lang/rust/pull/133631).
        For supporting Neutrino QNX 8.0 (`no_std`-only).
-
[`{x86_64,i686}-win7-windows-gnu`](https://redirect.github.com/rust-lang/rust/pull/134609).
Intended for backwards compatibility with Windows 7.
`{x86_64,i686}-win7-windows-msvc` are the Windows MSVC counterparts that
already exist as Tier 3 targets.
-
[`amdgcn-amd-amdhsa`](https://redirect.github.com/rust-lang/rust/pull/134740).
-
[`x86_64-pc-cygwin`](https://redirect.github.com/rust-lang/rust/pull/134999).
-
[`{mips,mipsel}-mti-none-elf`](https://redirect.github.com/rust-lang/rust/pull/135074).
        Initial bare-metal support.
-
[`m68k-unknown-none-elf`](https://redirect.github.com/rust-lang/rust/pull/135085).
- [`armv7a-nuttx-{eabi,eabihf}`, `aarch64-unknown-nuttx`, and
`thumbv7a-nuttx-{eabi,eabihf}`](https://redirect.github.com/rust-lang/rust/pull/135757).

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.86.0-Libraries"></a>

## Libraries

- The type of `FromBytesWithNulError` in
`CStr::from_bytes_with_nul(bytes: &[u8]) -> Result<&Self,
FromBytesWithNulError>` was [changed from an opaque struct to an
enum](https://redirect.github.com/rust-lang/rust/pull/134143), allowing
users to examine why the conversion failed.
- [Remove `RustcDecodable` and
`RustcEncodable`.](https://redirect.github.com/rust-lang/rust/pull/134272)
- [Deprecate libtest's `--logfile`
option.](https://redirect.github.com/rust-lang/rust/pull/134283)
- [On recent versions of Windows, `std::fs::remove_file` will now remove
read-only
files.](https://redirect.github.com/rust-lang/rust/pull/134679)

<a id="1.86.0-Stabilized-APIs"></a>

## Stabilized APIs

-
[`{float}::next_down`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_down)
-
[`{float}::next_up`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_up)
-
[`<[_]>::get_disjoint_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_mut)
-
[`<[_]>::get_disjoint_unchecked_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_unchecked_mut)
-
[`slice::GetDisjointMutError`](https://doc.rust-lang.org/stable/std/slice/enum.GetDisjointMutError.html)
-
[`HashMap::get_disjoint_mut`](https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_mut)
-
[`HashMap::get_disjoint_unchecked_mut`](https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_unchecked_mut)
-
[`NonZero::count_ones`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.count_ones)
-
[`Vec::pop_if`](https://doc.rust-lang.org/std/vec/struct.Vec.html#method.pop_if)
-
[`sync::Once::wait`](https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait)
-
[`sync::Once::wait_force`](https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait_force)
-
[`sync::OnceLock::wait`](https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.wait)

These APIs are now stable in const contexts:

-
[`hint::black_box`](https://doc.rust-lang.org/stable/std/hint/fn.black_box.html)
-
[`io::Cursor::get_mut`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_mut)
-
[`io::Cursor::set_position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.set_position)
-
[`str::is_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.is_char_boundary)
-
[`str::split_at`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at)
-
[`str::split_at_checked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_checked)
-
[`str::split_at_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut)
-
[`str::split_at_mut_checked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut_checked)

<a id="1.86.0-Cargo"></a>

## Cargo

- [When merging, replace rather than combine configuration keys that
refer to a program path and its
arguments.](https://redirect.github.com/rust-lang/cargo/pull/15066/)
- [Error if both `--package` and `--workspace` are passed but the
requested package is
missing.](https://redirect.github.com/rust-lang/cargo/pull/15071/) This
was previously silently ignored, which was considered a bug since
missing packages should be reported.
- [Deprecate the token argument in `cargo login` to avoid shell history
leaks.](https://redirect.github.com/rust-lang/cargo/pull/15057/)
- [Simplify the implementation of `SourceID`
comparisons.](https://redirect.github.com/rust-lang/cargo/pull/14980/)
This may potentially change behavior if the canonicalized URL compares
differently in alternative registries.

<a id="1.86.0-Rustdoc"></a>

## Rustdoc

- [Add a sans-serif font
setting.](https://redirect.github.com/rust-lang/rust/pull/133636)

<a id="1.86.0-Compatibility-Notes"></a>

## Compatibility Notes

- [The `wasm_c_abi` future compatibility warning is now a hard
error.](https://redirect.github.com/rust-lang/rust/pull/133951)
Users of `wasm-bindgen` should upgrade to at least version 0.2.89,
otherwise compilation will fail.
- [Remove long-deprecated no-op attributes `#![no_start]` and
`#![crate_id]`.](https://redirect.github.com/rust-lang/rust/pull/134300)
- [The future incompatibility lint `cenum_impl_drop_cast` has been made
into a hard
error.](https://redirect.github.com/rust-lang/rust/pull/135964) This
means it is now an error to cast a field-less enum to an integer if the
enum implements `Drop`.
- [SSE2 is now required for "i686" 32-bit x86 hard-float targets;
disabling it causes a warning that will become a hard error
eventually.](https://redirect.github.com/rust-lang/rust/pull/137037)
    To compile for pre-SSE2 32-bit x86, use a "i586" target instead.

<a id="1.86.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they
represent
significant improvements to the performance or internals of rustc and
related
tools.

- [Build the rustc on AArch64 Linux with ThinLTO +
PGO.](https://redirect.github.com/rust-lang/rust/pull/133807)
The ARM 64-bit compiler (AArch64) on Linux is now optimized with ThinLTO
and PGO, similar to the optimizations we have already performed for the
x86-64 compiler on Linux. This should make it up to 30% faster.

</details>

---

### Configuration

📅 **Schedule**: 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-resolver).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Boshen <boshenc@gmail.com>
…` field (#443)

package.json `exports` and `imports` field con contain queries or
fragments:

`"exports": { ".": { "default": "./foo.js?query#fragment" }`

closes #417
## 🤖 New release

* `oxc_resolver`: 5.1.0 -> 5.1.1 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[5.1.1](oxc-project/oxc-resolver@oxc_resolver-v5.1.0...oxc_resolver-v5.1.1)
- 2025-04-04

### <!-- 1 -->Bug Fixes

- handle query and fragment in pacakge.json `exports` and `imports`
field ([#443](oxc-project/oxc-resolver#443))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
@JounQin JounQin requested a review from Copilot April 6, 2025 18:41
@coderabbitai
Copy link

coderabbitai bot commented Apr 6, 2025

Walkthrough

This pull request updates several configuration and workflow files. It bumps action versions and adds empty permissions blocks in many GitHub workflows, reintroduces a lint job in the CI, and adjusts event trigger specifications. The changes also include modifications to linting rules in Cargo.toml, updates to the Rust toolchain, minor formatting in the README, and copyright statement updates in the LICENSE. In addition, the resolver now parses module specifiers with query parameters and fragments, with corresponding new tests and extra methods added to TypeScript compiler options.

Changes

File(s) Change Summary
.github/actions/pnpm/action.yml Updated action version tags: pnpm/action-setup from v4 to v4.1.0; actions/setup-node from v4 to v4.3.0.
.github/workflows/autofix.yml, benchmark.yml, ci.yml, codecov.yml, deny.yml, release-napi.yml, release-plz.yml, zizmor.yml Added empty permissions blocks; updated various action versions (e.g., checkout, cache, codecov, install, upload/download artifact); reintroduced the lint job in ci.yml; modified push triggers; and added a token input in release-plz.yml.
Cargo.toml Removed commentary for lint rules and added a new rule missing_const_for_fn = "allow".
LICENSE Updated copyright dates for UnRS and Boshen; added a new copyright line for VoidZero Inc.
README.md Removed a trailing backslash from a note section.
fixtures/enhanced_resolve/test/fixtures/imports-field/package.json Added new import mappings for #query and #fragment while retaining existing mappings.
justfile Updated the init target to install new tools (watchexec-cli, dprint) and removed some previous tools.
rust-toolchain.toml Updated toolchain channel from "1.85.0" to "1.86.0".
src/context.rs Revised documentation comments for file_dependencies and missing_dependencies for clarity.
src/lib.rs Enhanced the package_target_resolve method to parse and handle query and fragment parts from module specifiers.
src/tests/exports_field.rs, src/tests/imports_field.rs Introduced new test cases for validating query and fragment resolution in module imports and exports.
src/tsconfig.rs, src/tsconfig_serde.rs Added new methods (emit_decorator_metadata getter/setter) to the CompilerOptions trait and introduced new fields (emit_decorator_metadata, use_define_for_class_fields, rewrite_relative_import_extensions) in the tsconfig serialization.

Sequence Diagram(s)

sequenceDiagram
    participant C as Client
    participant R as Resolver
    participant S as Specifier::parse
    participant CTX as Context

    C->>R: Request module resolution (with query/fragment)
    R->>S: Parse target string
    S-->>R: Return parsed {path, query, fragment}
    R->>CTX: Pass query/fragment via with_query_fragment()
    CTX-->>R: Updated context with query/fragment info
    R-->>C: Return resolved module path
Loading

Poem

Oh, I'm a little rabbit, hopping in delight,
Smoothing out our workflows with every version update in sight.
New tests and parsing tricks make my whiskers twitch with glee,
As lint rules and token inputs set our code running free.
With a hop and a skip, our project springs anew,
CodeRabbit cheers these changes – and so do you! 🐇
Happy coding in every byte and line!

✨ Finishing Touches
  • 📝 Generate Docstrings

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 21 out of 24 changed files in this pull request and generated 1 comment.

Files not reviewed (3)
  • LICENSE: Language not supported
  • fixtures/enhanced_resolve/test/fixtures/imports-field/package.json: Language not supported
  • justfile: Language not supported

@codecov
Copy link

codecov bot commented Apr 6, 2025

Codecov Report

Attention: Patch coverage is 28.57143% with 10 lines in your changes missing coverage. Please review.

Project coverage is 92.75%. Comparing base (2dd876b) to head (bc0ccf0).
Report is 270 commits behind head on main.

Files with missing lines Patch % Lines
src/tsconfig_serde.rs 0.00% 6 Missing ⚠️
src/tsconfig.rs 0.00% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #49      +/-   ##
==========================================
- Coverage   93.38%   92.75%   -0.64%     
==========================================
  Files          13       13              
  Lines        2827     2842      +15     
==========================================
- Hits         2640     2636       -4     
- Misses        187      206      +19     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq
Copy link

codspeed-hq bot commented Apr 6, 2025

CodSpeed Performance Report

Merging #49 will not alter performance

Comparing chore/merge_upstream (bc0ccf0) with main (2dd876b)

Summary

✅ 3 untouched benchmarks

@JounQin JounQin force-pushed the chore/merge_upstream branch from 99457bd to bc0ccf0 Compare April 6, 2025 18:46
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 1

🧹 Nitpick comments (1)
src/tsconfig.rs (1)

276-277: Add test coverage for new compiler options methods.

Both emit_decorator_metadata getter and setter methods are not covered by tests.

Consider adding tests for these new methods similar to how other compiler options are tested, to ensure they work correctly when inherited by implementing structs.

🧰 Tools
🪛 GitHub Check: codecov/patch

[warning] 277-277: src/tsconfig.rs#L277
Added line #L277 was not covered by tests

🛑 Comments failed to post (1)
src/tsconfig_serde.rs (1)

179-185: 💡 Verification agent

❓ Verification inconclusive

Implementation of decorator metadata accessors.

The accessors for emit_decorator_metadata are implemented correctly, following the same pattern as other compiler options.

However, there are no tests covering these new methods yet, as flagged by the code coverage tool. Consider adding tests to ensure the new functionality works as expected.


🏁 Script executed:

#!/bin/bash
# Check if there are any tests covering the new TypeScript compiler options

grep -r "emit_decorator_metadata\|use_define_for_class_fields\|rewrite_relative_import_extensions" --include="*.rs" tests/

Length of output: 124


Decorator Metadata Accessors: Implementation Valid but Missing Tests

  • The new accessor methods in src/tsconfig_serde.rs (lines 179-185) are implemented correctly and follow the established pattern.
  • However, verification using a grep search did not find any tests that cover emit_decorator_metadata. This lack of tests was also flagged by the code coverage tool.
  • Action: Please add tests (e.g., in your Rust test suite) to validate both the getter and setter for emit_decorator_metadata to ensure this functionality is exercised and protected against regressions.
🧰 Tools
🪛 GitHub Check: codecov/patch

[warning] 179-181: src/tsconfig_serde.rs#L179-L181
Added lines #L179 - L181 were not covered by tests


[warning] 183-185: src/tsconfig_serde.rs#L183-L185
Added lines #L183 - L185 were not covered by tests

@sonarqubecloud
Copy link

sonarqubecloud bot commented Apr 6, 2025

@JounQin JounQin changed the title feat: merge from upstream oxc-project/oxc-resolver feat: merge from upstream oxc-project/oxc-resolver - 2nd Apr 6, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 99457bd and bc0ccf0.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (17)
  • .github/actions/pnpm/action.yml (1 hunks)
  • .github/workflows/autofix.yml (3 hunks)
  • .github/workflows/benchmark.yml (3 hunks)
  • .github/workflows/ci.yml (4 hunks)
  • .github/workflows/codecov.yml (4 hunks)
  • .github/workflows/deny.yml (1 hunks)
  • .github/workflows/release-napi.yml (8 hunks)
  • .github/workflows/release-plz.yml (2 hunks)
  • .github/workflows/zizmor.yml (4 hunks)
  • Cargo.toml (1 hunks)
  • LICENSE (1 hunks)
  • README.md (1 hunks)
  • justfile (1 hunks)
  • napi/tests/resolver.test.mjs (1 hunks)
  • src/lib.rs (1 hunks)
  • src/tests/exports_field.rs (1 hunks)
  • src/tsconfig.rs (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (15)
  • .github/workflows/release-plz.yml
  • .github/workflows/autofix.yml
  • .github/workflows/benchmark.yml
  • README.md
  • .github/workflows/zizmor.yml
  • .github/workflows/codecov.yml
  • Cargo.toml
  • justfile
  • LICENSE
  • .github/workflows/deny.yml
  • .github/actions/pnpm/action.yml
  • src/lib.rs
  • src/tests/exports_field.rs
  • .github/workflows/ci.yml
  • .github/workflows/release-napi.yml
🧰 Additional context used
🧬 Code Definitions (1)
src/tsconfig.rs (1)
src/tsconfig_serde.rs (2)
  • emit_decorator_metadata (179-181)
  • set_emit_decorator_metadata (183-185)
🪛 GitHub Check: codecov/patch
src/tsconfig.rs

[warning] 272-274: src/tsconfig.rs#L272-L274
Added lines #L272 - L274 were not covered by tests


[warning] 277-277: src/tsconfig.rs#L277
Added line #L277 was not covered by tests

🔇 Additional comments (2)
napi/tests/resolver.test.mjs (1)

247-247: Correctly updated React package versions in PNPM path references

The update from React/React DOM 19.0.0 to 19.1.0 in the PNPM test paths ensures the test fixtures stay in sync with the upgraded dependencies. This is a good maintenance practice to keep tests working properly with the latest package versions.

Also applies to: 254-255, 262-262

src/tsconfig.rs (1)

271-274: Implementation looks good, but missing test coverage.

The implementation of emit_decorator_metadata follows the established pattern in the codebase for compiler options. This method properly provides access to the TypeScript emitDecoratorMetadata compiler option with a default implementation that returns None.

However, the static analysis tool indicates this code isn't covered by tests. Consider adding test coverage to verify the behavior of this method.

🧰 Tools
🪛 GitHub Check: codecov/patch

[warning] 272-274: src/tsconfig.rs#L272-L274
Added lines #L272 - L274 were not covered by tests

@JounQin JounQin merged commit bc0ccf0 into main Apr 6, 2025
21 checks passed
@JounQin JounQin deleted the chore/merge_upstream branch April 6, 2025 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.