From a7e02223d683cde0196feed74946e3834e4a2256 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 26 Oct 2025 16:41:14 +0000
Subject: [PATCH 01/53] chore(deps): update github-actions (#782)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | minor | `v4.2.1` -> `v4.3.1` |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | minor | `v4.30.9` -> `v4.31.0` |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.62.33` -> `v2.62.38` |
---
### Release Notes
CodSpeedHQ/action (CodSpeedHQ/action)
###
[`v4.3.1`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.3.1)
[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.2.1...v4.3.1)
#### Release Notes
##### 🚀 Features
- Enable read-inline-info to support inlined frames by
[@not-matthias](https://redirect.github.com/not-matthias) in
[#139](https://redirect.github.com/CodSpeedHQ/runner/pull/139)
- Allow shorthand for selecting the mode by
[@art049](https://redirect.github.com/art049)
- Improve results display when running locally by
[@art049](https://redirect.github.com/art049)
- Bump to valgrind-codspeed 3.25.1-3codspeed2 by
[@art049](https://redirect.github.com/art049) in
[#137](https://redirect.github.com/CodSpeedHQ/runner/pull/137)
- Allow wider range of valgrind codspeed version usage by
[@art049](https://redirect.github.com/art049)
- Automatically open the auth URL by
[@art049](https://redirect.github.com/art049) in
[#133](https://redirect.github.com/CodSpeedHQ/runner/pull/133)
- Proper interactive sudo support by
[@art049](https://redirect.github.com/art049)
- Dump debug info of loaded modules by
[@not-matthias](https://redirect.github.com/not-matthias) in
[#128](https://redirect.github.com/CodSpeedHQ/runner/pull/128)
##### 🐛 Bug Fixes
- Dont immediately add load\_bias to symbol offset by
[@not-matthias](https://redirect.github.com/not-matthias)
- Sudo behavior when root or not available
([#141](https://redirect.github.com/CodSpeedHQ/action/issues/141))
by [@art049](https://redirect.github.com/art049) in
[#141](https://redirect.github.com/CodSpeedHQ/runner/pull/141)
#### Install codspeed-runner 4.3.1
##### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.3.1/codspeed-runner-installer.sh | sh
```
#### Download codspeed-runner 4.3.1
| File | Platform | Checksum |
|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ---------------- |
----------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.3.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.3.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.3.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.3.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|
**Full Runner Changelog**:
**Full Changelog**:
github/codeql-action (github/codeql-action)
###
[`v4.31.0`](https://redirect.github.com/github/codeql-action/compare/v4.30.9...v4.31.0)
[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.30.9...v4.31.0)
taiki-e/install-action (taiki-e/install-action)
###
[`v2.62.38`](https://redirect.github.com/taiki-e/install-action/blob/HEAD/CHANGELOG.md#100---2021-12-30)
[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.62.37...v2.62.38)
Initial release
[Unreleased]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.38...HEAD
[2.62.38]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.37...v2.62.38
[2.62.37]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.36...v2.62.37
[2.62.36]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.35...v2.62.36
[2.62.35]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.34...v2.62.35
[2.62.34]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.33...v2.62.34
[2.62.33]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.32...v2.62.33
[2.62.32]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.31...v2.62.32
[2.62.31]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.30...v2.62.31
[2.62.30]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.29...v2.62.30
[2.62.29]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.28...v2.62.29
[2.62.28]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.27...v2.62.28
[2.62.27]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.26...v2.62.27
[2.62.26]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.25...v2.62.26
[2.62.25]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.24...v2.62.25
[2.62.24]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.23...v2.62.24
[2.62.23]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.22...v2.62.23
[2.62.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.21...v2.62.22
[2.62.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.20...v2.62.21
[2.62.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.19...v2.62.20
[2.62.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.18...v2.62.19
[2.62.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.17...v2.62.18
[2.62.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.16...v2.62.17
[2.62.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.15...v2.62.16
[2.62.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.14...v2.62.15
[2.62.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.13...v2.62.14
[2.62.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.12...v2.62.13
[2.62.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.11...v2.62.12
[2.62.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.10...v2.62.11
[2.62.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.9...v2.62.10
[2.62.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.8...v2.62.9
[2.62.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.7...v2.62.8
[2.62.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.6...v2.62.7
[2.62.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.5...v2.62.6
[2.62.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.4...v2.62.5
[2.62.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.3...v2.62.4
[2.62.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.2...v2.62.3
[2.62.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.1...v2.62.2
[2.62.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.62.0...v2.62.1
[2.62.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.13...v2.62.0
[2.61.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.12...v2.61.13
[2.61.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.11...v2.61.12
[2.61.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.10...v2.61.11
[2.61.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.9...v2.61.10
[2.61.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.8...v2.61.9
[2.61.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.7...v2.61.8
[2.61.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.6...v2.61.7
[2.61.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.5...v2.61.6
[2.61.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.4...v2.61.5
[2.61.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.3...v2.61.4
[2.61.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.2...v2.61.3
[2.61.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.1...v2.61.2
[2.61.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.61.0...v2.61.1
[2.61.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.60.0...v2.61.0
[2.60.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.59.1...v2.60.0
[2.59.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.59.0...v2.59.1
[2.59.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.33...v2.59.0
[2.58.33]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.32...v2.58.33
[2.58.32]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.31...v2.58.32
[2.58.31]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.30...v2.58.31
[2.58.30]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.29...v2.58.30
[2.58.29]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.28...v2.58.29
[2.58.28]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.27...v2.58.28
[2.58.27]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.26...v2.58.27
[2.58.26]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.25...v2.58.26
[2.58.25]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.24...v2.58.25
[2.58.24]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.23...v2.58.24
[2.58.23]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.22...v2.58.23
[2.58.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.21...v2.58.22
[2.58.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.20...v2.58.21
[2.58.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.19...v2.58.20
[2.58.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.18...v2.58.19
[2.58.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.17...v2.58.18
[2.58.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.16...v2.58.17
[2.58.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.15...v2.58.16
[2.58.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.14...v2.58.15
[2.58.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.13...v2.58.14
[2.58.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.12...v2.58.13
[2.58.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.11...v2.58.12
[2.58.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.10...v2.58.11
[2.58.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.9...v2.58.10
[2.58.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.8...v2.58.9
[2.58.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.7...v2.58.8
[2.58.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.6...v2.58.7
[2.58.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.5...v2.58.6
[2.58.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.4...v2.58.5
[2.58.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.3...v2.58.4
[2.58.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.2...v2.58.3
[2.58.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.1...v2.58.2
[2.58.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.58.0...v2.58.1
[2.58.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.8...v2.58.0
[2.57.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.7...v2.57.8
[2.57.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.6...v2.57.7
[2.57.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.5...v2.57.6
[2.57.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.4...v2.57.5
[2.57.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.3...v2.57.4
[2.57.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.2...v2.57.3
[2.57.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.1...v2.57.2
[2.57.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.57.0...v2.57.1
[2.57.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.24...v2.57.0
[2.56.24]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.23...v2.56.24
[2.56.23]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.22...v2.56.23
[2.56.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.21...v2.56.22
[2.56.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.20...v2.56.21
[2.56.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.19...v2.56.20
[2.56.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.18...v2.56.19
[2.56.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.17...v2.56.18
[2.56.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.16...v2.56.17
[2.56.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.15...v2.56.16
[2.56.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.14...v2.56.15
[2.56.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.13...v2.56.14
[2.56.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.12...v2.56.13
[2.56.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.11...v2.56.12
[2.56.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.10...v2.56.11
[2.56.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.9...v2.56.10
[2.56.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.8...v2.56.9
[2.56.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.7...v2.56.8
[2.56.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.6...v2.56.7
[2.56.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.5...v2.56.6
[2.56.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.4...v2.56.5
[2.56.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.3...v2.56.4
[2.56.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.2...v2.56.3
[2.56.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.1...v2.56.2
[2.56.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.56.0...v2.56.1
[2.56.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.55.4...v2.56.0
[2.55.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.55.3...v2.55.4
[2.55.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.55.2...v2.55.3
[2.55.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.55.1...v2.55.2
[2.55.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.55.0...v2.55.1
[2.55.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.54.3...v2.55.0
[2.54.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.54.2...v2.54.3
[2.54.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.54.1...v2.54.2
[2.54.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.54.0...v2.54.1
[2.54.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.53.2...v2.54.0
[2.53.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.53.1...v2.53.2
[2.53.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.53.0...v2.53.1
[2.53.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.8...v2.53.0
[2.52.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.7...v2.52.8
[2.52.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.6...v2.52.7
[2.52.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.5...v2.52.6
[2.52.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.4...v2.52.5
[2.52.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.3...v2.52.4
[2.52.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.2...v2.52.3
[2.52.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.1...v2.52.2
[2.52.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.52.0...v2.52.1
[2.52.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.51.3...v2.52.0
[2.51.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.51.2...v2.51.3
[2.51.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.51.1...v2.51.2
[2.51.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.51.0...v2.51.1
[2.51.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.10...v2.51.0
[2.50.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.9...v2.50.10
[2.50.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.8...v2.50.9
[2.50.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.7...v2.50.8
[2.50.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.6...v2.50.7
[2.50.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.5...v2.50.6
[2.50.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.4...v2.50.5
[2.50.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.3...v2.50.4
[2.50.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.2...v2.50.3
[2.50.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.1...v2.50.2
[2.50.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.50.0...v2.50.1
[2.50.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.50...v2.50.0
[2.49.50]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.49...v2.49.50
[2.49.49]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.48...v2.49.49
[2.49.48]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.47...v2.49.48
[2.49.47]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.46...v2.49.47
[2.49.46]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.45...v2.49.46
[2.49.45]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.44...v2.49.45
[2.49.44]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.43...v2.49.44
[2.49.43]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.42...v2.49.43
[2.49.42]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.41...v2.49.42
[2.49.41]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.40...v2.49.41
[2.49.40]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.39...v2.49.40
[2.49.39]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.38...v2.49.39
[2.49.38]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.37...v2.49.38
[2.49.37]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.36...v2.49.37
[2.49.36]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.35...v2.49.36
[2.49.35]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.34...v2.49.35
[2.49.34]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.33...v2.49.34
[2.49.33]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.32...v2.49.33
[2.49.32]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.31...v2.49.32
[2.49.31]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.30...v2.49.31
[2.49.30]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.29...v2.49.30
[2.49.29]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.28...v2.49.29
[2.49.28]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.27...v2.49.28
[2.49.27]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.26...v2.49.27
[2.49.26]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.25...v2.49.26
[2.49.25]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.24...v2.49.25
[2.49.24]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.23...v2.49.24
[2.49.23]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.22...v2.49.23
[2.49.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.21...v2.49.22
[2.49.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.20...v2.49.21
[2.49.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.19...v2.49.20
[2.49.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.18...v2.49.19
[2.49.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.17...v2.49.18
[2.49.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.16...v2.49.17
[2.49.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.15...v2.49.16
[2.49.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.14...v2.49.15
[2.49.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.13...v2.49.14
[2.49.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.12...v2.49.13
[2.49.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.11...v2.49.12
[2.49.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.10...v2.49.11
[2.49.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.9...v2.49.10
[2.49.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.8...v2.49.9
[2.49.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.7...v2.49.8
[2.49.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.6...v2.49.7
[2.49.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.5...v2.49.6
[2.49.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.4...v2.49.5
[2.49.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.3...v2.49.4
[2.49.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.2...v2.49.3
[2.49.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.1...v2.49.2
[2.49.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.49.0...v2.49.1
[2.49.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.22...v2.49.0
[2.48.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.21...v2.48.22
[2.48.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.20...v2.48.21
[2.48.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.19...v2.48.20
[2.48.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.18...v2.48.19
[2.48.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.17...v2.48.18
[2.48.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.16...v2.48.17
[2.48.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.15...v2.48.16
[2.48.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.14...v2.48.15
[2.48.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.13...v2.48.14
[2.48.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.12...v2.48.13
[2.48.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.11...v2.48.12
[2.48.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.10...v2.48.11
[2.48.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.9...v2.48.10
[2.48.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.8...v2.48.9
[2.48.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.7...v2.48.8
[2.48.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.6...v2.48.7
[2.48.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.5...v2.48.6
[2.48.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.4...v2.48.5
[2.48.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.3...v2.48.4
[2.48.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.2...v2.48.3
[2.48.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.1...v2.48.2
[2.48.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.48.0...v2.48.1
[2.48.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.32...v2.48.0
[2.47.32]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.31...v2.47.32
[2.47.31]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.30...v2.47.31
[2.47.30]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.29...v2.47.30
[2.47.29]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.28...v2.47.29
[2.47.28]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.27...v2.47.28
[2.47.27]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.26...v2.47.27
[2.47.26]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.25...v2.47.26
[2.47.25]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.24...v2.47.25
[2.47.24]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.23...v2.47.24
[2.47.23]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.22...v2.47.23
[2.47.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.21...v2.47.22
[2.47.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.20...v2.47.21
[2.47.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.19...v2.47.20
[2.47.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.18...v2.47.19
[2.47.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.17...v2.47.18
[2.47.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.16...v2.47.17
[2.47.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.15...v2.47.16
[2.47.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.14...v2.47.15
[2.47.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.13...v2.47.14
[2.47.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.12...v2.47.13
[2.47.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.11...v2.47.12
[2.47.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.10...v2.47.11
[2.47.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.9...v2.47.10
[2.47.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.8...v2.47.9
[2.47.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.7...v2.47.8
[2.47.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.6...v2.47.7
[2.47.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.5...v2.47.6
[2.47.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.4...v2.47.5
[2.47.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.3...v2.47.4
[2.47.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.2...v2.47.3
[2.47.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.1...v2.47.2
[2.47.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.47.0...v2.47.1
[2.47.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.20...v2.47.0
[2.46.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.19...v2.46.20
[2.46.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.18...v2.46.19
[2.46.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.17...v2.46.18
[2.46.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.16...v2.46.17
[2.46.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.15...v2.46.16
[2.46.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.14...v2.46.15
[2.46.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.13...v2.46.14
[2.46.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.12...v2.46.13
[2.46.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.11...v2.46.12
[2.46.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.10...v2.46.11
[2.46.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.9...v2.46.10
[2.46.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.8...v2.46.9
[2.46.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.7...v2.46.8
[2.46.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.6...v2.46.7
[2.46.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.5...v2.46.6
[2.46.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.4...v2.46.5
[2.46.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.3...v2.46.4
[2.46.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.2...v2.46.3
[2.46.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.1...v2.46.2
[2.46.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.46.0...v2.46.1
[2.46.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.15...v2.46.0
[2.45.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.14...v2.45.15
[2.45.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.13...v2.45.14
[2.45.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.12...v2.45.13
[2.45.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.11...v2.45.12
[2.45.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.10...v2.45.11
[2.45.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.9...v2.45.10
[2.45.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.8...v2.45.9
[2.45.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.7...v2.45.8
[2.45.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.6...v2.45.7
[2.45.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.5...v2.45.6
[2.45.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.4...v2.45.5
[2.45.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.3...v2.45.4
[2.45.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.2...v2.45.3
[2.45.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.1...v2.45.2
[2.45.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.45.0...v2.45.1
[2.45.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.72...v2.45.0
[2.44.72]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.71...v2.44.72
[2.44.71]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.70...v2.44.71
[2.44.70]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.69...v2.44.70
[2.44.69]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.68...v2.44.69
[2.44.68]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.67...v2.44.68
[2.44.67]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.66...v2.44.67
[2.44.66]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.65...v2.44.66
[2.44.65]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.64...v2.44.65
[2.44.64]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.63...v2.44.64
[2.44.63]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.62...v2.44.63
[2.44.62]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.61...v2.44.62
[2.44.61]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.60...v2.44.61
[2.44.60]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.59...v2.44.60
[2.44.59]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.58...v2.44.59
[2.44.58]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.57...v2.44.58
[2.44.57]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.56...v2.44.57
[2.44.56]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.55...v2.44.56
[2.44.55]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.54...v2.44.55
[2.44.54]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.53...v2.44.54
[2.44.53]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.52...v2.44.53
[2.44.52]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.51...v2.44.52
[2.44.51]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.50...v2.44.51
[2.44.50]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.49...v2.44.50
[2.44.49]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.48...v2.44.49
[2.44.48]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.47...v2.44.48
[2.44.47]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.46...v2.44.47
[2.44.46]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.45...v2.44.46
[2.44.45]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.44...v2.44.45
[2.44.44]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.43...v2.44.44
[2.44.43]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.42...v2.44.43
[2.44.42]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.41...v2.44.42
[2.44.41]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.40...v2.44.41
[2.44.40]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.39...v2.44.40
[2.44.39]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.38...v2.44.39
[2.44.38]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.37...v2.44.38
[2.44.37]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.36...v2.44.37
[2.44.36]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.35...v2.44.36
[2.44.35]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.34...v2.44.35
[2.44.34]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.33...v2.44.34
[2.44.33]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.32...v2.44.33
[2.44.32]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.31...v2.44.32
[2.44.31]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.30...v2.44.31
[2.44.30]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.29...v2.44.30
[2.44.29]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.28...v2.44.29
[2.44.28]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.27...v2.44.28
[2.44.27]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.26...v2.44.27
[2.44.26]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.25...v2.44.26
[2.44.25]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.24...v2.44.25
[2.44.24]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.23...v2.44.24
[2.44.23]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.22...v2.44.23
[2.44.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.21...v2.44.22
[2.44.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.20...v2.44.21
[2.44.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.19...v2.44.20
[2.44.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.18...v2.44.19
[2.44.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.17...v2.44.18
[2.44.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.16...v2.44.17
[2.44.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.15...v2.44.16
[2.44.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.14...v2.44.15
[2.44.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.13...v2.44.14
[2.44.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.12...v2.44.13
[2.44.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.11...v2.44.12
[2.44.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.10...v2.44.11
[2.44.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.9...v2.44.10
[2.44.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.8...v2.44.9
[2.44.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.7...v2.44.8
[2.44.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.6...v2.44.7
[2.44.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.5...v2.44.6
[2.44.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.4...v2.44.5
[2.44.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.3...v2.44.4
[2.44.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.2...v2.44.3
[2.44.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.1...v2.44.2
[2.44.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.44.0...v2.44.1
[2.44.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.43.7...v2.44.0
[2.43.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.43.6...v2.43.7
[2.43.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.43.5...v2.43.6
[2.43.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.43.4...v2.43.5
[2.43.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.43.3...v2.43.4
[2.43.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.43.2...v2.43.3
[2.43.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.43.1...v2.43.2
[2.43.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.43.0...v2.43.1
[2.43.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.42...v2.43.0
[2.42.42]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.41...v2.42.42
[2.42.41]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.40...v2.42.41
[2.42.40]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.39...v2.42.40
[2.42.39]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.38...v2.42.39
[2.42.38]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.37...v2.42.38
[2.42.37]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.36...v2.42.37
[2.42.36]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.35...v2.42.36
[2.42.35]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.34...v2.42.35
[2.42.34]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.33...v2.42.34
[2.42.33]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.32...v2.42.33
[2.42.32]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.31...v2.42.32
[2.42.31]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.30...v2.42.31
[2.42.30]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.29...v2.42.30
[2.42.29]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.28...v2.42.29
[2.42.28]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.27...v2.42.28
[2.42.27]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.26...v2.42.27
[2.42.26]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.25...v2.42.26
[2.42.25]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.24...v2.42.25
[2.42.24]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.23...v2.42.24
[2.42.23]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.22...v2.42.23
[2.42.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.21...v2.42.22
[2.42.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.20...v2.42.21
[2.42.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.19...v2.42.20
[2.42.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.18...v2.42.19
[2.42.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.17...v2.42.18
[2.42.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.16...v2.42.17
[2.42.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.15...v2.42.16
[2.42.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.14...v2.42.15
[2.42.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.13...v2.42.14
[2.42.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.12...v2.42.13
[2.42.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.11...v2.42.12
[2.42.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.10...v2.42.11
[2.42.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.9...v2.42.10
[2.42.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.8...v2.42.9
[2.42.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.7...v2.42.8
[2.42.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.6...v2.42.7
[2.42.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.5...v2.42.6
[2.42.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.4...v2.42.5
[2.42.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.3...v2.42.4
[2.42.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.2...v2.42.3
[2.42.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.1...v2.42.2
[2.42.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.42.0...v2.42.1
[2.42.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.18...v2.42.0
[2.41.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.17...v2.41.18
[2.41.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.16...v2.41.17
[2.41.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.15...v2.41.16
[2.41.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.14...v2.41.15
[2.41.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.13...v2.41.14
[2.41.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.12...v2.41.13
[2.41.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.11...v2.41.12
[2.41.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.10...v2.41.11
[2.41.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.9...v2.41.10
[2.41.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.8...v2.41.9
[2.41.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.7...v2.41.8
[2.41.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.6...v2.41.7
[2.41.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.5...v2.41.6
[2.41.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.4...v2.41.5
[2.41.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.3...v2.41.4
[2.41.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.2...v2.41.3
[2.41.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.1...v2.41.2
[2.41.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.41.0...v2.41.1
[2.41.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.40.2...v2.41.0
[2.40.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.40.1...v2.40.2
[2.40.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.40.0...v2.40.1
[2.40.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.39.2...v2.40.0
[2.39.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.39.1...v2.39.2
[2.39.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.39.0...v2.39.1
[2.39.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.38.7...v2.39.0
[2.38.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.38.6...v2.38.7
[2.38.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.38.5...v2.38.6
[2.38.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.38.4...v2.38.5
[2.38.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.38.3...v2.38.4
[2.38.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.38.2...v2.38.3
[2.38.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.38.1...v2.38.2
[2.38.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.38.0...v2.38.1
[2.38.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.37.0...v2.38.0
[2.37.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.36.0...v2.37.0
[2.36.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.35.0...v2.36.0
[2.35.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.34.3...v2.35.0
[2.34.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.34.2...v2.34.3
[2.34.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.34.1...v2.34.2
[2.34.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.34.0...v2.34.1
[2.34.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.36...v2.34.0
[2.33.36]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.35...v2.33.36
[2.33.35]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.34...v2.33.35
[2.33.34]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.33...v2.33.34
[2.33.33]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.32...v2.33.33
[2.33.32]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.31...v2.33.32
[2.33.31]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.30...v2.33.31
[2.33.30]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.29...v2.33.30
[2.33.29]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.28...v2.33.29
[2.33.28]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.27...v2.33.28
[2.33.27]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.26...v2.33.27
[2.33.26]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.25...v2.33.26
[2.33.25]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.24...v2.33.25
[2.33.24]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.23...v2.33.24
[2.33.23]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.22...v2.33.23
[2.33.22]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.21...v2.33.22
[2.33.21]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.20...v2.33.21
[2.33.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.19...v2.33.20
[2.33.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.18...v2.33.19
[2.33.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.17...v2.33.18
[2.33.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.16...v2.33.17
[2.33.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.15...v2.33.16
[2.33.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.14...v2.33.15
[2.33.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.13...v2.33.14
[2.33.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.12...v2.33.13
[2.33.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.11...v2.33.12
[2.33.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.10...v2.33.11
[2.33.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.9...v2.33.10
[2.33.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.8...v2.33.9
[2.33.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.7...v2.33.8
[2.33.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.6...v2.33.7
[2.33.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.5...v2.33.6
[2.33.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.4...v2.33.5
[2.33.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.3...v2.33.4
[2.33.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.2...v2.33.3
[2.33.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.1...v2.33.2
[2.33.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.33.0...v2.33.1
[2.33.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.20...v2.33.0
[2.32.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.19...v2.32.20
[2.32.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.18...v2.32.19
[2.32.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.17...v2.32.18
[2.32.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.16...v2.32.17
[2.32.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.15...v2.32.16
[2.32.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.14...v2.32.15
[2.32.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.13...v2.32.14
[2.32.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.12...v2.32.13
[2.32.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.11...v2.32.12
[2.32.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.10...v2.32.11
[2.32.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.9...v2.32.10
[2.32.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.8...v2.32.9
[2.32.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.7...v2.32.8
[2.32.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.6...v2.32.7
[2.32.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.5...v2.32.6
[2.32.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.4...v2.32.5
[2.32.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.3...v2.32.4
[2.32.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.2...v2.32.3
[2.32.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.1...v2.32.2
[2.32.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.32.0...v2.32.1
[2.32.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.31.3...v2.32.0
[2.31.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.31.2...v2.31.3
[2.31.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.31.1...v2.31.2
[2.31.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.31.0...v2.31.1
[2.31.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.30.0...v2.31.0
[2.30.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.8...v2.30.0
[2.29.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.7...v2.29.8
[2.29.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.6...v2.29.7
[2.29.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.5...v2.29.6
[2.29.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.4...v2.29.5
[2.29.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.3...v2.29.4
[2.29.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.2...v2.29.3
[2.29.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.1...v2.29.2
[2.29.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.29.0...v2.29.1
[2.29.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.16...v2.29.0
[2.28.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.15...v2.28.16
[2.28.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.14...v2.28.15
[2.28.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.13...v2.28.14
[2.28.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.12...v2.28.13
[2.28.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.11...v2.28.12
[2.28.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.10...v2.28.11
[2.28.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.9...v2.28.10
[2.28.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.8...v2.28.9
[2.28.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.7...v2.28.8
[2.28.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.6...v2.28.7
[2.28.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.5...v2.28.6
[2.28.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.4...v2.28.5
[2.28.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.3...v2.28.4
[2.28.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.2...v2.28.3
[2.28.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.1...v2.28.2
[2.28.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.28.0...v2.28.1
[2.28.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.15...v2.28.0
[2.27.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.14...v2.27.15
[2.27.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.13...v2.27.14
[2.27.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.12...v2.27.13
[2.27.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.11...v2.27.12
[2.27.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.10...v2.27.11
[2.27.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.9...v2.27.10
[2.27.9]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.8...v2.27.9
[2.27.8]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.7...v2.27.8
[2.27.7]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.6...v2.27.7
[2.27.6]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.5...v2.27.6
[2.27.5]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.4...v2.27.5
[2.27.4]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.3...v2.27.4
[2.27.3]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.2...v2.27.3
[2.27.2]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.1...v2.27.2
[2.27.1]:
https://redirect.github.com/taiki-e/install-action/compare/v2.27.0...v2.27.1
[2.27.0]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.20...v2.27.0
[2.26.20]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.19...v2.26.20
[2.26.19]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.18...v2.26.19
[2.26.18]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.17...v2.26.18
[2.26.17]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.16...v2.26.17
[2.26.16]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.15...v2.26.16
[2.26.15]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.14...v2.26.15
[2.26.14]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.13...v2.26.14
[2.26.13]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.12...v2.26.13
[2.26.12]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.11...v2.26.12
[2.26.11]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.10...v2.26.11
[2.26.10]:
https://redirect.github.com/taiki-e/install-action/compare/v2.26.9...v2.26.10
[2.26.9]: https://redirect.github.com/taiki-e/insta
---
### Configuration
📅 **Schedule**: Branch creation - "before 9am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] 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).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/benchmark.yml | 2 +-
.github/workflows/zizmor.yml | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
index 5b2af94f..b3a83bbb 100644
--- a/.github/workflows/benchmark.yml
+++ b/.github/workflows/benchmark.yml
@@ -35,7 +35,7 @@ jobs:
env:
RUSTFLAGS: "-C debuginfo=1 -C strip=none"
- - uses: CodSpeedHQ/action@c6574d0c2a990bca2842ce9af71549c5bfd7fbe0 # v4.2.1
+ - uses: CodSpeedHQ/action@4348f634fa7309fe23aac9502e88b999ec90a164 # v4.3.1
timeout-minutes: 30
with:
run: cargo codspeed run
diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml
index c4710a88..723a19ac 100644
--- a/.github/workflows/zizmor.yml
+++ b/.github/workflows/zizmor.yml
@@ -29,7 +29,7 @@ jobs:
steps:
- uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1
- - uses: taiki-e/install-action@e43a5023a747770bfcb71ae048541a681714b951 # v2.62.33
+ - uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2.62.38
with:
tool: zizmor
@@ -39,7 +39,7 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@16140ae1a102900babc80a33c44059580f687047 # v4.30.9
+ uses: github/codeql-action/upload-sarif@4e94bd11f71e507f7f87df81788dff88d1dacbfb # v4.31.0
with:
sarif_file: results.sarif
category: zizmor
From d4d07e21dfc0eb5ba8453e0075b7bc35913c2d84 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 26 Oct 2025 16:41:43 +0000
Subject: [PATCH 02/53] chore(deps): update dependency vitest to v4 (#783)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vitest](https://vitest.dev)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest))
| [`^3.2.4` ->
`^4.0.0`](https://renovatebot.com/diffs/npm/vitest/3.2.4/4.0.3) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
vitest-dev/vitest (vitest)
###
[`v4.0.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.3)
[Compare
Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3)
##### 🐞 Bug Fixes
- Preserve reporter options from config when CLI reporters override them
- by [@Copilot](https://redirect.github.com/Copilot) and
**sheremet-va** in
[#8794](https://redirect.github.com/vitest-dev/vitest/issues/8794)
[(15552)](https://redirect.github.com/vitest-dev/vitest/commit/155521a85)
- **browser**: More stable in-source testing validation - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8793](https://redirect.github.com/vitest-dev/vitest/issues/8793)
[(62297)](https://redirect.github.com/vitest-dev/vitest/commit/622977e61)
- **happy-dom**: Support fetch globals - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8791](https://redirect.github.com/vitest-dev/vitest/issues/8791)
[(0fb74)](https://redirect.github.com/vitest-dev/vitest/commit/0fb74bd3b)
- **init**: Use correct jsx/tsx extension - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8792](https://redirect.github.com/vitest-dev/vitest/issues/8792)
[(abc04)](https://redirect.github.com/vitest-dev/vitest/commit/abc046f95)
##### [View changes on
GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3)
###
[`v4.0.2`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.2)
[Compare
Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2)
##### 🐞 Bug Fixes
- **browser**:
- Don't print the deprecation notice in node\_modules - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8779](https://redirect.github.com/vitest-dev/vitest/issues/8779)
[(588f7)](https://redirect.github.com/vitest-dev/vitest/commit/588f76858)
- **pool**:
- Assign envs before running tests to keep in sync with process.env -
by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8769](https://redirect.github.com/vitest-dev/vitest/issues/8769)
[(26ce8)](https://redirect.github.com/vitest-dev/vitest/commit/26ce88db6)
- **spy**:
- Properly inherit implementation's `length` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8778](https://redirect.github.com/vitest-dev/vitest/issues/8778)
[(d4c2b)](https://redirect.github.com/vitest-dev/vitest/commit/d4c2b280b)
- Reset spies if both `restoreMocks` and `mockReset` is set in the
config - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8781](https://redirect.github.com/vitest-dev/vitest/issues/8781)
[(2eedb)](https://redirect.github.com/vitest-dev/vitest/commit/2eedbce76)
##### [View changes on
GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2)
###
[`v4.0.1`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.1)
[Compare
Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.0...v4.0.1)
##### 🐞 Bug Fixes
- Move the `getBuiltins` check - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8765](https://redirect.github.com/vitest-dev/vitest/issues/8765)
[(81000)](https://redirect.github.com/vitest-dev/vitest/commit/81000631d)
- **pool**: Don't teardown the communication channel too soon if
something is running after the test - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8767](https://redirect.github.com/vitest-dev/vitest/issues/8767)
[(3fae7)](https://redirect.github.com/vitest-dev/vitest/commit/3fae73e2e)
##### [View changes on
GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.0...v4.0.1)
###
[`v4.0.0`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.0)
[Compare
Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.2.4...v4.0.0)
##### 🚨 Breaking Changes
- Remove `'basic'` reporter - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#7884](https://redirect.github.com/vitest-dev/vitest/issues/7884)
[(82fcf)](https://redirect.github.com/vitest-dev/vitest/commit/82fcf5d53)
- Simplify default exclude pattern - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#6287](https://redirect.github.com/vitest-dev/vitest/issues/6287)
[(14c50)](https://redirect.github.com/vitest-dev/vitest/commit/14c507200)
- Remove deprecated getSourceMap - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8194](https://redirect.github.com/vitest-dev/vitest/issues/8194)
[(ff934)](https://redirect.github.com/vitest-dev/vitest/commit/ff93444f8)
- Replace deprecated ErrorWithDiff with TestError - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8195](https://redirect.github.com/vitest-dev/vitest/issues/8195)
[(da59e)](https://redirect.github.com/vitest-dev/vitest/commit/da59eb887)
- Remove UserConfig type in favor of ViteUserConfig - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8196](https://redirect.github.com/vitest-dev/vitest/issues/8196)
[(22f7f)](https://redirect.github.com/vitest-dev/vitest/commit/22f7f2db5)
- Remove deprecated coverage options in favor of `vitest/node` exports
- by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8197](https://redirect.github.com/vitest-dev/vitest/issues/8197)
[(dc848)](https://redirect.github.com/vitest-dev/vitest/commit/dc8486d22)
- Remove deprecated internal helpers and environment exports - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8198](https://redirect.github.com/vitest-dev/vitest/issues/8198)
[(4703c)](https://redirect.github.com/vitest-dev/vitest/commit/4703cf850)
- Remove deprecated typecheck and runner types - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8199](https://redirect.github.com/vitest-dev/vitest/issues/8199)
[(89a1c)](https://redirect.github.com/vitest-dev/vitest/commit/89a1cb626)
- Remove Node types from the main entry point, use `vitest/node` instead
- by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8200](https://redirect.github.com/vitest-dev/vitest/issues/8200)
[(1e60c)](https://redirect.github.com/vitest-dev/vitest/commit/1e60c4f44)
- Remove support for Vite 5 - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8202](https://redirect.github.com/vitest-dev/vitest/issues/8202)
[(cb8b0)](https://redirect.github.com/vitest-dev/vitest/commit/cb8b03bac)
- Remove deprecated types - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8203](https://redirect.github.com/vitest-dev/vitest/issues/8203)
[(66bee)](https://redirect.github.com/vitest-dev/vitest/commit/66bee836f)
- Remove deprecated environmentMatchGlobs and poolMatchGlobs - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8205](https://redirect.github.com/vitest-dev/vitest/issues/8205)
[(be11d)](https://redirect.github.com/vitest-dev/vitest/commit/be11d374c)
- Remove deprecated `workspace` option in favor of `projects` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8218](https://redirect.github.com/vitest-dev/vitest/issues/8218)
[(76fb7)](https://redirect.github.com/vitest-dev/vitest/commit/76fb75d42)
- Ignore `--standalone` when CLI filename filter is used - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8262](https://redirect.github.com/vitest-dev/vitest/issues/8262)
[(013bf)](https://redirect.github.com/vitest-dev/vitest/commit/013bf2cb2)
- Use module-runner instead of vite-node - by
[@sheremet-va](https://redirect.github.com/sheremet-va) and
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8208](https://redirect.github.com/vitest-dev/vitest/issues/8208)
[(9be01)](https://redirect.github.com/vitest-dev/vitest/commit/9be01ba59)
- Rewrite spying implementation to make module mocking more intuitive
- by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8363](https://redirect.github.com/vitest-dev/vitest/issues/8363)
[(9e412)](https://redirect.github.com/vitest-dev/vitest/commit/9e412de35)
- Remove deprecated APIs - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8428](https://redirect.github.com/vitest-dev/vitest/issues/8428)
[(a1cb9)](https://redirect.github.com/vitest-dev/vitest/commit/a1cb9719a)
- Remove `minWorkers` and set it automatically to 0 in non watch mode
- by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8454](https://redirect.github.com/vitest-dev/vitest/issues/8454)
[(2c2d1)](https://redirect.github.com/vitest-dev/vitest/commit/2c2d1d4ce)
- Verbose reporter prints tests in a list, introduce `tree` reporter -
by [@sheremet-va](https://redirect.github.com/sheremet-va) and
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8500](https://redirect.github.com/vitest-dev/vitest/issues/8500)
[(25fd3)](https://redirect.github.com/vitest-dev/vitest/commit/25fd32bf0)
- Include shadow root contents in pretty-format output - by
[@wkillerud](https://redirect.github.com/wkillerud) in
[#8545](https://redirect.github.com/vitest-dev/vitest/issues/8545)
[(9e722)](https://redirect.github.com/vitest-dev/vitest/commit/9e722834a)
- Remove deprecated order from test() API - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8594](https://redirect.github.com/vitest-dev/vitest/issues/8594)
[(4d419)](https://redirect.github.com/vitest-dev/vitest/commit/4d41928c6)
- Rewrite pools without `tinypool` - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) and
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8705](https://redirect.github.com/vitest-dev/vitest/issues/8705)
[(4822d)](https://redirect.github.com/vitest-dev/vitest/commit/4822d047a)
- **browser**: Require a provider factory instead of a string - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8445](https://redirect.github.com/vitest-dev/vitest/issues/8445)
[(606cb)](https://redirect.github.com/vitest-dev/vitest/commit/606cb9e3e)
- **expect**: Pass current equality testers to asymmetric matcher - by
[@hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#6825](https://redirect.github.com/vitest-dev/vitest/issues/6825)
[(965ce)](https://redirect.github.com/vitest-dev/vitest/commit/965cefc19)
- **projects**: Allow only files that have "vitest.config" or
"vite.config" in the name - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8542](https://redirect.github.com/vitest-dev/vitest/issues/8542)
[(304bc)](https://redirect.github.com/vitest-dev/vitest/commit/304bc20f0)
- **reporter**: Remove deprecated APIs - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) and
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8223](https://redirect.github.com/vitest-dev/vitest/issues/8223)
[(149f8)](https://redirect.github.com/vitest-dev/vitest/commit/149f8e509)
- **runner**: Set mode to `todo` if no function is passed down to `test`
or `describe` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8346](https://redirect.github.com/vitest-dev/vitest/issues/8346)
[(1a81c)](https://redirect.github.com/vitest-dev/vitest/commit/1a81c21d2)
- **snapshot**: Fail test with obsolete snapshot on CI - by
[@hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#7963](https://redirect.github.com/vitest-dev/vitest/issues/7963)
[(4d84f)](https://redirect.github.com/vitest-dev/vitest/commit/4d84f0ac6)
- **spy**: Support spying on classes - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#6160](https://redirect.github.com/vitest-dev/vitest/issues/6160)
[(abc0d)](https://redirect.github.com/vitest-dev/vitest/commit/abc0d8273)
##### 🚀 Features
- Provide entity to onConsoleLog - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8159](https://redirect.github.com/vitest-dev/vitest/issues/8159)
[(437d4)](https://redirect.github.com/vitest-dev/vitest/commit/437d461aa)
- Add `onUnhandledError` callback - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8162](https://redirect.github.com/vitest-dev/vitest/issues/8162)
[(924cb)](https://redirect.github.com/vitest-dev/vitest/commit/924cb6961)
- Add spy option to vi.mockObject - by
[@rChaoz](https://redirect.github.com/rChaoz) in
[#8285](https://redirect.github.com/vitest-dev/vitest/issues/8285)
[(81d76)](https://redirect.github.com/vitest-dev/vitest/commit/81d7601e4)
- Don't use vite-node in coverage packages - by
[@sheremet-va](https://redirect.github.com/sheremet-va)
[(ffdb4)](https://redirect.github.com/vitest-dev/vitest/commit/ffdb4d5fd)
- Clickable dashboard numbers - by
[@shairez](https://redirect.github.com/shairez) in
[#7406](https://redirect.github.com/vitest-dev/vitest/issues/7406)
[(2344c)](https://redirect.github.com/vitest-dev/vitest/commit/2344c1f6e)
- Display test "path" when filtering - by
[@userquin](https://redirect.github.com/userquin) in
[#8547](https://redirect.github.com/vitest-dev/vitest/issues/8547)
[(2e491)](https://redirect.github.com/vitest-dev/vitest/commit/2e4918954)
- Introduce separate packages for browser mode providers - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8629](https://redirect.github.com/vitest-dev/vitest/issues/8629)
[(0dc93)](https://redirect.github.com/vitest-dev/vitest/commit/0dc93ea98)
- Add hooks with type-safe extra context to TestAPI - by
[@ysfaran](https://redirect.github.com/ysfaran) in
[#8623](https://redirect.github.com/vitest-dev/vitest/issues/8623)
[(6b21c)](https://redirect.github.com/vitest-dev/vitest/commit/6b21cfe55)
- Support `expect.assert` for type narrowing - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8695](https://redirect.github.com/vitest-dev/vitest/issues/8695)
[(fe589)](https://redirect.github.com/vitest-dev/vitest/commit/fe5895d2b)
- Add `displayAnnotations` option to `github-options` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8706](https://redirect.github.com/vitest-dev/vitest/issues/8706)
[(4a66d)](https://redirect.github.com/vitest-dev/vitest/commit/4a66df625)
- Add schema validation matchers - by
[@zirkelc](https://redirect.github.com/zirkelc) in
[#8527](https://redirect.github.com/vitest-dev/vitest/issues/8527)
[(c0b25)](https://redirect.github.com/vitest-dev/vitest/commit/c0b250e5c)
- Add a way to dump transformed content - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8711](https://redirect.github.com/vitest-dev/vitest/issues/8711)
[(931c0)](https://redirect.github.com/vitest-dev/vitest/commit/931c0ee63)
- **api**:
- Expose `experimental_parseSpecifications` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8408](https://redirect.github.com/vitest-dev/vitest/issues/8408)
[(fdeb2)](https://redirect.github.com/vitest-dev/vitest/commit/fdeb2f482)
- Expose Vitest watcher - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8413](https://redirect.github.com/vitest-dev/vitest/issues/8413)
[(aaa6e)](https://redirect.github.com/vitest-dev/vitest/commit/aaa6e6512)
- Add `enableCoverage` and `disableCoverage` methods - by
[@sheremet-va](https://redirect.github.com/sheremet-va) and
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8412](https://redirect.github.com/vitest-dev/vitest/issues/8412)
[(61eb7)](https://redirect.github.com/vitest-dev/vitest/commit/61eb7dd9c)
- Add `getGlobalTestNamePattern` method - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8438](https://redirect.github.com/vitest-dev/vitest/issues/8438)
[(bdb70)](https://redirect.github.com/vitest-dev/vitest/commit/bdb7067f1)
- Add `relativeModuleId` to `TestModule` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8505](https://redirect.github.com/vitest-dev/vitest/issues/8505)
[(3be09)](https://redirect.github.com/vitest-dev/vitest/commit/3be0986aa)
- Add `getSeed` method - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8592](https://redirect.github.com/vitest-dev/vitest/issues/8592)
[(438c4)](https://redirect.github.com/vitest-dev/vitest/commit/438c44e7f)
- **browser**:
- Support `toBeInViewport` utility method to assert element is in
viewport or not - by
[@Shinyaigeek](https://redirect.github.com/Shinyaigeek) in
[#8234](https://redirect.github.com/vitest-dev/vitest/issues/8234)
[(ceed5)](https://redirect.github.com/vitest-dev/vitest/commit/ceed5b622)
- Add qwik to the `vitest init` cli command - by
[@thejackshelton](https://redirect.github.com/thejackshelton) in
[#8330](https://redirect.github.com/vitest-dev/vitest/issues/8330)
[(1638b)](https://redirect.github.com/vitest-dev/vitest/commit/1638b44e8)
- Introduce `toMatchScreenshot` for Visual Regression Testing - by
[@macarie](https://redirect.github.com/macarie) in
[#8041](https://redirect.github.com/vitest-dev/vitest/issues/8041)
[(d45f9)](https://redirect.github.com/vitest-dev/vitest/commit/d45f964c1)
- Add `trackUnhandledErrors` option - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8386](https://redirect.github.com/vitest-dev/vitest/issues/8386)
[(c0ec0)](https://redirect.github.com/vitest-dev/vitest/commit/c0ec08a90)
- Support iframe locator with playwright provider - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8016](https://redirect.github.com/vitest-dev/vitest/issues/8016)
[(57b2c)](https://redirect.github.com/vitest-dev/vitest/commit/57b2cca2e)
- Add `length` property to locators, `toHaveLength` now accepts locators
- by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8512](https://redirect.github.com/vitest-dev/vitest/issues/8512)
[(2308c)](https://redirect.github.com/vitest-dev/vitest/commit/2308cbf13)
- Support playwright tracing - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8584](https://redirect.github.com/vitest-dev/vitest/issues/8584)
[(1aac5)](https://redirect.github.com/vitest-dev/vitest/commit/1aac59cd2)
- Expose `options` on `BrowserProviderOption` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8609](https://redirect.github.com/vitest-dev/vitest/issues/8609)
[(0d0e5)](https://redirect.github.com/vitest-dev/vitest/commit/0d0e5cdf6)
- Support `--inspect` option in webdriverio - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8613](https://redirect.github.com/vitest-dev/vitest/issues/8613)
[(38adc)](https://redirect.github.com/vitest-dev/vitest/commit/38adc86cf)
- Support custom screenshot comparison algorithms - by
[@macarie](https://redirect.github.com/macarie) in
[#8687](https://redirect.github.com/vitest-dev/vitest/issues/8687)
[(e63b1)](https://redirect.github.com/vitest-dev/vitest/commit/e63b17efc)
- **coverage**:
- `autoUpdate` to support percentage formatting - by
[@Battjmo](https://redirect.github.com/Battjmo) and
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8456](https://redirect.github.com/vitest-dev/vitest/issues/8456)
[(99e01)](https://redirect.github.com/vitest-dev/vitest/commit/99e016bec)
- **expect**:
- Support `toBeNullable` expect function to check provided value is
nullish - by
[@Shinyaigeek](https://redirect.github.com/Shinyaigeek) and
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8294](https://redirect.github.com/vitest-dev/vitest/issues/8294)
[(eeec5)](https://redirect.github.com/vitest-dev/vitest/commit/eeec501de)
- **mocker**:
- Add `automocker` entry - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8301](https://redirect.github.com/vitest-dev/vitest/issues/8301)
[(e9c92)](https://redirect.github.com/vitest-dev/vitest/commit/e9c928252)
##### 🐞 Bug Fixes
- Allow overriding globals in types - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8215](https://redirect.github.com/vitest-dev/vitest/issues/8215)
[(2248b)](https://redirect.github.com/vitest-dev/vitest/commit/2248b06d4)
- Remove unused dependencies - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8184](https://redirect.github.com/vitest-dev/vitest/issues/8184)
[(feadc)](https://redirect.github.com/vitest-dev/vitest/commit/feadc60af)
- Distribute test files to shards more evenly - by
[@Shinyaigeek](https://redirect.github.com/Shinyaigeek) and
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8288](https://redirect.github.com/vitest-dev/vitest/issues/8288)
[(7b489)](https://redirect.github.com/vitest-dev/vitest/commit/7b489959a)
- Use suite's timeout when `test.extend` - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8278](https://redirect.github.com/vitest-dev/vitest/issues/8278)
[(43977)](https://redirect.github.com/vitest-dev/vitest/commit/43977c2b8)
- Support snapshot with no object key sorting - by
[@hi-ogawa](https://redirect.github.com/hi-ogawa) and
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8136](https://redirect.github.com/vitest-dev/vitest/issues/8136)
[(e85e3)](https://redirect.github.com/vitest-dev/vitest/commit/e85e396f0)
- Annotation location always points to the test file - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8315](https://redirect.github.com/vitest-dev/vitest/issues/8315)
[(88071)](https://redirect.github.com/vitest-dev/vitest/commit/88071a8f2)
- Add `--changed` flag support to `vitest list` command - by
[@haakonjackfloat](https://redirect.github.com/haakonjackfloat)
in
[#8270](https://redirect.github.com/vitest-dev/vitest/issues/8270)
and
[#8272](https://redirect.github.com/vitest-dev/vitest/issues/8272)
[(e71a5)](https://redirect.github.com/vitest-dev/vitest/commit/e71a5d0ec)
- Prevent rpc timeout on slow thread blocking synchronous methods - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) and
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8297](https://redirect.github.com/vitest-dev/vitest/issues/8297)
[(bea87)](https://redirect.github.com/vitest-dev/vitest/commit/bea874610)
- Forbid setting environment to `browser` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8334](https://redirect.github.com/vitest-dev/vitest/issues/8334)
[(0417a)](https://redirect.github.com/vitest-dev/vitest/commit/0417a2c1a)
- Invalidate modules in all module graphs when the file is changed -
by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8352](https://redirect.github.com/vitest-dev/vitest/issues/8352)
[(94ab3)](https://redirect.github.com/vitest-dev/vitest/commit/94ab392b3)
- Screenshot masks with Playwright provider - by
[@macarie](https://redirect.github.com/macarie) in
[#8357](https://redirect.github.com/vitest-dev/vitest/issues/8357)
[(459ef)](https://redirect.github.com/vitest-dev/vitest/commit/459efba6b)
- Configure `oxc` instead of `esbuild` on `rolldown-vite` - by
[@hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#8378](https://redirect.github.com/vitest-dev/vitest/issues/8378)
[(e922e)](https://redirect.github.com/vitest-dev/vitest/commit/e922e9266)
- Make sure test errors always have `stacks` property in Node.js context
- by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8392](https://redirect.github.com/vitest-dev/vitest/issues/8392)
[(b825e)](https://redirect.github.com/vitest-dev/vitest/commit/b825ef87c)
- Support `import.meta.resolve` on Vite 7 - by
[@hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#8493](https://redirect.github.com/vitest-dev/vitest/issues/8493)
[(549d3)](https://redirect.github.com/vitest-dev/vitest/commit/549d321e2)
- Show the assertion error first when `expect.poll` assertion fails -
by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8483](https://redirect.github.com/vitest-dev/vitest/issues/8483)
[(fb450)](https://redirect.github.com/vitest-dev/vitest/commit/fb4500bec)
- Override fake timers when `useFakeTimers` is called multiple times -
by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8504](https://redirect.github.com/vitest-dev/vitest/issues/8504)
[(ed7e3)](https://redirect.github.com/vitest-dev/vitest/commit/ed7e3ad5d)
- Custom expect messages for `expect.extend` matchers - by
[@lzl0304](https://redirect.github.com/lzl0304) in
[#8520](https://redirect.github.com/vitest-dev/vitest/issues/8520)
[(96945)](https://redirect.github.com/vitest-dev/vitest/commit/969456b4a)
- Process sourcemaps for stack traces from `globalSetup` files - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8534](https://redirect.github.com/vitest-dev/vitest/issues/8534)
[(8978a)](https://redirect.github.com/vitest-dev/vitest/commit/8978a23b7)
- Resolve performance issue when throwing errors with stackTraceLimit =
0 - by [@Copilot](https://redirect.github.com/Copilot),
**sheremet-va** and
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8531](https://redirect.github.com/vitest-dev/vitest/issues/8531)
[(6d5b5)](https://redirect.github.com/vitest-dev/vitest/commit/6d5b5b1a5)
- Avoid recursively applying `$` and `%` formatting to `test.for/each`
title - by [@hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#8557](https://redirect.github.com/vitest-dev/vitest/issues/8557)
[(ea6d7)](https://redirect.github.com/vitest-dev/vitest/commit/ea6d7322e)
- Replace wildcard exports `"./*"` with specific files in vitest package
- by [@hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#8560](https://redirect.github.com/vitest-dev/vitest/issues/8560)
[(ce746)](https://redirect.github.com/vitest-dev/vitest/commit/ce7466408)
- Don't publish unused d.ts files - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8562](https://redirect.github.com/vitest-dev/vitest/issues/8562)
[(42dfd)](https://redirect.github.com/vitest-dev/vitest/commit/42dfd1c43)
- Remove loupe dependencies from `optimizeDeps.include` for browser mode
- by [@jake-danton](https://redirect.github.com/jake-danton) in
[#8570](https://redirect.github.com/vitest-dev/vitest/issues/8570)
[(cdcf7)](https://redirect.github.com/vitest-dev/vitest/commit/cdcf7e854)
- Update `engines` field to drop Node 18 support - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8608](https://redirect.github.com/vitest-dev/vitest/issues/8608)
[(9a0bf)](https://redirect.github.com/vitest-dev/vitest/commit/9a0bf2254)
- Correctly inherit test options on extended tests - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8618](https://redirect.github.com/vitest-dev/vitest/issues/8618)
[(15c09)](https://redirect.github.com/vitest-dev/vitest/commit/15c091a99)
- Update [@types/node](https://redirect.github.com/types/node)
peer deps - by
[@sheremet-va](https://redirect.github.com/sheremet-va)
[(ee6b2)](https://redirect.github.com/vitest-dev/vitest/commit/ee6b27b5f)
- Re-export CDP Session directly from playwright - by
[@mrginglymus](https://redirect.github.com/mrginglymus) in
[#8702](https://redirect.github.com/vitest-dev/vitest/issues/8702)
[(9553a)](https://redirect.github.com/vitest-dev/vitest/commit/9553ab923)
- Disable trackUnhandledErrors if inspector is enabled - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8732](https://redirect.github.com/vitest-dev/vitest/issues/8732)
[(acac7)](https://redirect.github.com/vitest-dev/vitest/commit/acac7104d)
- `base` option doesn't crash vitest - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8760](https://redirect.github.com/vitest-dev/vitest/issues/8760)
[(9f0ec)](https://redirect.github.com/vitest-dev/vitest/commit/9f0ecccb8)
- **browser**:
- Run in-source tests only when the file itsels is a test file - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8204](https://redirect.github.com/vitest-dev/vitest/issues/8204)
[(bdd2e)](https://redirect.github.com/vitest-dev/vitest/commit/bdd2e01c3)
- `locator.element()` returns `HTMLElement` or `SVGElement` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8440](https://redirect.github.com/vitest-dev/vitest/issues/8440)
[(c1ac1)](https://redirect.github.com/vitest-dev/vitest/commit/c1ac15c6b)
- Don't import from `vite` directly - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8541](https://redirect.github.com/vitest-dev/vitest/issues/8541)
[(d7fca)](https://redirect.github.com/vitest-dev/vitest/commit/d7fca0389)
- Update expect.element type to match the implementation - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8597](https://redirect.github.com/vitest-dev/vitest/issues/8597)
[(b2804)](https://redirect.github.com/vitest-dev/vitest/commit/b2804a1f9)
- Throw an error if iframe is not accessible anymore - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8601](https://redirect.github.com/vitest-dev/vitest/issues/8601)
[(6acdc)](https://redirect.github.com/vitest-dev/vitest/commit/6acdc3a5e)
- Stop creating unnecessary directories when taking screenshots - by
[@macarie](https://redirect.github.com/macarie) in
[#8605](https://redirect.github.com/vitest-dev/vitest/issues/8605)
[(b1c8f)](https://redirect.github.com/vitest-dev/vitest/commit/b1c8fdbe9)
- Always define commands - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8626](https://redirect.github.com/vitest-dev/vitest/issues/8626)
[(acbe0)](https://redirect.github.com/vitest-dev/vitest/commit/acbe0e973)
- Exclude deprecated context import from optimization - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8658](https://redirect.github.com/vitest-dev/vitest/issues/8658)
[(a96ea)](https://redirect.github.com/vitest-dev/vitest/commit/a96ea140e)
- Allow importing BrowserCommand if no browser package is installed -
by [@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8666](https://redirect.github.com/vitest-dev/vitest/issues/8666)
[(95c36)](https://redirect.github.com/vitest-dev/vitest/commit/95c367f5e)
- Define an export for browser/utils - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8678](https://redirect.github.com/vitest-dev/vitest/issues/8678)
[(529ab)](https://redirect.github.com/vitest-dev/vitest/commit/529ab46ac)
- Allow service workers to mock the network in chromium without breaking
vi.mock - by
[@Georgegriff](https://redirect.github.com/Georgegriff) and
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8668](https://redirect.github.com/vitest-dev/vitest/issues/8668)
[(87108)](https://redirect.github.com/vitest-dev/vitest/commit/87108db33)
- Support sync `not.toBeInTheDocument()` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8751](https://redirect.github.com/vitest-dev/vitest/issues/8751)
[(f5d06)](https://redirect.github.com/vitest-dev/vitest/commit/f5d06434f)
- **core**:
- Fix `objectContaining` expect utility to have more compatibility to
jest's one - by
[@Shinyaigeek](https://redirect.github.com/Shinyaigeek) in
[#8241](https://redirect.github.com/vitest-dev/vitest/issues/8241)
[(480be)](https://redirect.github.com/vitest-dev/vitest/commit/480be1a78)
- **coverage**:
- Include files based on `--project` filter - by
[@gtbuchanan](https://redirect.github.com/gtbuchanan) in
[#7885](https://redirect.github.com/vitest-dev/vitest/issues/7885)
[(761be)](https://redirect.github.com/vitest-dev/vitest/commit/761beeeea)
- Prevent encoding filenames of uncovered files - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8239](https://redirect.github.com/vitest-dev/vitest/issues/8239)
[(8a998)](https://redirect.github.com/vitest-dev/vitest/commit/8a9988043)
- Handle query param based transforms correctly - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8418](https://redirect.github.com/vitest-dev/vitest/issues/8418)
[(a400a)](https://redirect.github.com/vitest-dev/vitest/commit/a400a9d2a)
- Enforce order of `vitest:coverage-transform` plugin - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8477](https://redirect.github.com/vitest-dev/vitest/issues/8477)
[(ff517)](https://redirect.github.com/vitest-dev/vitest/commit/ff5170cff)
- V8 to ignore Vite's generated cjs import helpers - by
[@mrginglymus](https://redirect.github.com/mrginglymus) and
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8718](https://redirect.github.com/vitest-dev/vitest/issues/8718)
[(35816)](https://redirect.github.com/vitest-dev/vitest/commit/35816fe8d)
- Keep only strings in `coverage.exclude` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8731](https://redirect.github.com/vitest-dev/vitest/issues/8731)
[(c9c30)](https://redirect.github.com/vitest-dev/vitest/commit/c9c303178)
- **deps**:
- Update all non-major dependencies - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8235](https://redirect.github.com/vitest-dev/vitest/issues/8235)
[(a1e57)](https://redirect.github.com/vitest-dev/vitest/commit/a1e576ae0)
- Update all non-major dependencies - in
[#8328](https://redirect.github.com/vitest-dev/vitest/issues/8328)
[(aa79e)](https://redirect.github.com/vitest-dev/vitest/commit/aa79e2733)
- Update all non-major dependencies - in
[#8348](https://redirect.github.com/vitest-dev/vitest/issues/8348)
[(13f94)](https://redirect.github.com/vitest-dev/vitest/commit/13f946229)
- Update all non-major dependencies - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8382](https://redirect.github.com/vitest-dev/vitest/issues/8382)
[(704eb)](https://redirect.github.com/vitest-dev/vitest/commit/704eba24b)
- Update all non-major dependencies - in
[#8550](https://redirect.github.com/vitest-dev/vitest/issues/8550)
[(048f7)](https://redirect.github.com/vitest-dev/vitest/commit/048f7a1ca)
- **jsdom**:
- Override globals that Fetch API relies on - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8390](https://redirect.github.com/vitest-dev/vitest/issues/8390)
[(05b41)](https://redirect.github.com/vitest-dev/vitest/commit/05b4178e8)
- Support AbortSignal API - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8704](https://redirect.github.com/vitest-dev/vitest/issues/8704)
[(f6690)](https://redirect.github.com/vitest-dev/vitest/commit/f6690ed46)
- **mocker**:
- Fix `regexpHoistable` to allow whitespace before parentheses - by
[@cszhjh](https://redirect.github.com/cszhjh) in
[#8231](https://redirect.github.com/vitest-dev/vitest/issues/8231)
[(a0f9a)](https://redirect.github.com/vitest-dev/vitest/commit/a0f9ae3f0)
- **module-runner**:
- Resolve `resolvedSources` correctly - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8736](https://redirect.github.com/vitest-dev/vitest/issues/8736)
[(8fc52)](https://redirect.github.com/vitest-dev/vitest/commit/8fc52974f)
- Support getBuiltins - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8746](https://redirect.github.com/vitest-dev/vitest/issues/8746)
[(87bb8)](https://redirect.github.com/vitest-dev/vitest/commit/87bb8f49c)
- **pool**:
- Properly reuse the vm pool - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8758](https://redirect.github.com/vitest-dev/vitest/issues/8758)
[(08498)](https://redirect.github.com/vitest-dev/vitest/commit/08498f0e9)
- **reporter**:
- Invisible CLI menus when `vitest --standalone` - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8248](https://redirect.github.com/vitest-dev/vitest/issues/8248)
[(37cc2)](https://redirect.github.com/vitest-dev/vitest/commit/37cc26994)
- **rolldown-vite**:
- Properly disable minifier in the browser client - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8306](https://redirect.github.com/vitest-dev/vitest/issues/8306)
[(f55bb)](https://redirect.github.com/vitest-dev/vitest/commit/f55bb81e6)
- **runner**:
- Don't bundle runner with utils - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8496](https://redirect.github.com/vitest-dev/vitest/issues/8496)
[(2b4b0)](https://redirect.github.com/vitest-dev/vitest/commit/2b4b05823)
- **spy**:
- Fix spyOn types with optional method - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8499](https://redirect.github.com/vitest-dev/vitest/issues/8499)
[(d3afa)](https://redirect.github.com/vitest-dev/vitest/commit/d3afa601a)
- Can respy on an exported method - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8521](https://redirect.github.com/vitest-dev/vitest/issues/8521)
[(bf450)](https://redirect.github.com/vitest-dev/vitest/commit/bf450b433)
- Don't fail when spying on static getters - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8589](https://redirect.github.com/vitest-dev/vitest/issues/8589)
[(ac1d9)](https://redirect.github.com/vitest-dev/vitest/commit/ac1d92f14)
- **types**:
- Ensure Chai declaration merge works with TS-Go - by
[@LukeAbby](https://redirect.github.com/LukeAbby) in
[#8188](https://redirect.github.com/vitest-dev/vitest/issues/8188)
[(5261d)](https://redirect.github.com/vitest-dev/vitest/commit/5261df0b9)
- Allow returning a promise from defineConfig - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8651](https://redirect.github.com/vitest-dev/vitest/issues/8651)
[(c3474)](https://redirect.github.com/vitest-dev/vitest/commit/c347487e6)
- **ui**:
- Keep the same tab open when clicking on different tests - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8599](https://redirect.github.com/vitest-dev/vitest/issues/8599)
[(3e535)](https://redirect.github.com/vitest-dev/vitest/commit/3e535f78b)
- **utils**:
- Remove ast export - by
[@bluwy](https://redirect.github.com/bluwy) in
[#8435](https://redirect.github.com/vitest-dev/vitest/issues/8435)
[(21622)](https://redirect.github.com/vitest-dev/vitest/commit/21622b5ae)
- **vitest**:
- Override `config.include` option with
`config.browser.instances[].include` option if it is specified - by
[@Shinyaigeek](https://redirect.github.com/Shinyaigeek) in
[#8260](https://redirect.github.com/vitest-dev/vitest/issues/8260)
[(010fc)](https://redirect.github.com/vitest-dev/vitest/commit/010fc55b5)
- **watch**:
- Filename filter runs duplicate tests in workspaces - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8250](https://redirect.github.com/vitest-dev/vitest/issues/8250)
[(932d8)](https://redirect.github.com/vitest-dev/vitest/commit/932d837c6)
- **wdio**:
- Wait for the driver to be properly closed - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8305](https://redirect.github.com/vitest-dev/vitest/issues/8305)
[(c16ab)](https://redirect.github.com/vitest-dev/vitest/commit/c16abe71e)
- Properly construct the shadow root selector if there are multiple
elements - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8354](https://redirect.github.com/vitest-dev/vitest/issues/8354)
[(28765)](https://redirect.github.com/vitest-dev/vitest/commit/28765b4bb)
##### 🏎 Performance
- Avoid spawning extra workers if no tests will run there - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8446](https://redirect.github.com/vitest-dev/vitest/issues/8446)
[(3fb3e)](https://redirect.github.com/vitest-dev/vitest/commit/3fb3e8036)
- Don't set `process.title` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8453](https://redirect.github.com/vitest-dev/vitest/issues/8453)
[(0a766)](https://redirect.github.com/vitest-dev/vitest/commit/0a7666323)
- Remove chai as a direct dependency, keep it in `@vitest/expect` - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8461](https://redirect.github.com/vitest-dev/vitest/issues/8461)
[(cc98c)](https://redirect.github.com/vitest-dev/vitest/commit/cc98c611f)
- Reduce the amount of dynamic imports - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8465](https://redirect.github.com/vitest-dev/vitest/issues/8465)
[(db6cd)](https://redirect.github.com/vitest-dev/vitest/commit/db6cd73ba)
- Use ES2022 language features - by
[@TrevorBurnham](https://redirect.github.com/TrevorBurnham) in
[#8492](https://redirect.github.com/vitest-dev/vitest/issues/8492)
[(bb34c)](https://redirect.github.com/vitest-dev/vitest/commit/bb34c64dc)
- Delay populating node-globals - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8506](https://redirect.github.com/vitest-dev/vitest/issues/8506)
[(41cbc)](https://redirect.github.com/vitest-dev/vitest/commit/41cbc5328)
- Get `workerId` from a global object - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8507](https://redirect.github.com/vitest-dev/vitest/issues/8507)
[(46b13)](https://redirect.github.com/vitest-dev/vitest/commit/46b13f669)
- Replace startsWith with strict equality - by
[@btea](https://redirect.github.com/btea) in
[#8546](https://redirect.github.com/vitest-dev/vitest/issues/8546)
[(c42e6)](https://redirect.github.com/vitest-dev/vitest/commit/c42e64e62)
- Reduce the number of unused imports - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8508](https://redirect.github.com/vitest-dev/vitest/issues/8508)
[(9a79b)](https://redirect.github.com/vitest-dev/vitest/commit/9a79b90c9)
- Use experimental `meta.resolve` flag instead of a custom loader - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8567](https://redirect.github.com/vitest-dev/vitest/issues/8567)
[(2e063)](https://redirect.github.com/vitest-dev/vitest/commit/2e0630b76)
- Create only one fetcher per project - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8762](https://redirect.github.com/vitest-dev/vitest/issues/8762)
[(8e15b)](https://redirect.github.com/vitest-dev/vitest/commit/8e15bc8f9)
- **pool**: Resolve all environments first - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8759](https://redirect.github.com/vitest-dev/vitest/issues/8759)
[(d3ef4)](https://redirect.github.com/vitest-dev/vitest/commit/d3ef4f29c)
##### [View changes on
GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.2.4...v4.0.0)
---
### Configuration
📅 **Schedule**: Branch creation - "before 9am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] 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).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
package.json | 2 +-
pnpm-lock.yaml | 218 ++++++++++++++++---------------------------------
2 files changed, 70 insertions(+), 150 deletions(-)
diff --git a/package.json b/package.json
index 495991bd..a68037d0 100644
--- a/package.json
+++ b/package.json
@@ -32,7 +32,7 @@
"@types/node": "^24.9.1",
"emnapi": "^1.6.0",
"typescript": "^5.9.3",
- "vitest": "^3.2.4"
+ "vitest": "^4.0.0"
},
"publishConfig": {
"registry": "https://registry.npmjs.org/",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8a97ac87..a1be84a5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -24,8 +24,8 @@ importers:
specifier: ^5.9.3
version: 5.9.3
vitest:
- specifier: ^3.2.4
- version: 3.2.4(@types/node@24.9.1)
+ specifier: ^4.0.0
+ version: 4.0.3(@types/node@24.9.1)
fixtures/pnpm:
devDependencies:
@@ -890,6 +890,9 @@ packages:
cpu: [x64]
os: [win32]
+ '@standard-schema/spec@1.0.0':
+ resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
'@tybys/wasm-util@0.10.1':
resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
@@ -908,34 +911,34 @@ packages:
'@types/stylis@4.2.5':
resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==}
- '@vitest/expect@3.2.4':
- resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+ '@vitest/expect@4.0.3':
+ resolution: {integrity: sha512-v3eSDx/bF25pzar6aEJrrdTXJduEBU3uSGXHslIdGIpJVP8tQQHV6x1ZfzbFQ/bLIomLSbR/2ZCfnaEGkWkiVQ==}
- '@vitest/mocker@3.2.4':
- resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
+ '@vitest/mocker@4.0.3':
+ resolution: {integrity: sha512-evZcRspIPbbiJEe748zI2BRu94ThCBE+RkjCpVF8yoVYuTV7hMe+4wLF/7K86r8GwJHSmAPnPbZhpXWWrg1qbA==}
peerDependencies:
msw: ^2.4.9
- vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
+ vite: ^6.0.0 || ^7.0.0-0
peerDependenciesMeta:
msw:
optional: true
vite:
optional: true
- '@vitest/pretty-format@3.2.4':
- resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+ '@vitest/pretty-format@4.0.3':
+ resolution: {integrity: sha512-N7gly/DRXzxa9w9sbDXwD9QNFYP2hw90LLLGDobPNwiWgyW95GMxsCt29/COIKKh3P7XJICR38PSDePenMBtsw==}
- '@vitest/runner@3.2.4':
- resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==}
+ '@vitest/runner@4.0.3':
+ resolution: {integrity: sha512-1/aK6fPM0lYXWyGKwop2Gbvz1plyTps/HDbIIJXYtJtspHjpXIeB3If07eWpVH4HW7Rmd3Rl+IS/+zEAXrRtXA==}
- '@vitest/snapshot@3.2.4':
- resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==}
+ '@vitest/snapshot@4.0.3':
+ resolution: {integrity: sha512-amnYmvZ5MTjNCP1HZmdeczAPLRD6iOm9+2nMRUGxbe/6sQ0Ymur0NnR9LIrWS8JA3wKE71X25D6ya/3LN9YytA==}
- '@vitest/spy@3.2.4':
- resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+ '@vitest/spy@4.0.3':
+ resolution: {integrity: sha512-82vVL8Cqz7rbXaNUl35V2G7xeNMAjBdNOVaHbrzznT9BmiCiPOzhf0FhU3eP41nP1bLDm/5wWKZqkG4nyU95DQ==}
- '@vitest/utils@3.2.4':
- resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+ '@vitest/utils@4.0.3':
+ resolution: {integrity: sha512-qV6KJkq8W3piW6MDIbGOmn1xhvcW4DuA07alqaQ+vdx7YA49J85pnwnxigZVQFQw3tWnQNRKWwhz5wbP6iv/GQ==}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
@@ -967,10 +970,6 @@ packages:
brace-expansion@2.0.2:
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
- cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
-
call-bind-apply-helpers@1.0.2:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
@@ -978,17 +977,13 @@ packages:
camelize@1.0.1:
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
- chai@5.3.3:
- resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
+ chai@6.2.0:
+ resolution: {integrity: sha512-aUTnJc/JipRzJrNADXVvpVqi6CO0dn3nx4EVPxijri+fj3LUUDyZQOgVeW54Ob3Y1Xh9Iz8f+CgaCl8v0mn9bA==}
engines: {node: '>=18'}
chardet@2.1.0:
resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==}
- check-error@2.1.1:
- resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
- engines: {node: '>= 16'}
-
cli-width@4.1.0:
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
engines: {node: '>= 12'}
@@ -1037,10 +1032,6 @@ packages:
decimal.js@10.5.0:
resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
- deep-eql@5.0.2:
- resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
- engines: {node: '>=6'}
-
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
@@ -1179,16 +1170,10 @@ packages:
javascript-natural-sort@0.7.1:
resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
- js-tokens@9.0.1:
- resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
-
js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
- loupe@3.2.1:
- resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
-
magic-string@0.30.19:
resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
@@ -1228,10 +1213,6 @@ packages:
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
- pathval@2.0.1:
- resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
- engines: {node: '>= 14.16'}
-
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -1313,9 +1294,6 @@ packages:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
- strip-literal@3.1.0:
- resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==}
-
styled-components@6.1.17:
resolution: {integrity: sha512-97D7DwWanI7nN24v0D4SvbfjLE9656umNSJZkBkDIWL37aZqG/wRQ+Y9pWtXyBIM/NSfcBzHLErEsqHmJNSVUg==}
engines: {node: '>= 16'}
@@ -1343,16 +1321,8 @@ packages:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
- tinypool@1.1.1:
- resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
- engines: {node: ^18.0.0 || >=20.0.0}
-
- tinyrainbow@2.0.0:
- resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
- engines: {node: '>=14.0.0'}
-
- tinyspy@4.0.4:
- resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==}
+ tinyrainbow@3.0.3:
+ resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==}
engines: {node: '>=14.0.0'}
tslib@2.6.2:
@@ -1379,11 +1349,6 @@ packages:
universal-user-agent@7.0.3:
resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==}
- vite-node@3.2.4:
- resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
- hasBin: true
-
vite@7.1.11:
resolution: {integrity: sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1424,16 +1389,18 @@ packages:
yaml:
optional: true
- vitest@3.2.4:
- resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ vitest@4.0.3:
+ resolution: {integrity: sha512-IUSop8jgaT7w0g1yOM/35qVtKjr/8Va4PrjzH1OUb0YH4c3OXB2lCZDkMAB6glA8T5w8S164oJGsbcmAecr4sA==}
+ engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/debug': ^4.1.12
- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
- '@vitest/browser': 3.2.4
- '@vitest/ui': 3.2.4
+ '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
+ '@vitest/browser-playwright': 4.0.3
+ '@vitest/browser-preview': 4.0.3
+ '@vitest/browser-webdriverio': 4.0.3
+ '@vitest/ui': 4.0.3
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -1443,7 +1410,11 @@ packages:
optional: true
'@types/node':
optional: true
- '@vitest/browser':
+ '@vitest/browser-playwright':
+ optional: true
+ '@vitest/browser-preview':
+ optional: true
+ '@vitest/browser-webdriverio':
optional: true
'@vitest/ui':
optional: true
@@ -2069,6 +2040,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.52.5':
optional: true
+ '@standard-schema/spec@1.0.0': {}
+
'@tybys/wasm-util@0.10.1':
dependencies:
tslib: 2.8.1
@@ -2088,47 +2061,44 @@ snapshots:
'@types/stylis@4.2.5': {}
- '@vitest/expect@3.2.4':
+ '@vitest/expect@4.0.3':
dependencies:
+ '@standard-schema/spec': 1.0.0
'@types/chai': 5.2.3
- '@vitest/spy': 3.2.4
- '@vitest/utils': 3.2.4
- chai: 5.3.3
- tinyrainbow: 2.0.0
+ '@vitest/spy': 4.0.3
+ '@vitest/utils': 4.0.3
+ chai: 6.2.0
+ tinyrainbow: 3.0.3
- '@vitest/mocker@3.2.4(vite@7.1.11(@types/node@24.9.1))':
+ '@vitest/mocker@4.0.3(vite@7.1.11(@types/node@24.9.1))':
dependencies:
- '@vitest/spy': 3.2.4
+ '@vitest/spy': 4.0.3
estree-walker: 3.0.3
magic-string: 0.30.19
optionalDependencies:
vite: 7.1.11(@types/node@24.9.1)
- '@vitest/pretty-format@3.2.4':
+ '@vitest/pretty-format@4.0.3':
dependencies:
- tinyrainbow: 2.0.0
+ tinyrainbow: 3.0.3
- '@vitest/runner@3.2.4':
+ '@vitest/runner@4.0.3':
dependencies:
- '@vitest/utils': 3.2.4
+ '@vitest/utils': 4.0.3
pathe: 2.0.3
- strip-literal: 3.1.0
- '@vitest/snapshot@3.2.4':
+ '@vitest/snapshot@4.0.3':
dependencies:
- '@vitest/pretty-format': 3.2.4
+ '@vitest/pretty-format': 4.0.3
magic-string: 0.30.19
pathe: 2.0.3
- '@vitest/spy@3.2.4':
- dependencies:
- tinyspy: 4.0.4
+ '@vitest/spy@4.0.3': {}
- '@vitest/utils@3.2.4':
+ '@vitest/utils@4.0.3':
dependencies:
- '@vitest/pretty-format': 3.2.4
- loupe: 3.2.1
- tinyrainbow: 2.0.0
+ '@vitest/pretty-format': 4.0.3
+ tinyrainbow: 3.0.3
ansi-regex@5.0.1: {}
@@ -2158,8 +2128,6 @@ snapshots:
dependencies:
balanced-match: 1.0.2
- cac@6.7.14: {}
-
call-bind-apply-helpers@1.0.2:
dependencies:
es-errors: 1.3.0
@@ -2167,18 +2135,10 @@ snapshots:
camelize@1.0.1: {}
- chai@5.3.3:
- dependencies:
- assertion-error: 2.0.1
- check-error: 2.1.1
- deep-eql: 5.0.2
- loupe: 3.2.1
- pathval: 2.0.1
+ chai@6.2.0: {}
chardet@2.1.0: {}
- check-error@2.1.1: {}
-
cli-width@4.1.0: {}
clipanion@4.0.0-rc.4(typanion@3.14.0):
@@ -2215,8 +2175,6 @@ snapshots:
decimal.js@10.5.0: {}
- deep-eql@5.0.2: {}
-
delayed-stream@1.0.0: {}
dunder-proto@1.0.1:
@@ -2355,14 +2313,10 @@ snapshots:
javascript-natural-sort@0.7.1: {}
- js-tokens@9.0.1: {}
-
js-yaml@4.1.0:
dependencies:
argparse: 2.0.1
- loupe@3.2.1: {}
-
magic-string@0.30.19:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -2399,8 +2353,6 @@ snapshots:
pathe@2.0.3: {}
- pathval@2.0.1: {}
-
picocolors@1.1.1: {}
picomatch@4.0.3: {}
@@ -2492,10 +2444,6 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
- strip-literal@3.1.0:
- dependencies:
- js-tokens: 9.0.1
-
styled-components@6.1.17(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
dependencies:
'@emotion/is-prop-valid': 1.2.2
@@ -2525,11 +2473,7 @@ snapshots:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
- tinypool@1.1.1: {}
-
- tinyrainbow@2.0.0: {}
-
- tinyspy@4.0.4: {}
+ tinyrainbow@3.0.3: {}
tslib@2.6.2: {}
@@ -2545,27 +2489,6 @@ snapshots:
universal-user-agent@7.0.3: {}
- vite-node@3.2.4(@types/node@24.9.1):
- dependencies:
- cac: 6.7.14
- debug: 4.4.3
- es-module-lexer: 1.7.0
- pathe: 2.0.3
- vite: 7.1.11(@types/node@24.9.1)
- transitivePeerDependencies:
- - '@types/node'
- - jiti
- - less
- - lightningcss
- - sass
- - sass-embedded
- - stylus
- - sugarss
- - supports-color
- - terser
- - tsx
- - yaml
-
vite@7.1.11(@types/node@24.9.1):
dependencies:
esbuild: 0.25.11
@@ -2578,18 +2501,17 @@ snapshots:
'@types/node': 24.9.1
fsevents: 2.3.3
- vitest@3.2.4(@types/node@24.9.1):
+ vitest@4.0.3(@types/node@24.9.1):
dependencies:
- '@types/chai': 5.2.3
- '@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.1.11(@types/node@24.9.1))
- '@vitest/pretty-format': 3.2.4
- '@vitest/runner': 3.2.4
- '@vitest/snapshot': 3.2.4
- '@vitest/spy': 3.2.4
- '@vitest/utils': 3.2.4
- chai: 5.3.3
+ '@vitest/expect': 4.0.3
+ '@vitest/mocker': 4.0.3(vite@7.1.11(@types/node@24.9.1))
+ '@vitest/pretty-format': 4.0.3
+ '@vitest/runner': 4.0.3
+ '@vitest/snapshot': 4.0.3
+ '@vitest/spy': 4.0.3
+ '@vitest/utils': 4.0.3
debug: 4.4.3
+ es-module-lexer: 1.7.0
expect-type: 1.2.2
magic-string: 0.30.19
pathe: 2.0.3
@@ -2598,10 +2520,8 @@ snapshots:
tinybench: 2.9.0
tinyexec: 0.3.2
tinyglobby: 0.2.15
- tinypool: 1.1.1
- tinyrainbow: 2.0.0
+ tinyrainbow: 3.0.3
vite: 7.1.11(@types/node@24.9.1)
- vite-node: 3.2.4(@types/node@24.9.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 24.9.1
From b66bc22447d9d4537d2c9e16a9019ffa91a73200 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 26 Oct 2025 16:41:59 +0000
Subject: [PATCH 03/53] chore(deps): update github-actions (major) (#784)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/download-artifact](https://redirect.github.com/actions/download-artifact)
| action | major | `v5.0.0` -> `v6.0.0` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v4.6.2` -> `v5.0.0` |
---
### Release Notes
actions/download-artifact (actions/download-artifact)
###
[`v6.0.0`](https://redirect.github.com/actions/download-artifact/releases/tag/v6.0.0)
[Compare
Source](https://redirect.github.com/actions/download-artifact/compare/v5.0.0...v6.0.0)
#### What's Changed
**BREAKING CHANGE:** this update supports Node `v24.x`. This is not a
breaking change per-se but we're treating it as such.
- Update README for download-artifact v5 changes by
[@yacaovsnc](https://redirect.github.com/yacaovsnc) in
[#417](https://redirect.github.com/actions/download-artifact/pull/417)
- Update README with artifact extraction details by
[@yacaovsnc](https://redirect.github.com/yacaovsnc) in
[#424](https://redirect.github.com/actions/download-artifact/pull/424)
- Readme: spell out the first use of GHES by
[@danwkennedy](https://redirect.github.com/danwkennedy) in
[#431](https://redirect.github.com/actions/download-artifact/pull/431)
- Bump `@actions/artifact` to `v4.0.0`
- Prepare `v6.0.0` by
[@danwkennedy](https://redirect.github.com/danwkennedy) in
[#438](https://redirect.github.com/actions/download-artifact/pull/438)
#### New Contributors
- [@danwkennedy](https://redirect.github.com/danwkennedy) made
their first contribution in
[#431](https://redirect.github.com/actions/download-artifact/pull/431)
**Full Changelog**:
actions/upload-artifact (actions/upload-artifact)
###
[`v5.0.0`](https://redirect.github.com/actions/upload-artifact/compare/v4.6.2...v5.0.0)
[Compare
Source](https://redirect.github.com/actions/upload-artifact/compare/v4.6.2...v5.0.0)
---
### Configuration
📅 **Schedule**: Branch creation - "before 9am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] 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).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/codecov.yml | 4 ++--
.github/workflows/release-napi.yml | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml
index 0b1ba64c..903d8bc8 100644
--- a/.github/workflows/codecov.yml
+++ b/.github/workflows/codecov.yml
@@ -42,7 +42,7 @@ jobs:
- run: cargo llvm-cov --lcov --output-path lcov.info
- name: Upload Artifact
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: codecov
path: lcov.info
@@ -62,7 +62,7 @@ jobs:
- name: Download coverage file
if: env.CODECOV_TOKEN
- uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: codecov
diff --git a/.github/workflows/release-napi.yml b/.github/workflows/release-napi.yml
index 7b012499..85f20bdf 100644
--- a/.github/workflows/release-napi.yml
+++ b/.github/workflows/release-napi.yml
@@ -134,7 +134,7 @@ jobs:
TARGET_CC: clang # for mimalloc
- name: Upload artifacts
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
if-no-files-found: error
name: bindings-${{ matrix.target }}
@@ -182,7 +182,7 @@ jobs:
rm -rf node_modules
rm -rf target
- name: Upload artifact
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: bindings-freebsd
path: napi/*.node
@@ -211,7 +211,7 @@ jobs:
run: pnpm install --frozen-lockfile
- name: Download Artifacts
- uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
path: artifacts
From e45c66cd25b8a511d961d41eedb0e10b5189e0f8 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 26 Oct 2025 21:44:29 +0000
Subject: [PATCH 04/53] chore(deps): lock file maintenance rust crates (#786)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| | | lockFileMaintenance | All locks refreshed |
| [document-features](https://slint.rs)
([source](https://redirect.github.com/slint-ui/document-features)) |
dependencies | patch | `0.2.11` -> `0.2.12` |
| [self_cell](https://redirect.github.com/Voultapher/self_cell) |
dependencies | patch | `1.2.0` -> `1.2.1` |
🔧 This Pull Request updates lock files to use the latest dependency
versions.
---
### Release Notes
slint-ui/document-features (document-features)
###
[`v0.2.12`](https://redirect.github.com/slint-ui/document-features/blob/HEAD/CHANGELOG.md#0212---2025-10-24)
[Compare
Source](https://redirect.github.com/slint-ui/document-features/compare/v0.2.11...v0.2.12)
- Update litrs dependency to 1.0.0
Voultapher/self_cell (self_cell)
###
[`v1.2.1`](https://redirect.github.com/Voultapher/self_cell/releases/tag/v1.2.1):
Version 1.2.1
[Compare
Source](https://redirect.github.com/Voultapher/self_cell/compare/v1.2.0...v1.2.1)
Re-licensed the project to Apache 2.0 OR GPLv2
---
### Configuration
📅 **Schedule**: Branch creation - "before 9am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] 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).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
Cargo.lock | 56 +++++++++++++++++++++++++++---------------------------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 0cc48125..66bc2bc8 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -106,9 +106,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "cc"
-version = "1.2.41"
+version = "1.2.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7"
+checksum = "739eb0f94557554b3ca9a86d2d37bebd49c5e6d0c1d2bda35ba5bdac830befc2"
dependencies = [
"find-msvc-tools",
"shlex",
@@ -269,9 +269,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]]
name = "ctor"
-version = "0.5.0"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67773048316103656a637612c4a62477603b777d91d9c62ff2290f9cde178fdb"
+checksum = "59c9b8bdf64ee849747c1b12eb861d21aa47fa161564f48332f1afe2373bf899"
dependencies = [
"ctor-proc-macro",
"dtor",
@@ -279,9 +279,9 @@ dependencies = [
[[package]]
name = "ctor-proc-macro"
-version = "0.0.6"
+version = "0.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2931af7e13dc045d8e9d26afccc6fa115d64e115c9c84b1166288b46f6782c2"
+checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1"
[[package]]
name = "dirs"
@@ -317,9 +317,9 @@ dependencies = [
[[package]]
name = "document-features"
-version = "0.2.11"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d"
+checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
dependencies = [
"litrs",
]
@@ -666,9 +666,9 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
[[package]]
name = "litrs"
-version = "0.4.2"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed"
+checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
[[package]]
name = "log"
@@ -702,9 +702,9 @@ dependencies = [
[[package]]
name = "napi"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b74e3dce5230795bb4d2821b941706dee733c7308752507254b0497f39cad7"
+checksum = "c3a1135cfe16ca43ac82ac05858554fc39c037d8e4592f2b4a83d7ef8e822f43"
dependencies = [
"bitflags",
"ctor",
@@ -718,15 +718,15 @@ dependencies = [
[[package]]
name = "napi-build"
-version = "2.2.3"
+version = "2.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcae8ad5609d14afb3a3b91dee88c757016261b151e9dcecabf1b2a31a6cab14"
+checksum = "3ae82775d1b06f3f07efd0666e59bbc175da8383bc372051031d7a447e94fbea"
[[package]]
name = "napi-derive"
-version = "3.2.5"
+version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7552d5a579b834614bbd496db5109f1b9f1c758f08224b0dee1e408333adf0d0"
+checksum = "78665d6bdf10e9a4e6b38123efb0f66962e6197c1aea2f07cff3f159a374696d"
dependencies = [
"convert_case",
"ctor",
@@ -738,9 +738,9 @@ dependencies = [
[[package]]
name = "napi-derive-backend"
-version = "2.2.0"
+version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f6a81ac7486b70f2532a289603340862c06eea5a1e650c1ffeda2ce1238516a"
+checksum = "42d55d01423e7264de3acc13b258fa48ca7cf38a4d25db848908ec3c1304a85a"
dependencies = [
"convert_case",
"proc-macro2",
@@ -751,9 +751,9 @@ dependencies = [
[[package]]
name = "napi-sys"
-version = "3.0.0"
+version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4e7135a8f97aa0f1509cce21a8a1f9dcec1b50d8dee006b48a5adb69a9d64d"
+checksum = "1ed8f0e23a62a3ce0fbb6527cdc056e9282ddd9916b068c46f8923e18eed5ee6"
dependencies = [
"libloading",
]
@@ -921,9 +921,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.101"
+version = "1.0.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
+checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
dependencies = [
"unicode-ident",
]
@@ -1069,9 +1069,9 @@ dependencies = [
[[package]]
name = "self_cell"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749"
+checksum = "16c2f82143577edb4921b71ede051dac62ca3c16084e918bf7b40c96ae10eb33"
[[package]]
name = "semver"
@@ -1180,9 +1180,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.107"
+version = "2.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a26dbd934e5451d21ef060c018dae56fc073894c5a7896f882928a76e6d081b"
+checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917"
dependencies = [
"proc-macro2",
"quote",
@@ -1283,9 +1283,9 @@ dependencies = [
[[package]]
name = "unicode-ident"
-version = "1.0.19"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
+checksum = "462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06"
[[package]]
name = "unicode-segmentation"
From c0763e0836cb561fb62f586edb4b123a9e47ba62 Mon Sep 17 00:00:00 2001
From: Boshen
Date: Mon, 27 Oct 2025 21:48:35 +0900
Subject: [PATCH 05/53] fix: restore webcontainer-fallback.js for Stackblitz
support (#787)
---
napi/webcontainer-fallback.js | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 napi/webcontainer-fallback.js
diff --git a/napi/webcontainer-fallback.js b/napi/webcontainer-fallback.js
new file mode 100644
index 00000000..ec469c45
--- /dev/null
+++ b/napi/webcontainer-fallback.js
@@ -0,0 +1,23 @@
+const fs = require('node:fs');
+const childProcess = require('node:child_process');
+
+const pkg = JSON.parse(
+ fs.readFileSync(require.resolve('oxc-resolver/package.json'), 'utf-8'),
+);
+const version = pkg.version;
+const baseDir = `/tmp/oxc-resolver-${version}`;
+const bindingEntry = `${baseDir}/node_modules/@oxc-resolver/binding-wasm32-wasi/resolver.wasi.cjs`;
+
+if (!fs.existsSync(bindingEntry)) {
+ fs.rmSync(baseDir, { recursive: true, force: true });
+ fs.mkdirSync(baseDir, { recursive: true });
+ const bindingPkg = `@oxc-resolver/binding-wasm32-wasi@${version}`;
+ // eslint-disable-next-line: no-console
+ console.log(`[oxc-resolver] Downloading ${bindingPkg} on WebContainer...`);
+ childProcess.execFileSync('pnpm', ['i', bindingPkg], {
+ cwd: baseDir,
+ stdio: 'inherit',
+ });
+}
+
+module.exports = require(bindingEntry);
From 94406bd1498676dc7b55c9ff6bd3badcafdc46ea Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 27 Oct 2025 12:57:48 +0000
Subject: [PATCH 06/53] chore(deps): lock file maintenance npm packages (#785)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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 | minor | [`3.3.1` ->
`3.4.1`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.3.1/3.4.1) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
packageManager | minor | [`10.18.3` ->
`10.19.0`](https://renovatebot.com/diffs/npm/pnpm/10.18.3/10.19.0) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [vitest](https://vitest.dev)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest))
| devDependencies | patch | [`4.0.3` ->
`4.0.4`](https://renovatebot.com/diffs/npm/vitest/4.0.3/4.0.4) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
🔧 This Pull Request updates lock files to use the latest dependency
versions.
---
### Release Notes
napi-rs/napi-rs (@napi-rs/cli)
###
[`v3.4.1`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.4.1)
[Compare
Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.4.0...@napi-rs/cli@3.4.1)
##### Bug Fixes
- **cli:** remove createRequire in cjs binding
([#2976](https://redirect.github.com/napi-rs/napi-rs/issues/2976))
([c388c12](https://redirect.github.com/napi-rs/napi-rs/commit/c388c120cfefbe40b16176615840203e3e1c6e75))
###
[`v3.4.0`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.4.0)
[Compare
Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.3.1...@napi-rs/cli@3.4.0)
##### Bug Fixes
- **cli:** correct OpenHarmony SDK path detection logic
([#2963](https://redirect.github.com/napi-rs/napi-rs/issues/2963))
([b453673](https://redirect.github.com/napi-rs/napi-rs/commit/b4536731acfae389e634887a0923dd6f2a6bfaa0))
- **napi:** do not invoke process.report on Windows
([#2972](https://redirect.github.com/napi-rs/napi-rs/issues/2972))
([01485ff](https://redirect.github.com/napi-rs/napi-rs/commit/01485ff4231395b0f39d7bbd9b8053992f9d3923))
##### Features
- **cli:** resolve command from args
([#2973](https://redirect.github.com/napi-rs/napi-rs/issues/2973))
([13cb9dc](https://redirect.github.com/napi-rs/napi-rs/commit/13cb9dc1e06678c72aa18efb8041f2d18301d288))
pnpm/pnpm (pnpm)
###
[`v10.19.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10190)
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.18.3...v10.19.0)
##### Minor Changes
- You can now allow specific versions of dependencies to run postinstall
scripts. `onlyBuiltDependencies` now accepts package names with lists of
trusted versions. For example:
```yaml
onlyBuiltDependencies:
- nx@21.6.4 || 21.6.5
- esbuild@0.25.1
```
Related PR:
[#10104](https://redirect.github.com/pnpm/pnpm/pull/10104).
- Added support for exact versions in `minimumReleaseAgeExclude`
[#9985](https://redirect.github.com/pnpm/pnpm/issues/9985).
You can now list one or more specific versions that pnpm should allow to
install, even if those versions don’t satisfy the maturity requirement
set by `minimumReleaseAge`. For example:
```yaml
minimumReleaseAge: 1440
minimumReleaseAgeExclude:
- nx@21.6.5
- webpack@4.47.0 || 5.102.1
```
vitest-dev/vitest (vitest)
###
[`v4.0.4`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.0.4)
##### 🐞 Bug Fixes
- **browser**:
- Correct typo - by
[@benmccann](https://redirect.github.com/benmccann) in
[#8796](https://redirect.github.com/vitest-dev/vitest/issues/8796)
[(ede1f)](https://redirect.github.com/vitest-dev/vitest/commit/ede1f39d6)
- Publish a missing context file for webdriverio - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8824](https://redirect.github.com/vitest-dev/vitest/issues/8824)
[(7c7b6)](https://redirect.github.com/vitest-dev/vitest/commit/7c7b6f0b1)
- **mocker**:
- Support mocking builtins without `node:` prefix - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8829](https://redirect.github.com/vitest-dev/vitest/issues/8829)
[(06208)](https://redirect.github.com/vitest-dev/vitest/commit/06208d30b)
- **pool**:
- Runner's error listener causing `MaxListenersExceededWarning` - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8820](https://redirect.github.com/vitest-dev/vitest/issues/8820)
[(d1bff)](https://redirect.github.com/vitest-dev/vitest/commit/d1bff3bb3)
- Capture workers `stdio` to logger - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8809](https://redirect.github.com/vitest-dev/vitest/issues/8809)
[(fb95f)](https://redirect.github.com/vitest-dev/vitest/commit/fb95fc736)
- **spy**:
- Allow classes in `vi.mocked` utility - by
[@sheremet-va](https://redirect.github.com/sheremet-va) in
[#8839](https://redirect.github.com/vitest-dev/vitest/issues/8839)
[(f8756)](https://redirect.github.com/vitest-dev/vitest/commit/f87568d64)
- **worker**:
- Rpc listener leak when `isolate: false` - by
[@AriPerkkio](https://redirect.github.com/AriPerkkio) in
[#8821](https://redirect.github.com/vitest-dev/vitest/issues/8821)
[(573dc)](https://redirect.github.com/vitest-dev/vitest/commit/573dc06fe)
##### 🏎 Performance
- **utils**: Optimized reducer to avoid creating new objects - by
[@Connormiha](https://redirect.github.com/Connormiha) in
[#8818](https://redirect.github.com/vitest-dev/vitest/issues/8818)
[(d19ce)](https://redirect.github.com/vitest-dev/vitest/commit/d19cece3a)
##### [View changes on
GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.3...v4.0.4)
---
### Configuration
📅 **Schedule**: Branch creation - "before 9am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] 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).
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Boshen
---
napi/index.js | 5 +-
package.json | 2 +-
pnpm-lock.yaml | 122 ++++++++++++++++++++++++-------------------------
3 files changed, 63 insertions(+), 66 deletions(-)
diff --git a/napi/index.js b/napi/index.js
index 9d3c6140..3f06035b 100644
--- a/napi/index.js
+++ b/napi/index.js
@@ -3,9 +3,6 @@
// @ts-nocheck
/* auto-generated by NAPI-RS */
-const { createRequire } = require('node:module')
-require = createRequire(__filename)
-
const { readFileSync } = require('node:fs')
let nativeBinding = null
const loadErrors = []
@@ -108,7 +105,7 @@ function requireNative() {
}
} else if (process.platform === 'win32') {
if (process.arch === 'x64') {
- if (process.report?.getReport?.()?.header?.osName?.startsWith?.('MINGW')) {
+ if (process.config?.variables?.shlib_suffix === 'dll.a' || process.config?.variables?.node_target_type === 'shared_library') {
try {
return require('./resolver.win32-x64-gnu.node')
} catch (e) {
diff --git a/package.json b/package.json
index a68037d0..f74bc9eb 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"version": "11.11.1",
"license": "MIT",
"description": "Oxc Resolver Node API",
- "packageManager": "pnpm@10.18.3",
+ "packageManager": "pnpm@10.19.0",
"homepage": "https://oxc.rs",
"repository": {
"type": "git",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a1be84a5..7adcbc5a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,7 +10,7 @@ importers:
devDependencies:
'@napi-rs/cli':
specifier: ^3.3.1
- version: 3.3.1(@emnapi/runtime@1.6.0)(@types/node@24.9.1)
+ version: 3.4.1(@emnapi/runtime@1.6.0)(@types/node@24.9.1)
'@napi-rs/wasm-runtime':
specifier: ^1.0.7
version: 1.0.7
@@ -25,7 +25,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.0.0
- version: 4.0.3(@types/node@24.9.1)
+ version: 4.0.4(@types/node@24.9.1)
fixtures/pnpm:
devDependencies:
@@ -392,8 +392,8 @@ packages:
'@jridgewell/sourcemap-codec@1.5.5':
resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
- '@napi-rs/cli@3.3.1':
- resolution: {integrity: sha512-KVO9tLhtOtDc8iMUJYRkj6WZcYmV6+fhXbLa1Qstrm6ZQa9McIsqjFH7PLx3BnEWwejjJrenrCX5JENwl0MpKg==}
+ '@napi-rs/cli@3.4.1':
+ resolution: {integrity: sha512-ayhm+NfrP5Hmh7vy5pfyYm/ktYtLh2PrgdLuqHTAubO7RoO2JkUE4F991AtgYxNewwXI8+guZLxU8itV7QnDrQ==}
engines: {node: '>= 16'}
hasBin: true
peerDependencies:
@@ -911,11 +911,11 @@ packages:
'@types/stylis@4.2.5':
resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==}
- '@vitest/expect@4.0.3':
- resolution: {integrity: sha512-v3eSDx/bF25pzar6aEJrrdTXJduEBU3uSGXHslIdGIpJVP8tQQHV6x1ZfzbFQ/bLIomLSbR/2ZCfnaEGkWkiVQ==}
+ '@vitest/expect@4.0.4':
+ resolution: {integrity: sha512-0ioMscWJtfpyH7+P82sGpAi3Si30OVV73jD+tEqXm5+rIx9LgnfdaOn45uaFkKOncABi/PHL00Yn0oW/wK4cXw==}
- '@vitest/mocker@4.0.3':
- resolution: {integrity: sha512-evZcRspIPbbiJEe748zI2BRu94ThCBE+RkjCpVF8yoVYuTV7hMe+4wLF/7K86r8GwJHSmAPnPbZhpXWWrg1qbA==}
+ '@vitest/mocker@4.0.4':
+ resolution: {integrity: sha512-UTtKgpjWj+pvn3lUM55nSg34098obGhSHH+KlJcXesky8b5wCUgg7s60epxrS6yAG8slZ9W8T9jGWg4PisMf5Q==}
peerDependencies:
msw: ^2.4.9
vite: ^6.0.0 || ^7.0.0-0
@@ -925,20 +925,20 @@ packages:
vite:
optional: true
- '@vitest/pretty-format@4.0.3':
- resolution: {integrity: sha512-N7gly/DRXzxa9w9sbDXwD9QNFYP2hw90LLLGDobPNwiWgyW95GMxsCt29/COIKKh3P7XJICR38PSDePenMBtsw==}
+ '@vitest/pretty-format@4.0.4':
+ resolution: {integrity: sha512-lHI2rbyrLVSd1TiHGJYyEtbOBo2SDndIsN3qY4o4xe2pBxoJLD6IICghNCvD7P+BFin6jeyHXiUICXqgl6vEaQ==}
- '@vitest/runner@4.0.3':
- resolution: {integrity: sha512-1/aK6fPM0lYXWyGKwop2Gbvz1plyTps/HDbIIJXYtJtspHjpXIeB3If07eWpVH4HW7Rmd3Rl+IS/+zEAXrRtXA==}
+ '@vitest/runner@4.0.4':
+ resolution: {integrity: sha512-99EDqiCkncCmvIZj3qJXBZbyoQ35ghOwVWNnQ5nj0Hnsv4Qm40HmrMJrceewjLVvsxV/JSU4qyx2CGcfMBmXJw==}
- '@vitest/snapshot@4.0.3':
- resolution: {integrity: sha512-amnYmvZ5MTjNCP1HZmdeczAPLRD6iOm9+2nMRUGxbe/6sQ0Ymur0NnR9LIrWS8JA3wKE71X25D6ya/3LN9YytA==}
+ '@vitest/snapshot@4.0.4':
+ resolution: {integrity: sha512-XICqf5Gi4648FGoBIeRgnHWSNDp+7R5tpclGosFaUUFzY6SfcpsfHNMnC7oDu/iOLBxYfxVzaQpylEvpgii3zw==}
- '@vitest/spy@4.0.3':
- resolution: {integrity: sha512-82vVL8Cqz7rbXaNUl35V2G7xeNMAjBdNOVaHbrzznT9BmiCiPOzhf0FhU3eP41nP1bLDm/5wWKZqkG4nyU95DQ==}
+ '@vitest/spy@4.0.4':
+ resolution: {integrity: sha512-G9L13AFyYECo40QG7E07EdYnZZYCKMTSp83p9W8Vwed0IyCG1GnpDLxObkx8uOGPXfDpdeVf24P1Yka8/q1s9g==}
- '@vitest/utils@4.0.3':
- resolution: {integrity: sha512-qV6KJkq8W3piW6MDIbGOmn1xhvcW4DuA07alqaQ+vdx7YA49J85pnwnxigZVQFQw3tWnQNRKWwhz5wbP6iv/GQ==}
+ '@vitest/utils@4.0.4':
+ resolution: {integrity: sha512-4bJLmSvZLyVbNsYFRpPYdJViG9jZyRvMZ35IF4ymXbRZoS+ycYghmwTGiscTXduUg2lgKK7POWIyXJNute1hjw==}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
@@ -1074,8 +1074,8 @@ packages:
resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
engines: {node: '>= 0.4'}
- es-toolkit@1.40.0:
- resolution: {integrity: sha512-8o6w0KFmU0CiIl0/Q/BCEOabF2IJaELM1T2PWj6e8KqzHv1gdx+7JtFnDwOx1kJH/isJ5NwlDG1nCr1HrRF94Q==}
+ es-toolkit@1.41.0:
+ resolution: {integrity: sha512-bDd3oRmbVgqZCJS6WmeQieOrzpl3URcWBUVDXxOELlUW2FuW+0glPOz1n0KnRie+PdyvUZcXz2sOn00c6pPRIA==}
esbuild@0.25.11:
resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==}
@@ -1174,8 +1174,8 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
- magic-string@0.30.19:
- resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
@@ -1349,8 +1349,8 @@ packages:
universal-user-agent@7.0.3:
resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==}
- vite@7.1.11:
- resolution: {integrity: sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==}
+ vite@7.1.12:
+ resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -1389,18 +1389,18 @@ packages:
yaml:
optional: true
- vitest@4.0.3:
- resolution: {integrity: sha512-IUSop8jgaT7w0g1yOM/35qVtKjr/8Va4PrjzH1OUb0YH4c3OXB2lCZDkMAB6glA8T5w8S164oJGsbcmAecr4sA==}
+ vitest@4.0.4:
+ resolution: {integrity: sha512-hV31h0/bGbtmDQc0KqaxsTO1v4ZQeF8ojDFuy4sZhFadwAqqvJA0LDw68QUocctI5EDpFMql/jVWKuPYHIf2Ew==}
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/debug': ^4.1.12
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
- '@vitest/browser-playwright': 4.0.3
- '@vitest/browser-preview': 4.0.3
- '@vitest/browser-webdriverio': 4.0.3
- '@vitest/ui': 4.0.3
+ '@vitest/browser-playwright': 4.0.4
+ '@vitest/browser-preview': 4.0.4
+ '@vitest/browser-webdriverio': 4.0.4
+ '@vitest/ui': 4.0.4
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -1666,7 +1666,7 @@ snapshots:
'@jridgewell/sourcemap-codec@1.5.5': {}
- '@napi-rs/cli@3.3.1(@emnapi/runtime@1.6.0)(@types/node@24.9.1)':
+ '@napi-rs/cli@3.4.1(@emnapi/runtime@1.6.0)(@types/node@24.9.1)':
dependencies:
'@inquirer/prompts': 7.9.0(@types/node@24.9.1)
'@napi-rs/cross-toolchain': 1.0.3
@@ -1676,7 +1676,7 @@ snapshots:
colorette: 2.0.20
debug: 4.4.3
emnapi: 1.6.0
- es-toolkit: 1.40.0
+ es-toolkit: 1.41.0
js-yaml: 4.1.0
semver: 7.7.3
typanion: 3.14.0
@@ -2061,43 +2061,43 @@ snapshots:
'@types/stylis@4.2.5': {}
- '@vitest/expect@4.0.3':
+ '@vitest/expect@4.0.4':
dependencies:
'@standard-schema/spec': 1.0.0
'@types/chai': 5.2.3
- '@vitest/spy': 4.0.3
- '@vitest/utils': 4.0.3
+ '@vitest/spy': 4.0.4
+ '@vitest/utils': 4.0.4
chai: 6.2.0
tinyrainbow: 3.0.3
- '@vitest/mocker@4.0.3(vite@7.1.11(@types/node@24.9.1))':
+ '@vitest/mocker@4.0.4(vite@7.1.12(@types/node@24.9.1))':
dependencies:
- '@vitest/spy': 4.0.3
+ '@vitest/spy': 4.0.4
estree-walker: 3.0.3
- magic-string: 0.30.19
+ magic-string: 0.30.21
optionalDependencies:
- vite: 7.1.11(@types/node@24.9.1)
+ vite: 7.1.12(@types/node@24.9.1)
- '@vitest/pretty-format@4.0.3':
+ '@vitest/pretty-format@4.0.4':
dependencies:
tinyrainbow: 3.0.3
- '@vitest/runner@4.0.3':
+ '@vitest/runner@4.0.4':
dependencies:
- '@vitest/utils': 4.0.3
+ '@vitest/utils': 4.0.4
pathe: 2.0.3
- '@vitest/snapshot@4.0.3':
+ '@vitest/snapshot@4.0.4':
dependencies:
- '@vitest/pretty-format': 4.0.3
- magic-string: 0.30.19
+ '@vitest/pretty-format': 4.0.4
+ magic-string: 0.30.21
pathe: 2.0.3
- '@vitest/spy@4.0.3': {}
+ '@vitest/spy@4.0.4': {}
- '@vitest/utils@4.0.3':
+ '@vitest/utils@4.0.4':
dependencies:
- '@vitest/pretty-format': 4.0.3
+ '@vitest/pretty-format': 4.0.4
tinyrainbow: 3.0.3
ansi-regex@5.0.1: {}
@@ -2209,7 +2209,7 @@ snapshots:
has-tostringtag: 1.0.2
hasown: 2.0.2
- es-toolkit@1.40.0: {}
+ es-toolkit@1.41.0: {}
esbuild@0.25.11:
optionalDependencies:
@@ -2317,7 +2317,7 @@ snapshots:
dependencies:
argparse: 2.0.1
- magic-string@0.30.19:
+ magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -2489,7 +2489,7 @@ snapshots:
universal-user-agent@7.0.3: {}
- vite@7.1.11(@types/node@24.9.1):
+ vite@7.1.12(@types/node@24.9.1):
dependencies:
esbuild: 0.25.11
fdir: 6.5.0(picomatch@4.0.3)
@@ -2501,19 +2501,19 @@ snapshots:
'@types/node': 24.9.1
fsevents: 2.3.3
- vitest@4.0.3(@types/node@24.9.1):
+ vitest@4.0.4(@types/node@24.9.1):
dependencies:
- '@vitest/expect': 4.0.3
- '@vitest/mocker': 4.0.3(vite@7.1.11(@types/node@24.9.1))
- '@vitest/pretty-format': 4.0.3
- '@vitest/runner': 4.0.3
- '@vitest/snapshot': 4.0.3
- '@vitest/spy': 4.0.3
- '@vitest/utils': 4.0.3
+ '@vitest/expect': 4.0.4
+ '@vitest/mocker': 4.0.4(vite@7.1.12(@types/node@24.9.1))
+ '@vitest/pretty-format': 4.0.4
+ '@vitest/runner': 4.0.4
+ '@vitest/snapshot': 4.0.4
+ '@vitest/spy': 4.0.4
+ '@vitest/utils': 4.0.4
debug: 4.4.3
es-module-lexer: 1.7.0
expect-type: 1.2.2
- magic-string: 0.30.19
+ magic-string: 0.30.21
pathe: 2.0.3
picomatch: 4.0.3
std-env: 3.10.0
@@ -2521,7 +2521,7 @@ snapshots:
tinyexec: 0.3.2
tinyglobby: 0.2.15
tinyrainbow: 3.0.3
- vite: 7.1.11(@types/node@24.9.1)
+ vite: 7.1.12(@types/node@24.9.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 24.9.1
From d541f00883635c65a095ddf6943f15d5f2552be0 Mon Sep 17 00:00:00 2001
From: Boshen
Date: Mon, 27 Oct 2025 21:14:50 +0800
Subject: [PATCH 07/53] feat: improve PackagePathNotExported error message with
condition names
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Improves the error message to match enhanced-resolve behavior from
commit f1bc1c2, providing better developer experience when debugging
export resolution failures.
Changes:
- Updated `ResolveError::PackagePathNotExported` to include condition names
- Added `ConditionNames` type with custom Display formatting
- Error message now shows which conditions were checked
Before:
Package subpath './foo' is not defined by "exports" in /path/to/package.json
After:
"./foo" is not exported under the conditions ["node", "import"] from package /path/to (see exports field in /path/to/package.json)
Fixes: Cross-reference with enhanced-resolve #460
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude
---
src/error.rs | 34 ++++++++++++++++++++++++++++++++--
src/lib.rs | 20 ++++++++++++--------
src/tests/exports_field.rs | 12 ++++++------
3 files changed, 50 insertions(+), 16 deletions(-)
diff --git a/src/error.rs b/src/error.rs
index 02a15052..51f88e74 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -88,8 +88,13 @@ pub enum ResolveError {
#[error(r#"Invalid "exports" target "{0}" defined for '{1}' in the package config {2}"#)]
InvalidPackageTarget(String, String, PathBuf),
- #[error(r#"Package subpath '{0}' is not defined by "exports" in {1}"#)]
- PackagePathNotExported(String, PathBuf),
+ #[error(r#""{subpath}" is not exported under {conditions} from package {package_path} (see exports field in {package_json_path})"#)]
+ PackagePathNotExported {
+ subpath: String,
+ package_path: PathBuf,
+ package_json_path: PathBuf,
+ conditions: ConditionNames,
+ },
#[error(r#"Invalid package config "{0}", "exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only."#)]
InvalidPackageConfig(PathBuf),
@@ -201,6 +206,31 @@ impl From> for CircularPathBufs {
}
}
+/// Helper type for formatting condition names in error messages
+#[derive(Debug, Clone, PartialEq, Eq)]
+pub struct ConditionNames(Vec);
+
+impl From> for ConditionNames {
+ fn from(conditions: Vec) -> Self {
+ Self(conditions)
+ }
+}
+
+impl Display for ConditionNames {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self.0.len() {
+ 0 => write!(f, "no conditions"),
+ 1 => write!(f, "the condition \"{}\"", self.0[0]),
+ _ => {
+ write!(f, "the conditions ")?;
+ let conditions_str =
+ self.0.iter().map(|s| format!("\"{s}\"")).collect::>().join(", ");
+ write!(f, "[{conditions_str}]")
+ }
+ }
+ }
+}
+
#[test]
fn test_into_io_error() {
use std::io::{self, ErrorKind};
diff --git a/src/lib.rs b/src/lib.rs
index 1fa056a3..73e1fc24 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1718,10 +1718,12 @@ impl ResolverGeneric {
}
}
// 4. Throw a Package Path Not Exported error.
- Err(ResolveError::PackagePathNotExported(
- subpath.to_string(),
- package_url.path().join("package.json"),
- ))
+ Err(ResolveError::PackagePathNotExported {
+ subpath: subpath.to_string(),
+ package_path: package_url.path().to_path_buf(),
+ package_json_path: package_url.path().join("package.json"),
+ conditions: self.options.condition_names.clone().into(),
+ })
}
/// PACKAGE_IMPORTS_RESOLVE(specifier, parentURL, conditions)
@@ -1977,10 +1979,12 @@ impl ResolverGeneric {
// 1. If _target.length is zero, return null.
if targets.is_empty() {
// Note: return PackagePathNotExported has the same effect as return because there are no matches.
- return Err(ResolveError::PackagePathNotExported(
- pattern_match.unwrap_or(".").to_string(),
- package_url.path().join("package.json"),
- ));
+ return Err(ResolveError::PackagePathNotExported {
+ subpath: pattern_match.unwrap_or(".").to_string(),
+ package_path: package_url.path().to_path_buf(),
+ package_json_path: package_url.path().join("package.json"),
+ conditions: self.options.condition_names.clone().into(),
+ });
}
// 2. For each item targetValue in target, do
for (i, target_value) in targets.iter().enumerate() {
diff --git a/src/tests/exports_field.rs b/src/tests/exports_field.rs
index 902f0516..14f15c20 100644
--- a/src/tests/exports_field.rs
+++ b/src/tests/exports_field.rs
@@ -71,13 +71,13 @@ fn test_simple() {
("relative path should not work with exports field", f.clone(), "./node_modules/exports-field/dist/main.js", ResolveError::NotFound("./node_modules/exports-field/dist/main.js".into())),
("backtracking should not work for request", f.clone(), "exports-field/dist/../../../a.js", ResolveError::InvalidPackageTarget("./lib/../../../a.js".to_string(), "./dist/".to_string(), p.clone())),
("backtracking should not work for exports field target", f.clone(), "exports-field/dist/a.js", ResolveError::InvalidPackageTarget("./../../a.js".to_string(), "./dist/a.js".to_string(), p.clone())),
- ("not exported error", f.clone(), "exports-field/anything/else", ResolveError::PackagePathNotExported("./anything/else".to_string(), p.clone())),
- ("request ending with slash #1", f.clone(), "exports-field/", ResolveError::PackagePathNotExported("./".to_string(), p.clone())),
- ("request ending with slash #2", f.clone(), "exports-field/dist/", ResolveError::PackagePathNotExported("./dist/".to_string(), p.clone())),
- ("request ending with slash #3", f.clone(), "exports-field/lib/", ResolveError::PackagePathNotExported("./lib/".to_string(), p)),
+ ("not exported error", f.clone(), "exports-field/anything/else", ResolveError::PackagePathNotExported { subpath: "./anything/else".to_string(), package_path: f.join("node_modules/exports-field"), package_json_path: p.clone(), conditions: vec!["webpack".into()].into() }),
+ ("request ending with slash #1", f.clone(), "exports-field/", ResolveError::PackagePathNotExported { subpath: "./".to_string(), package_path: f.join("node_modules/exports-field"), package_json_path: p.clone(), conditions: vec!["webpack".into()].into() }),
+ ("request ending with slash #2", f.clone(), "exports-field/dist/", ResolveError::PackagePathNotExported { subpath: "./dist/".to_string(), package_path: f.join("node_modules/exports-field"), package_json_path: p.clone(), conditions: vec!["webpack".into()].into() }),
+ ("request ending with slash #3", f.clone(), "exports-field/lib/", ResolveError::PackagePathNotExported { subpath: "./lib/".to_string(), package_path: f.join("node_modules/exports-field"), package_json_path: p, conditions: vec!["webpack".into()].into() }),
("should throw error if target is invalid", f4, "exports-field", ResolveError::InvalidPackageTarget("./a/../b/../../pack1/index.js".to_string(), ".".to_string(), p4)),
("throw error if exports field is invalid", f.clone(), "invalid-exports-field", ResolveError::InvalidPackageConfig(f.join("node_modules/invalid-exports-field/package.json"))),
- ("should throw error if target is 'null'", f5, "m/features/internal/file.js", ResolveError::PackagePathNotExported("./features/internal/file.js".to_string(), p5)),
+ ("should throw error if target is 'null'", f5.clone(), "m/features/internal/file.js", ResolveError::PackagePathNotExported { subpath: "./features/internal/file.js".to_string(), package_path: f5.join("node_modules/m"), package_json_path: p5, conditions: vec!["webpack".into()].into() }),
];
for (comment, path, request, error) in fail {
@@ -2560,7 +2560,7 @@ fn test_cases() {
if let Some(expect) = case.expect {
if expect.is_empty() {
assert!(
- matches!(resolved_path, Err(ResolveError::PackagePathNotExported(_, _))),
+ matches!(resolved_path, Err(ResolveError::PackagePathNotExported { .. })),
"{} {:?}",
&case.name,
&resolved_path
From f413b9678d8f64a5c4621ad46286a1ec1d68cc1a Mon Sep 17 00:00:00 2001
From: Boshen
Date: Mon, 27 Oct 2025 22:26:31 +0900
Subject: [PATCH 08/53] chore: release v11.12.0 (#788)
---
CHANGELOG.md | 10 +++++
Cargo.lock | 4 +-
Cargo.toml | 4 +-
napi/Cargo.toml | 2 +-
napi/index.js | 104 ++++++++++++++++++++++++------------------------
package.json | 2 +-
6 files changed, 68 insertions(+), 58 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 197edfb7..c5d55945 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [11.12.0](https://github.com/oxc-project/oxc-resolver/compare/v11.11.1...v11.12.0) - 2025-10-27
+
+### 🚀 Features
+
+- improve PackagePathNotExported error message with condition names (by @Boshen)
+
+### Contributors
+
+* @Boshen
+
## [11.11.1](https://github.com/oxc-project/oxc-resolver/compare/v11.11.0...v11.11.1) - 2025-10-21
### 🐛 Bug Fixes
diff --git a/Cargo.lock b/Cargo.lock
index 66bc2bc8..f7bc10d7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -814,7 +814,7 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "oxc_resolver"
-version = "11.11.1"
+version = "11.12.0"
dependencies = [
"cfg-if",
"criterion2",
@@ -846,7 +846,7 @@ dependencies = [
[[package]]
name = "oxc_resolver_napi"
-version = "11.11.1"
+version = "11.12.0"
dependencies = [
"fancy-regex",
"mimalloc-safe",
diff --git a/Cargo.toml b/Cargo.toml
index 1517c9e5..85630269 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -16,11 +16,11 @@ rust-version = "1.85.0"
description = "ESM / CJS module resolution"
[workspace.dependencies]
-oxc_resolver = { version = "11.11.1", path = "." }
+oxc_resolver = { version = "11.12.0", path = "." }
[package]
name = "oxc_resolver"
-version = "11.11.1"
+version = "11.12.0"
authors.workspace = true
categories.workspace = true
edition.workspace = true
diff --git a/napi/Cargo.toml b/napi/Cargo.toml
index 82d82340..dcc0b9ac 100644
--- a/napi/Cargo.toml
+++ b/napi/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "oxc_resolver_napi"
-version = "11.11.1"
+version = "11.12.0"
authors.workspace = true
categories.workspace = true
edition.workspace = true
diff --git a/napi/index.js b/napi/index.js
index 3f06035b..ac36adcc 100644
--- a/napi/index.js
+++ b/napi/index.js
@@ -77,8 +77,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-android-arm64')
const bindingPackageVersion = require('@oxc-resolver/binding-android-arm64/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -93,8 +93,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-android-arm-eabi')
const bindingPackageVersion = require('@oxc-resolver/binding-android-arm-eabi/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -114,8 +114,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-win32-x64-gnu')
const bindingPackageVersion = require('@oxc-resolver/binding-win32-x64-gnu/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -130,8 +130,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-win32-x64-msvc')
const bindingPackageVersion = require('@oxc-resolver/binding-win32-x64-msvc/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -147,8 +147,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-win32-ia32-msvc')
const bindingPackageVersion = require('@oxc-resolver/binding-win32-ia32-msvc/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -163,8 +163,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-win32-arm64-msvc')
const bindingPackageVersion = require('@oxc-resolver/binding-win32-arm64-msvc/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -182,8 +182,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-darwin-universal')
const bindingPackageVersion = require('@oxc-resolver/binding-darwin-universal/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -198,8 +198,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-darwin-x64')
const bindingPackageVersion = require('@oxc-resolver/binding-darwin-x64/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -214,8 +214,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-darwin-arm64')
const bindingPackageVersion = require('@oxc-resolver/binding-darwin-arm64/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -234,8 +234,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-freebsd-x64')
const bindingPackageVersion = require('@oxc-resolver/binding-freebsd-x64/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -250,8 +250,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-freebsd-arm64')
const bindingPackageVersion = require('@oxc-resolver/binding-freebsd-arm64/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -271,8 +271,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-x64-musl')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-x64-musl/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -287,8 +287,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-x64-gnu')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-x64-gnu/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -305,8 +305,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-arm64-musl')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-arm64-musl/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -321,8 +321,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-arm64-gnu')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-arm64-gnu/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -339,8 +339,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-arm-musleabihf')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-arm-musleabihf/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -355,8 +355,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-arm-gnueabihf')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-arm-gnueabihf/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -373,8 +373,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-loong64-musl')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-loong64-musl/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -389,8 +389,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-loong64-gnu')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-loong64-gnu/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -407,8 +407,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-riscv64-musl')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-riscv64-musl/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -423,8 +423,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-riscv64-gnu')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-riscv64-gnu/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -440,8 +440,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-ppc64-gnu')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-ppc64-gnu/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -456,8 +456,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-linux-s390x-gnu')
const bindingPackageVersion = require('@oxc-resolver/binding-linux-s390x-gnu/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -476,8 +476,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-openharmony-arm64')
const bindingPackageVersion = require('@oxc-resolver/binding-openharmony-arm64/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -492,8 +492,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-openharmony-x64')
const bindingPackageVersion = require('@oxc-resolver/binding-openharmony-x64/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
@@ -508,8 +508,8 @@ function requireNative() {
try {
const binding = require('@oxc-resolver/binding-openharmony-arm')
const bindingPackageVersion = require('@oxc-resolver/binding-openharmony-arm/package.json').version
- if (bindingPackageVersion !== '11.11.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
- throw new Error(`Native binding package version mismatch, expected 11.11.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ if (bindingPackageVersion !== '11.12.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 11.12.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
diff --git a/package.json b/package.json
index f74bc9eb..3c218535 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "oxc-resolver",
- "version": "11.11.1",
+ "version": "11.12.0",
"license": "MIT",
"description": "Oxc Resolver Node API",
"packageManager": "pnpm@10.19.0",
From 9de30883232082e425ae0c837c69adf07e8570e6 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 27 Oct 2025 19:52:19 +0000
Subject: [PATCH 09/53] chore(deps): update rust crate pnp to v0.12.4 (#789)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [pnp](https://yarnpkg.com)
([source](https://redirect.github.com/yarnpkg/pnp-rs)) | dependencies |
patch | `0.12.3` -> `0.12.4` |
---
### Release Notes
yarnpkg/pnp-rs (pnp)
###
[`v0.12.4`](https://redirect.github.com/yarnpkg/pnp-rs/blob/HEAD/CHANGELOG.md#0124---2025-10-27)
[Compare
Source](https://redirect.github.com/yarnpkg/pnp-rs/compare/v0.12.3...v0.12.4)
##### Other
- use dirs-next
([#63](https://redirect.github.com/yarnpkg/pnp-rs/pull/63))
- *(deps)* lock file maintenance
([#62](https://redirect.github.com/yarnpkg/pnp-rs/pull/62))
- *(deps)* lock file maintenance
([#61](https://redirect.github.com/yarnpkg/pnp-rs/pull/61))
- *(deps)* lock file maintenance
([#60](https://redirect.github.com/yarnpkg/pnp-rs/pull/60))
- *(deps)* lock file maintenance rust crates
([#59](https://redirect.github.com/yarnpkg/pnp-rs/pull/59))
- *(deps)* lock file maintenance rust crates
([#58](https://redirect.github.com/yarnpkg/pnp-rs/pull/58))
- *(deps)* lock file maintenance npm packages
([#57](https://redirect.github.com/yarnpkg/pnp-rs/pull/57))
- *(deps)* lock file maintenance rust crates
([#56](https://redirect.github.com/yarnpkg/pnp-rs/pull/56))
- *(deps)* lock file maintenance npm packages
([#55](https://redirect.github.com/yarnpkg/pnp-rs/pull/55))
- *(deps)* update dependency rust to v1.90.0
([#54](https://redirect.github.com/yarnpkg/pnp-rs/pull/54))
- *(deps)* lock file maintenance rust crates
([#52](https://redirect.github.com/yarnpkg/pnp-rs/pull/52))
- *(deps)* lock file maintenance npm packages
([#51](https://redirect.github.com/yarnpkg/pnp-rs/pull/51))
---
### 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.
---
- [ ] 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).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
Cargo.lock | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index f7bc10d7..667c5e2c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -301,7 +301,7 @@ dependencies = [
"libc",
"option-ext",
"redox_users",
- "windows-sys 0.61.2",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -347,9 +347,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
[[package]]
name = "endian-type"
-version = "0.1.2"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
+checksum = "869b0adbda23651a9c5c0c3d270aac9fcb52e8622a8f2b17e57802d7791962f2"
[[package]]
name = "equivalent"
@@ -893,13 +893,12 @@ checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
[[package]]
name = "pnp"
-version = "0.12.3"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a10a726fb86dab6571b148c0f52cf619a4aabf0ac4fcf578bd4cd2178fb0e6d0"
+checksum = "7adbc1ab7344e1e77be663e91cb129e989e398c319df7a9b8dbda9dd6758df38"
dependencies = [
"byteorder",
"concurrent_lru",
- "dirs",
"fancy-regex",
"miniz_oxide",
"pathdiff",
@@ -945,9 +944,9 @@ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "radix_trie"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
+checksum = "3b4431027dcd37fc2a73ef740b5f233aa805897935b8bce0195e41bbf9a3289a"
dependencies = [
"endian-type",
"nibble_vec",
@@ -1064,7 +1063,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b55fb86dfd3a2f5f76ea78310a88f96c4ea21a3031f8d212443d56123fd0521"
dependencies = [
"libc",
- "windows-sys 0.61.2",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -1433,7 +1432,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
- "windows-sys 0.61.2",
+ "windows-sys 0.59.0",
]
[[package]]
From 1a8a76659bc561d5e85aae4c8026ff5c7bd79e17 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 30 Oct 2025 22:45:49 +0000
Subject: [PATCH 10/53] chore(deps): update dependency rust to v1.91.0 (#792)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [rust](https://redirect.github.com/rust-lang/rust) | minor | `1.90.0`
-> `1.91.0` |
---
### Release Notes
rust-lang/rust (rust)
###
[`v1.91.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1910-2025-10-30)
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.90.0...1.91.0)
\==========================
## Language
- [Lower pattern bindings in the order they're written and base drop
order on primary bindings'
order](https://redirect.github.com/rust-lang/rust/pull/143764)
- [Stabilize declaration of C-style variadic functions for `sysv64`,
`win64`, `efiapi`, and `aapcs`
ABIs](https://redirect.github.com/rust-lang/rust/pull/144066).
This brings these ABIs in line with the C ABI: variadic functions can be
declared in extern blocks but not defined.
- [Add `dangling_pointers_from_locals` lint to warn against dangling
pointers from local
variables](https://redirect.github.com/rust-lang/rust/pull/144322)
- [Upgrade `semicolon_in_expressions_from_macros` from warn to
deny](https://redirect.github.com/rust-lang/rust/pull/144369)
- [Stabilize LoongArch32 inline
assembly](https://redirect.github.com/rust-lang/rust/pull/144402)
- [Add warn-by-default `integer_to_ptr_transmutes` lint against
integer-to-pointer
transmutes](https://redirect.github.com/rust-lang/rust/pull/144531)
- [Stabilize `sse4a` and `tbm` target
features](https://redirect.github.com/rust-lang/rust/pull/144542)
- [Add `target_env = "macabi"` and `target_env = "sim"`
cfgs](https://redirect.github.com/rust-lang/rust/pull/139451) as
replacements for the `target_abi` cfgs with the same values.
## Compiler
- [Don't warn on never-to-any `as` casts as
unreachable](https://redirect.github.com/rust-lang/rust/pull/144804)
## Platform Support
- [Promote `aarch64-pc-windows-gnullvm` and `x86_64-pc-windows-gnullvm`
to Tier 2 with host
tools.](https://redirect.github.com/rust-lang/rust/pull/143031)
Note: llvm-tools and MSI installers are missing but will be added in
future releases.
- [Promote `aarch64-pc-windows-msvc` to Tier
1](https://redirect.github.com/rust-lang/rust/pull/145682)
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html
## Libraries
- [Print thread ID in panic
message](https://redirect.github.com/rust-lang/rust/pull/115746)
- [Fix overly restrictive lifetime in `core::panic::Location::file`
return type](https://redirect.github.com/rust-lang/rust/pull/132087)
- [Guarantee parameter order for `_by()` variants of `min` / `max`/
`minmax` in
`std::cmp`](https://redirect.github.com/rust-lang/rust/pull/139357)
- [Document assumptions about `Clone` and `Eq`
traits](https://redirect.github.com/rust-lang/rust/pull/144330/)
- [`std::thread`: Return error if setting thread stack size
fails](https://redirect.github.com/rust-lang/rust/pull/144210)
This used to panic within the standard library.
## Stabilized APIs
-
[`Path::file_prefix`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#method.file_prefix)
-
[`AtomicPtr::fetch_ptr_add`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_ptr_add)
-
[`AtomicPtr::fetch_ptr_sub`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_ptr_sub)
-
[`AtomicPtr::fetch_byte_add`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_byte_add)
-
[`AtomicPtr::fetch_byte_sub`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_byte_sub)
-
[`AtomicPtr::fetch_or`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_or)
-
[`AtomicPtr::fetch_and`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_and)
-
[`AtomicPtr::fetch_xor`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_xor)
-
[`{integer}::strict_add`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_add)
-
[`{integer}::strict_sub`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_sub)
-
[`{integer}::strict_mul`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_mul)
-
[`{integer}::strict_div`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_div)
-
[`{integer}::strict_div_euclid`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_div_euclid)
-
[`{integer}::strict_rem`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_rem)
-
[`{integer}::strict_rem_euclid`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_rem_euclid)
-
[`{integer}::strict_neg`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_neg)
-
[`{integer}::strict_shl`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_shl)
-
[`{integer}::strict_shr`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_shr)
-
[`{integer}::strict_pow`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_pow)
-
[`i{N}::strict_add_unsigned`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_add_unsigned)
-
[`i{N}::strict_sub_unsigned`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_sub_unsigned)
-
[`i{N}::strict_abs`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_abs)
-
[`u{N}::strict_add_signed`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_add_signed)
-
[`u{N}::strict_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_sub_signed)
-
[`PanicHookInfo::payload_as_str`](https://doc.rust-lang.org/stable/std/panic/struct.PanicHookInfo.html#method.payload_as_str)
-
[`core::iter::chain`](https://doc.rust-lang.org/stable/core/iter/fn.chain.html)
-
[`u{N}::checked_signed_diff`](https://doc.rust-lang.org/stable/std/primitive.u16.html#method.checked_signed_diff)
-
[`core::array::repeat`](https://doc.rust-lang.org/stable/core/array/fn.repeat.html)
-
[`PathBuf::add_extension`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.add_extension)
-
[`PathBuf::with_added_extension`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.with_added_extension)
-
[`Duration::from_mins`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_mins)
-
[`Duration::from_hours`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_hours)
- [`impl PartialEq for
PathBuf`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#impl-PartialEq%3Cstr%3E-for-PathBuf)
- [`impl PartialEq for
PathBuf`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#impl-PartialEq%3CString%3E-for-PathBuf)
- [`impl PartialEq for
Path`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#impl-PartialEq%3Cstr%3E-for-Path)
- [`impl PartialEq for
Path`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#impl-PartialEq%3CString%3E-for-Path)
- [`impl PartialEq for
String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-PartialEq%3CPathBuf%3E-for-String)
- [`impl PartialEq for
String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-PartialEq%3CPath%3E-for-String)
- [`impl PartialEq for
str`](https://doc.rust-lang.org/stable/std/primitive.str.html#impl-PartialEq%3CPathBuf%3E-for-str)
- [`impl PartialEq for
str`](https://doc.rust-lang.org/stable/std/primitive.str.html#impl-PartialEq%3CPath%3E-for-str)
-
[`Ipv4Addr::from_octets`](https://doc.rust-lang.org/stable/std/net/struct.Ipv4Addr.html#method.from_octets)
-
[`Ipv6Addr::from_octets`](https://doc.rust-lang.org/stable/std/net/struct.Ipv6Addr.html#method.from_octets)
-
[`Ipv6Addr::from_segments`](https://doc.rust-lang.org/stable/std/net/struct.Ipv6Addr.html#method.from_segments)
- [`impl Default for Pin> where Box: Default, T:
?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CBox%3CT%3E%3E)
- [`impl Default for Pin> where Rc: Default, T:
?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CRc%3CT%3E%3E)
- [`impl Default for Pin> where Arc: Default, T:
?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CArc%3CT%3E%3E)
-
[`Cell::as_array_of_cells`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.as_array_of_cells)
-
[`u{N}::carrying_add`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_add)
-
[`u{N}::borrowing_sub`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.borrowing_sub)
-
[`u{N}::carrying_mul`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_mul)
-
[`u{N}::carrying_mul_add`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_mul_add)
-
[`BTreeMap::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.extract_if)
-
[`BTreeSet::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html#method.extract_if)
- [`impl Debug for
windows::ffi::EncodeWide<'_>`](https://doc.rust-lang.org/stable/std/os/windows/ffi/struct.EncodeWide.html#impl-Debug-for-EncodeWide%3C'_%3E)
-
[`str::ceil_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.ceil_char_boundary)
-
[`str::floor_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.floor_char_boundary)
- [`impl Sum for
Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Sum-for-Saturating%3Cu32%3E)
- [`impl Sum<&Self> for
Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Sum%3C%26Saturating%3Cu32%3E%3E-for-Saturating%3Cu32%3E)
- [`impl Product for
Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Product-for-Saturating%3Cu32%3E)
- [`impl Product<&Self> for
Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Product%3C%26Saturating%3Cu32%3E%3E-for-Saturating%3Cu32%3E)
These previously stable APIs are now stable in const contexts:
- [`<[T;
N]>::each_ref`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_ref)
- [`<[T;
N]>::each_mut`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_mut)
-
[`OsString::new`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.new)
-
[`PathBuf::new`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.new)
-
[`TypeId::of`](https://doc.rust-lang.org/stable/std/any/struct.TypeId.html#method.of)
-
[`ptr::with_exposed_provenance`](https://doc.rust-lang.org/stable/std/ptr/fn.with_exposed_provenance.html)
-
[`ptr::with_exposed_provenance_mut`](https://doc.rust-lang.org/stable/std/ptr/fn.with_exposed_provenance_mut.html)
## Cargo
- 🎉 Stabilize `build.build-dir`.
This config sets the directory where intermediate build artifacts are
stored.
These artifacts are produced by Cargo and rustc during the build
process.
End users usually won't need to interact with them, and the layout
inside
`build-dir` is an implementation detail that may change without notice.
([config
doc](https://doc.rust-lang.org/stable/cargo/reference/config.html#buildbuild-dir))
([build cache
doc](https://doc.rust-lang.org/stable/cargo/reference/build-cache.html))
[#15833](https://redirect.github.com/rust-lang/cargo/pull/15833)
[#15840](https://redirect.github.com/rust-lang/cargo/pull/15840)
- The `--target` flag and the `build.target` configuration can now take
literal
`"host-tuple"` string, which will internally be substituted by the host
machine's target triple.
[#15838](https://redirect.github.com/rust-lang/cargo/pull/15838)
[#16003](https://redirect.github.com/rust-lang/cargo/pull/16003)
[#16032](https://redirect.github.com/rust-lang/cargo/pull/16032)
## Rustdoc
- [In search results, rank doc aliases lower than non-alias items with
the same name](https://redirect.github.com/rust-lang/rust/pull/145100)
- [Raw pointers now work in type-based search like
references](https://redirect.github.com/rust-lang/rust/pull/145731).
This means you can now search for things like `*const u8 ->`, and
additionally functions that take or return raw pointers will now display
their signature properly in search results.
## Compatibility Notes
- [Always require coroutine captures to be
drop-live](https://redirect.github.com/rust-lang/rust/pull/144156)
- [Apple: Always pass SDK root when linking with `cc`, and pass it via
`SDKROOT` env
var](https://redirect.github.com/rust-lang/rust/pull/131477). This
should fix linking issues with `rustc` running inside Xcode. Libraries
in `/usr/local/lib` may no longer be linked automatically, if you
develop or use a crate that relies on this, you should explicitly set
`cargo::rustc-link-search=/usr/local/lib` in a `build.rs` script.
- [Relaxed bounds in associated type bound position like in
`TraitRef` are now correctly
forbidden](https://redirect.github.com/rust-lang/rust/pull/135331)
- [Add unstable `#[sanitize(xyz = "on|off")]` built-in attribute that
shadows procedural macros with the same
name](https://redirect.github.com/rust-lang/rust/pull/142681)
- [Fix the drop checker being more permissive for bindings declared with
let-else](https://redirect.github.com/rust-lang/rust/pull/143028)
- [Be more strict when parsing attributes, erroring on many invalid
attributes](https://redirect.github.com/rust-lang/rust/pull/144689)
- [Error on invalid `#[should_panic]`
attributes](https://redirect.github.com/rust-lang/rust/pull/143808)
- [Error on invalid `#[link]`
attributes](https://redirect.github.com/rust-lang/rust/pull/143193)
- [Mark all deprecation lints in name resolution as deny-by-default and
also report in
dependencies](https://redirect.github.com/rust-lang/rust/pull/143929)
- The lint `semicolon_in_expressions_from_macros`, for `macro_rules!`
macros in expression position that expand to end in a semicolon (`;`),
is now deny-by-default. It was already warn-by-default, and a future
compatibility warning (FCW) that warned even in dependencies. This lint
will become a hard error in the future.
- [Trait impl modifiers (e.g., `unsafe`, `!`, `default`) in inherent
impls are no longer syntactically
valid](https://redirect.github.com/rust-lang/rust/pull/144386)
- [Start reporting future breakage for `ill_formed_attribute_input` in
dependencies](https://redirect.github.com/rust-lang/rust/pull/144544)
- [Restrict the scope of temporaries created by the macros `pin!`,
`format_args!`, `write!`, and `writeln!` in `if let` scrutinees in Rust
Edition 2024.](https://redirect.github.com/rust-lang/rust/pull/145342)
This applies [Rust Edition 2024's `if let` temporary scope
rules](https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html)
to these temporaries, which previously could live past the `if`
expression regardless of Edition.
- [Invalid numeric literal suffixes in tuple indexing, tuple struct
indexing, and struct field name positions are now correctly
rejected](https://redirect.github.com/rust-lang/rust/pull/145463)
- [Closures marked with the keyword `static` are now syntactically
invalid](https://redirect.github.com/rust-lang/rust/pull/145604)
- [Shebangs inside `--cfg` and `--check-cfg` arguments are no longer
allowed](https://redirect.github.com/rust-lang/rust/pull/146211)
- [Add future incompatibility lint for temporary lifetime shortening in
Rust 1.92](https://redirect.github.com/rust-lang/rust/pull/147056)
Cargo compatibility notes:
- `cargo publish` no longer keeps `.crate` tarballs as final build
artifacts
when `build.build-dir` is set. These tarballs were previously included
due to
an oversight and are now treated as intermediate artifacts.
To get `.crate` tarballs as final artifacts, use `cargo package`.
In a future version, this change will apply regardless of
`build.build-dir`.
[#15910](https://redirect.github.com/rust-lang/cargo/pull/15910)
- Adjust Cargo messages to match rustc diagnostic style.
This changes some of the terminal colors used by Cargo messages.
[#15928](https://redirect.github.com/rust-lang/cargo/pull/15928)
- Tools and projects relying on the
[internal details of Cargo's
`build-dir`](https://doc.rust-lang.org/cargo/reference/build-cache.html)
may not work for users changing their `build-dir` layout.
For those doing so, we'd recommend proactively testing these cases
particularly as we are considering changing the default location of the
`build-dir` in the future
([cargo#16147](https://redirect.github.com/rust-lang/cargo/issues/16147)).
If you can't migrate off of Cargo's internal details,
we'd like to learn more about your use case as we prepare to change the
layout of the `build-dir`
([cargo#15010](https://redirect.github.com/rust-lang/cargo/issues/15010)).
## 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.
- [Update to LLVM
21](https://redirect.github.com/rust-lang/rust/pull/143684)
---
### 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.
---
- [ ] 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).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
rust-toolchain.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 2ce412d5..1612370a 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,3 +1,3 @@
[toolchain]
-channel = "1.90.0"
+channel = "1.91.0"
profile = "default"
From f74efe24b5fa718c4741cef721db591f5bf72ab1 Mon Sep 17 00:00:00 2001
From: Boshen <1430279+Boshen@users.noreply.github.com>
Date: Fri, 31 Oct 2025 06:57:51 +0000
Subject: [PATCH 11/53] feat: improve error message for empty package.json
files (#793)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Summary
Improves error messages for empty package.json files by returning a clear "File is empty" message instead of the cryptic "EOF while parsing a value at line 1 column 0".
## Changes
- Add empty file check in `PackageJson::parse()` for both simd and serde implementations
- Return `JSONError` with "File is empty" message before attempting JSON parsing
- Update tests to expect new error message
- Add comprehensive test suite for various corrupted package.json scenarios
## Error Message Improvement
**Before:**
```
EOF while parsing a value at line 1 column 0
```
**After:**
```
File is empty
```
## Test Plan
- ✅ All existing tests pass (150/150)
- ✅ Added new test `test_corrupted_package_json` covering multiple scenarios:
- Empty file
- Null bytes
- Trailing commas
- Unclosed braces
- Invalid escapes
- ✅ Updated `incorrect_description_file_2` test for new error message
- ✅ Clippy passes with no warnings
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
src/package_json/mod.rs | 13 ++++-
src/package_json/serde.rs | 3 ++
src/package_json/simd.rs | 3 ++
src/tests/incorrect_description_file.rs | 4 +-
src/tests/package_json.rs | 63 ++++++++++++++++++++++++-
5 files changed, 82 insertions(+), 4 deletions(-)
diff --git a/src/package_json/mod.rs b/src/package_json/mod.rs
index ab824465..9377b84d 100644
--- a/src/package_json/mod.rs
+++ b/src/package_json/mod.rs
@@ -14,7 +14,18 @@ pub use serde::*;
#[cfg(target_endian = "little")]
pub use simd::*;
-use std::fmt;
+use std::{fmt, path::PathBuf};
+
+use crate::JSONError;
+
+/// Check if JSON content is empty or contains only whitespace
+fn check_if_empty(json_bytes: &[u8], path: PathBuf) -> Result<(), JSONError> {
+ // Check if content is empty or whitespace-only
+ if json_bytes.iter().all(|&b| b.is_ascii_whitespace()) {
+ return Err(JSONError { path, message: "File is empty".to_string(), line: 0, column: 0 });
+ }
+ Ok(())
+}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum PackageType {
diff --git a/src/package_json/serde.rs b/src/package_json/serde.rs
index 0534432e..adb99b38 100644
--- a/src/package_json/serde.rs
+++ b/src/package_json/serde.rs
@@ -228,6 +228,9 @@ impl PackageJson {
json.as_str()
};
+ // Check if empty after BOM stripping
+ super::check_if_empty(json_string.as_bytes(), path.clone())?;
+
// Parse JSON
let value = serde_json::from_str::(json_string).map_err(|error| JSONError {
path: path.clone(),
diff --git a/src/package_json/simd.rs b/src/package_json/simd.rs
index 59f1bb6e..f777394f 100644
--- a/src/package_json/simd.rs
+++ b/src/package_json/simd.rs
@@ -262,6 +262,9 @@ impl PackageJson {
json_bytes[2] = b' ';
}
+ // Check if empty after BOM stripping
+ super::check_if_empty(&json_bytes, path.clone())?;
+
// Create the self-cell with the JSON bytes and parsed BorrowedValue
let cell = PackageJsonCell::try_new(json_bytes.clone(), |bytes| {
// We need a mutable slice from our owned data
diff --git a/src/tests/incorrect_description_file.rs b/src/tests/incorrect_description_file.rs
index db110ed4..d12f6bbb 100644
--- a/src/tests/incorrect_description_file.rs
+++ b/src/tests/incorrect_description_file.rs
@@ -31,8 +31,8 @@ fn incorrect_description_file_2() {
let resolution = Resolver::default().resolve(f.join("pack2"), ".");
let error = ResolveError::Json(JSONError {
path: f.join("pack2/package.json"),
- message: String::from("EOF while parsing a value at line 1 column 0"),
- line: 1,
+ message: String::from("File is empty"),
+ line: 0,
column: 0,
});
assert_eq!(resolution, Err(error));
diff --git a/src/tests/package_json.rs b/src/tests/package_json.rs
index 23e04093..45643475 100644
--- a/src/tests/package_json.rs
+++ b/src/tests/package_json.rs
@@ -1,6 +1,6 @@
//! Tests for `Resolution::package_json`.
-use crate::Resolver;
+use crate::{ResolveError, Resolver};
#[test]
fn test() {
@@ -62,3 +62,64 @@ fn package_json_with_symlinks_true() {
let package_json_path = package_json.as_ref().map(|p| &p.path);
assert_eq!(package_json_path, Some(&resolved_package_json_path));
}
+
+#[test]
+#[cfg(not(target_os = "windows"))] // MemoryFS's path separator is always `/` so the test will not pass in windows.
+fn test_corrupted_package_json() {
+ use std::path::Path;
+
+ use super::memory_fs::MemoryFS;
+ use crate::{ResolveOptions, ResolverGeneric};
+
+ // Test scenarios for various corrupted package.json files
+ let scenarios = [
+ ("empty_file", "", "File is empty"),
+ ("null_byte_at_start", "\0", "expected value"),
+ ("json_with_embedded_null", "{\"name\":\0\"test\"}", "expected value"),
+ ("trailing_comma", "{\"name\":\"test\",}", "trailing comma"),
+ ("unclosed_brace", "{\"name\":\"test\"", "EOF while parsing"),
+ ("invalid_escape", "{\"name\":\"test\\x\"}", "escape"),
+ ];
+
+ for (name, content, expected_message_contains) in scenarios {
+ let mut fs = MemoryFS::default();
+
+ // Write corrupted package.json
+ fs.add_file(Path::new("/test/package.json"), content);
+
+ // Create a simple index.js so resolution can proceed
+ fs.add_file(Path::new("/test/index.js"), "export default 42;");
+
+ // Create resolver with VFS
+ let resolver = ResolverGeneric::new_with_file_system(fs, ResolveOptions::default());
+
+ // Attempt to resolve - should fail with JSONError
+ let result = resolver.resolve(Path::new("/test"), "./index.js");
+
+ match result {
+ Err(ResolveError::Json(json_error)) => {
+ assert!(
+ json_error
+ .message
+ .to_lowercase()
+ .contains(&expected_message_contains.to_lowercase()),
+ "Test case '{name}': Expected error message to contain '{expected_message_contains}', but got: {}",
+ json_error.message
+ );
+ assert!(
+ json_error.path.ends_with("package.json"),
+ "Test case '{name}': Expected path to end with 'package.json', but got: {:?}",
+ json_error.path
+ );
+ }
+ Err(other_error) => {
+ panic!("Test case '{name}': Expected JSONError but got: {other_error:?}");
+ }
+ Ok(resolution) => {
+ panic!(
+ "Test case '{name}': Expected error but resolution succeeded: {resolution:?}"
+ );
+ }
+ }
+ }
+}
From cbed2794a70a372900171a4e5ce36a01d770903a Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 31 Oct 2025 16:32:50 +0000
Subject: [PATCH 12/53] chore(deps): update crate-ci/typos action to v1.39.0
(#798)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| minor | `v1.38.1` -> `v1.39.0` |
---
### Release Notes
crate-ci/typos (crate-ci/typos)
###
[`v1.39.0`](https://redirect.github.com/crate-ci/typos/blob/HEAD/CHANGELOG.md#014---2019-11-03)
[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.38.1...v1.39.0)
##### Bug Fixes
- Ignore numbers as identifiers
([a00831c8](https://redirect.github.com/crate-ci/typos/commit/a00831c847b7efd81be520ea9b5d02f70555351f))
- Improve the organization of --help
([a48a457c](https://redirect.github.com/crate-ci/typos/commit/a48a457cc3ca817850118e2a2fb8b20fecdd40b8))
##### Features
- Dump files, identifiers, and words
([ce365ae1](https://redirect.github.com/crate-ci/typos/commit/ce365ae12e12fddfb6fc42a7f1e5ea71834d6051),
closes
[#41](https://redirect.github.com/crate-ci/typos/issues/41))
- Give control over allowed identifier characters for leading vs rest
([107308a6](https://redirect.github.com/crate-ci/typos/commit/107308a655a425eb593bf5e4928572c16e6a9bdd))
##### Performance
- Use standard identifier rules to avoid doing umber checks
([107308a6](https://redirect.github.com/crate-ci/typos/commit/107308a655a425eb593bf5e4928572c16e6a9bdd))
- Only do hex check if digits are in identifiers
([68cd36d0](https://redirect.github.com/crate-ci/typos/commit/68cd36d0de90226dbc9d31c2ce6d8bf6b69adb5c))
[Unreleased]:
https://redirect.github.com/crate-ci/typos/compare/v1.39.0...HEAD
[1.39.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.38.1...v1.39.0
[1.38.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.38.0...v1.38.1
[1.38.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.37.3...v1.38.0
[1.37.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.37.2...v1.37.3
[1.37.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.37.1...v1.37.2
[1.37.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.37.0...v1.37.1
[1.37.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.36.3...v1.37.0
[1.36.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.36.2...v1.36.3
[1.36.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.36.1...v1.36.2
[1.36.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.36.0...v1.36.1
[1.36.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.8...v1.36.0
[1.35.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.7...v1.35.8
[1.35.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.6...v1.35.7
[1.35.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.5...v1.35.6
[1.35.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.4...v1.35.5
[1.35.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.3...v1.35.4
[1.35.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.2...v1.35.3
[1.35.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.1...v1.35.2
[1.35.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.35.0...v1.35.1
[1.35.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.34.0...v1.35.0
[1.34.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.33.1...v1.34.0
[1.33.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.33.0...v1.33.1
[1.33.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.32.0...v1.33.0
[1.32.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.31.2...v1.32.0
[1.31.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.31.1...v1.31.2
[1.31.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.31.0...v1.31.1
[1.31.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.30.3...v1.31.0
[1.30.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.30.2...v1.30.3
[1.30.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.30.1...v1.30.2
[1.30.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.30.0...v1.30.1
[1.30.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.10...v1.30.0
[1.29.10]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.9...v1.29.10
[1.29.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.8...v1.29.9
[1.29.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.7...v1.29.8
[1.29.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.6...v1.29.7
[1.29.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.5...v1.29.6
[1.29.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.4...v1.29.5
[1.29.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.3...v1.29.4
[1.29.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.2...v1.29.3
[1.29.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.1...v1.29.2
[1.29.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.29.0...v1.29.1
[1.29.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.28.4...v1.29.0
[1.28.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.28.3...v1.28.4
[1.28.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.28.2...v1.28.3
[1.28.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.28.1...v1.28.2
[1.28.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.28.0...v1.28.1
[1.28.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.27.3...v1.28.0
[1.27.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.27.2...v1.27.3
[1.27.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.27.1...v1.27.2
[1.27.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.27.0...v1.27.1
[1.27.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.8...v1.27.0
[1.26.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.7...v1.26.8
[1.26.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.6...v1.26.7
[1.26.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.5...v1.26.6
[1.26.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.4...v1.26.5
[1.26.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.3...v1.26.4
[1.26.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.2...v1.26.3
[1.26.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.1...v1.26.2
[1.26.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.26.0...v1.26.1
[1.26.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.25.0...v1.26.0
[1.25.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.24.6...v1.25.0
[1.24.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.24.5...v1.24.6
[1.24.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.24.4...v1.24.5
[1.24.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.24.3...v1.24.4
[1.24.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.24.2...v1.24.3
[1.24.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.24.1...v1.24.2
[1.24.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.24.0...v1.24.1
[1.24.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.23.7...v1.24.0
[1.23.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.23.6...v1.23.7
[1.23.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.23.5...v1.23.6
[1.23.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.23.4...v1.23.5
[1.23.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.23.3...v1.23.4
[1.23.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.23.2...v1.23.3
[1.23.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.23.1...v1.23.2
[1.23.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.23.0...v1.23.1
[1.23.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.9...v1.23.0
[1.22.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.8...v1.22.9
[1.22.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.7...v1.22.8
[1.22.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.6...v1.22.7
[1.22.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.5...v1.22.6
[1.22.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.4...v1.22.5
[1.22.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.3...v1.22.4
[1.22.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.2...v1.22.3
[1.22.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.1...v1.22.2
[1.22.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.22.0...v1.22.1
[1.22.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.21.0...v1.22.0
[1.21.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.10...v1.21.0
[1.20.10]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.9...v1.20.10
[1.20.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.8...v1.20.9
[1.20.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.7...v1.20.8
[1.20.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.6...v1.20.7
[1.20.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.5...v1.20.6
[1.20.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.4...v1.20.5
[1.20.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.3...v1.20.4
[1.20.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.2...v1.20.3
[1.20.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.1...v1.20.2
[1.20.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.20.0...v1.20.1
[1.20.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.19.0...v1.20.0
[1.19.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.18.2...v1.19.0
[1.18.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.18.1...v1.18.2
[1.18.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.18.0...v1.18.1
[1.18.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.17.2...v1.18.0
[1.17.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.17.1...v1.17.2
[1.17.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.17.0...v1.17.1
[1.17.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.26...v1.17.0
[1.16.26]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.25...v1.16.26
[1.16.25]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.24...v1.16.25
[1.16.24]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.23...v1.16.24
[1.16.23]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.22...v1.16.23
[1.16.22]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.21...v1.16.22
[1.16.21]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.20...v1.16.21
[1.16.20]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.19...v1.16.20
[1.16.19]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.18...v1.16.19
[1.16.18]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.17...v1.16.18
[1.16.17]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.16...v1.16.17
[1.16.16]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.15...v1.16.16
[1.16.15]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.14...v1.16.15
[1.16.14]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.13...v1.16.14
[1.16.13]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.12...v1.16.13
[1.16.12]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.11...v1.16.12
[1.16.11]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.10...v1.16.11
[1.16.10]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.9...v1.16.10
[1.16.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.8...v1.16.9
[1.16.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.7...v1.16.8
[1.16.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.6...v1.16.7
[1.16.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.5...v1.16.6
[1.16.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.4...v1.16.5
[1.16.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.3...v1.16.4
[1.16.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.2...v1.16.3
[1.16.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.1...v1.16.2
[1.16.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.16.0...v1.16.1
[1.16.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.10...v1.16.0
[1.15.10]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.9...v1.15.10
[1.15.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.8...v1.15.9
[1.15.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.7...v1.15.8
[1.15.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.6...v1.15.7
[1.15.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.5...v1.15.6
[1.15.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.4...v1.15.5
[1.15.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.3...v1.15.4
[1.15.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.2...v1.15.3
[1.15.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.1...v1.15.2
[1.15.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.15.0...v1.15.1
[1.15.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.12...v1.15.0
[1.14.12]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.11...v1.14.12
[1.14.11]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.10...v1.14.11
[1.14.10]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.9...v1.14.10
[1.14.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.8...v1.14.9
[1.14.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.7...v1.14.8
[1.14.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.6...v1.14.7
[1.14.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.5...v1.14.6
[1.14.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.4...v1.14.5
[1.14.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.3...v1.14.4
[1.14.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.2...v1.14.3
[1.14.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.1...v1.14.2
[1.14.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.14.0...v1.14.1
[1.14.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.26...v1.14.0
[1.13.26]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.25...v1.13.26
[1.13.25]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.24...v1.13.25
[1.13.24]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.23...v1.13.24
[1.13.23]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.22...v1.13.23
[1.13.22]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.21...v1.13.22
[1.13.21]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.20...v1.13.21
[1.13.20]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.19...v1.13.20
[1.13.19]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.18...v1.13.19
[1.13.18]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.17...v1.13.18
[1.13.17]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.16...v1.13.17
[1.13.16]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.15...v1.13.16
[1.13.15]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.14...v1.13.15
[1.13.14]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.13...v1.13.14
[1.13.13]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.12...v1.13.13
[1.13.12]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.11...v1.13.12
[1.13.11]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.10...v1.13.11
[1.13.10]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.9...v1.13.10
[1.13.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.8...v1.13.9
[1.13.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.7...v1.13.8
[1.13.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.6...v1.13.7
[1.13.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.5...v1.13.6
[1.13.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.4...v1.13.5
[1.13.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.3...v1.13.4
[1.13.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.2...v1.13.3
[1.13.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.1...v1.13.2
[1.13.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.13.0...v1.13.1
[1.13.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.14...v1.13.0
[1.12.14]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.13...v1.12.14
[1.12.13]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.12...v1.12.13
[1.12.12]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.11...v1.12.12
[1.12.11]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.10...v1.12.11
[1.12.10]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.9...v1.12.10
[1.12.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.8...v1.12.9
[1.12.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.7...v1.12.8
[1.12.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.6...v1.12.7
[1.12.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.5...v1.12.6
[1.12.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.4...v1.12.5
[1.12.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.3...v1.12.4
[1.12.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.2...v1.12.3
[1.12.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.1...v1.12.2
[1.12.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.12.0...v1.12.1
[1.12.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.11.5...v1.12.0
[1.11.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.11.4...v1.11.5
[1.11.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.11.3...v1.11.4
[1.11.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.11.2...v1.11.3
[1.11.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.11.1...v1.11.2
[1.11.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.11.0...v1.11.1
[1.11.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.10.3...v1.11.0
[1.10.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.10.2...v1.10.3
[1.10.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.10.1...v1.10.2
[1.10.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.10.0...v1.10.1
[1.10.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.9.0...v1.10.0
[1.9.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.8.1...v1.9.0
[1.8.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.8.0...v1.8.1
[1.8.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.7.3...v1.8.0
[1.7.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.7.2...v1.7.3
[1.7.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.7.1...v1.7.2
[1.7.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.7.0...v1.7.1
[1.7.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.6.0...v1.7.0
[1.6.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.5.0...v1.6.0
[1.5.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.4.1...v1.5.0
[1.4.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.4.0...v1.4.1
[1.4.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.9...v1.4.0
[1.3.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.8...v1.3.9
[1.3.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.7...v1.3.8
[1.3.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.6...v1.3.7
[1.3.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.5...v1.3.6
[1.3.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.4...v1.3.5
[1.3.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.3...v1.3.4
[1.3.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.2...v1.3.3
[1.3.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.1...v1.3.2
[1.3.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.3.0...v1.3.1
[1.3.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.2.1...v1.3.0
[1.2.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.2.0...v1.2.1
[1.2.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.9...v1.2.0
[1.1.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.8...v1.1.9
[1.1.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.7...v1.1.8
[1.1.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.6...v1.1.7
[1.1.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.5...v1.1.6
[1.1.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.4...v1.1.5
[1.1.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.3...v1.1.4
[1.1.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.2...v1.1.3
[1.1.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.1...v1.1.2
[1.1.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.1.0...v1.1.1
[1.1.0]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.11...v1.1.0
[1.0.11]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.10...v1.0.11
[1.0.10]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.9...v1.0.10
[1.0.9]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.8...v1.0.9
[1.0.8]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.7...v1.0.8
[1.0.7]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.6...v1.0.7
[1.0.6]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.5...v1.0.6
[1.0.5]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.4...v1.0.5
[1.0.4]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.3...v1.0.4
[1.0.3]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.2...v1.0.3
[1.0.2]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.1...v1.0.2
[1.0.1]:
https://redirect.github.com/crate-ci/typos/compare/v1.0.0...v1.0.1
[1.0.0]:
https://redirect.github.com/crate-ci/typos/compare/v0.4.0...v1.0.0
[0.4.0]:
https://redirect.github.com/crate-ci/typos/compare/v0.3.0...v0.4.0
[0.3.0]:
https://redirect.github.com/crate-ci/typos/compare/v0.2.0...v0.3.0
[0.2.0]:
https://redirect.github.com/crate-ci/typos/compare/v0.1.4...v0.2.0
---
### 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.
---
- [ ] 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).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/ci.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f78bb68f..37bad95a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -76,7 +76,7 @@ jobs:
components: clippy rust-docs
- run: cargo clippy --all-features --all-targets -- -D warnings
- run: RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --all-features
- - uses: crate-ci/typos@80c8a4945eec0f6d464eaf9e65ed98ef085283d1 # v1.38.1
+ - uses: crate-ci/typos@07d900b8fa1097806b8adb6391b0d3e0ac2fdea7 # v1.39.0
with:
files: .
From cc28e957dbaa9eb6ff1a015f6ce6de0ec0a70496 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0?=
Date: Sun, 2 Nov 2025 13:36:03 +0900
Subject: [PATCH 13/53] fix: don't drop canonicalized path by cache clear
(#791)
`Canonicalized path was dropped` error started to happen when I started
to call `resolver.cache_clear()` frequently (so that I can clear the
cache for each resolution to support
https://github.com/vitest-dev/vitest/issues/8754#issuecomment-3441115032).
My guess of the cause is:
- `resolver.cache_clear()` is called while a resolution is happening
- `self.paths` is cleared because of that call
- this `Arc::downgrade` removes the last strong reference:
https://github.com/oxc-project/oxc-resolver/blob/9de30883232082e425ae0c837c69adf07e8570e6/src/cache/cache_impl.rs#L283
- this `weak.upgrade()` errors:
https://github.com/oxc-project/oxc-resolver/blob/9de30883232082e425ae0c837c69adf07e8570e6/src/cache/cache_impl.rs#L288
This PR solves that by using `Mutex>>` instead of
`OnceLock>`. Since `weak.upgrade()` may return None, I changed
the code to resolve when `weak` returned None. The previous code assumed
that `weak.upgrade()` always returns a value and that allowed us to use
`OnceLock`.
I guess this will have a negative impact on perf...
---
src/cache/cache_impl.rs | 86 +++++++++++++++++-----------------------
src/cache/cached_path.rs | 6 +--
2 files changed, 39 insertions(+), 53 deletions(-)
diff --git a/src/cache/cache_impl.rs b/src/cache/cache_impl.rs
index e9e38eaf..c38f6061 100644
--- a/src/cache/cache_impl.rs
+++ b/src/cache/cache_impl.rs
@@ -234,60 +234,46 @@ impl Cache {
return Err(io::Error::new(io::ErrorKind::NotFound, "Circular symlink").into());
}
- path.canonicalized
- .get_or_init(|| {
- path.canonicalizing.store(tid, Ordering::Release);
-
- let res = path.parent().map_or_else(
- || Ok(path.normalize_root(self)),
- |parent| {
- self.canonicalize_impl(&parent).and_then(|parent_canonical| {
- let normalized = parent_canonical.normalize_with(
- path.path().strip_prefix(parent.path()).unwrap(),
- self,
- );
+ let mut canonicalized_guard = path.canonicalized.lock().unwrap();
+ let canonicalized = canonicalized_guard.clone()?;
+ if let Some(cached_path) = canonicalized.upgrade() {
+ return Ok(CachedPath(cached_path));
+ }
- if self.fs.symlink_metadata(path.path()).is_ok_and(|m| m.is_symlink) {
- let link = self.fs.read_link(normalized.path())?;
- if link.is_absolute() {
- return self.canonicalize_impl(&self.value(&link.normalize()));
- } else if let Some(dir) = normalized.parent() {
- // Symlink is relative `../../foo.js`, use the path directory
- // to resolve this symlink.
- return self
- .canonicalize_impl(&dir.normalize_with(&link, self));
- }
- debug_assert!(
- false,
- "Failed to get path parent for {}.",
- normalized.path().display()
- );
- }
+ path.canonicalizing.store(tid, Ordering::Release);
- Ok(normalized)
- })
- },
- );
+ let res = path.parent().map_or_else(
+ || Ok(path.normalize_root(self)),
+ |parent| {
+ self.canonicalize_impl(&parent).and_then(|parent_canonical| {
+ let normalized = parent_canonical
+ .normalize_with(path.path().strip_prefix(parent.path()).unwrap(), self);
- path.canonicalizing.store(0, Ordering::Release);
- // Store the canonicalized path in the cache before downgrading to weak reference
- // This ensures there's always at least one strong reference to prevent dropping
- if let Ok(ref cp) = res {
- // Only insert if not already present to avoid unnecessary operations
- let paths = self.paths.pin();
- if !paths.contains(cp) {
- paths.insert(cp.clone());
+ if self.fs.symlink_metadata(path.path()).is_ok_and(|m| m.is_symlink) {
+ let link = self.fs.read_link(normalized.path())?;
+ if link.is_absolute() {
+ return self.canonicalize_impl(&self.value(&link.normalize()));
+ } else if let Some(dir) = normalized.parent() {
+ // Symlink is relative `../../foo.js`, use the path directory
+ // to resolve this symlink.
+ return self.canonicalize_impl(&dir.normalize_with(&link, self));
+ }
+ debug_assert!(
+ false,
+ "Failed to get path parent for {}.",
+ normalized.path().display()
+ );
}
- }
- // Convert to Weak reference for storage
- res.map(|cp| Arc::downgrade(&cp.0))
- })
- .as_ref()
- .map_err(Clone::clone)
- .and_then(|weak| {
- weak.upgrade().map(CachedPath).ok_or_else(|| {
- ResolveError::from(io::Error::other("Canonicalized path was dropped"))
+
+ Ok(normalized)
})
- })
+ },
+ );
+
+ path.canonicalizing.store(0, Ordering::Release);
+ // Convert to Weak reference for storage
+ *canonicalized_guard = res.as_ref().map_err(Clone::clone).map(|cp| Arc::downgrade(&cp.0));
+
+ res
}
}
diff --git a/src/cache/cached_path.rs b/src/cache/cached_path.rs
index 1ff11f5e..af676545 100644
--- a/src/cache/cached_path.rs
+++ b/src/cache/cached_path.rs
@@ -4,7 +4,7 @@ use std::{
hash::{Hash, Hasher},
ops::Deref,
path::{Component, Path, PathBuf},
- sync::{Arc, Weak, atomic::AtomicU64},
+ sync::{Arc, Mutex, Weak, atomic::AtomicU64},
};
use cfg_if::cfg_if;
@@ -27,7 +27,7 @@ pub struct CachedPathImpl {
pub is_node_modules: bool,
pub inside_node_modules: bool,
pub meta: OnceLock