From 4ea2fdc130816ec79d0bb09225f350b8e820b7e5 Mon Sep 17 00:00:00 2001 From: Boshen Date: Tue, 12 May 2026 20:30:51 +0800 Subject: [PATCH 1/6] chore: update packageManager to pnpm 11.0.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 89be8a67..56947e61 100644 --- a/package.json +++ b/package.json @@ -36,5 +36,5 @@ "oxlint --fix" ] }, - "packageManager": "pnpm@10.33.0" + "packageManager": "pnpm@11.0.4" } From 2ef62bc9544e89fc58d63fb22a56f66d8b4dbabb Mon Sep 17 00:00:00 2001 From: Boshen Date: Thu, 14 May 2026 13:57:53 +0800 Subject: [PATCH 2/6] fix: allow pnpm 11 build scripts in CI --- pnpm-workspace.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7edb6067..f9975a1c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,11 @@ packages: - packages/* +allowBuilds: + '@nestjs/core': true + '@swc/core': true + core-js: true + esbuild: true + nx: true catalog: "@napi-rs/cli": 3.6.2 From 2d353f721e9ede61c406701f93112c4046d06a08 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 05:59:07 +0000 Subject: [PATCH 3/6] [autofix.ci] apply automated fixes --- pnpm-workspace.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f9975a1c..23f6cba1 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,8 +1,8 @@ packages: - packages/* allowBuilds: - '@nestjs/core': true - '@swc/core': true + "@nestjs/core": true + "@swc/core": true core-js: true esbuild: true nx: true From 3e36bc1fe6689ce241ba78e8becc46d4ba6e70b5 Mon Sep 17 00:00:00 2001 From: Boshen Date: Thu, 14 May 2026 14:26:31 +0800 Subject: [PATCH 4/6] fix: stabilize ci on pnpm branch --- .github/workflows/CI.yml | 11 ++-------- Cargo.toml | 2 +- packages/integrate-ava/package.json | 6 +++--- .../integrate-module-bundler/package.json | 2 +- packages/integrate-module/package.json | 2 +- src/lib.rs | 21 ++++++++++++++++++- 6 files changed, 28 insertions(+), 16 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 2353b779..0d0d459e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -39,7 +39,6 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - cache: pnpm - name: Install dependencies run: pnpm install - name: Lint @@ -58,7 +57,6 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - cache: pnpm - name: Install dependencies run: pnpm install - name: Build @@ -146,7 +144,6 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - cache: pnpm - name: Install run: rustup target add ${{ matrix.settings.target }} - uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16 @@ -177,7 +174,6 @@ jobs: if: matrix.settings.target == 'i686-pc-windows-msvc' with: node-version: 22 - cache: pnpm architecture: x86 - name: Build run: ${{ matrix.settings.build }} @@ -229,7 +225,8 @@ jobs: pnpm --filter=@oxc-node/core build --target x86_64-unknown-freebsd pnpm --filter=@oxc-node/core export-oxc-runtime pnpm --filter @oxc-node/cli build - pnpm rebuild + # Re-link workspace bins after the CLI entrypoint is generated. + pnpm install --offline --ignore-scripts pnpm test rm -rf node_modules rm -rf target @@ -283,7 +280,6 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: ${{ matrix.node }} - cache: pnpm check-latest: true architecture: ${{ matrix.settings.architecture }} - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 @@ -339,7 +335,6 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: ${{ matrix.node }} - cache: pnpm - name: Output docker params id: docker run: | @@ -411,7 +406,6 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - cache: pnpm - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: cli @@ -452,7 +446,6 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - cache: pnpm - name: Install dependencies run: pnpm install - name: Download all artifacts diff --git a/Cargo.toml b/Cargo.toml index 91944eac..c40249d8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ tracing-subscriber = { version = "0.3", default-features = false, features = [ "fmt", ] } # Omit the `regex` feature -[target.'cfg(all(not(target_os = "linux"), not(target_os = "freebsd"), not(target_arch = "arm"), not(target_arch = "x86"), not(target_family = "wasm")))'.dependencies] +[target.'cfg(all(not(target_os = "linux"), not(target_os = "freebsd"), not(target_arch = "arm"), not(target_arch = "x86"), not(target_family = "wasm"), not(all(target_os = "windows", target_arch = "aarch64"))))'.dependencies] mimalloc-safe = { version = "0.1", features = ["skip_collect_on_exit"] } [target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies] diff --git a/packages/integrate-ava/package.json b/packages/integrate-ava/package.json index 8bc4444b..a517b89e 100644 --- a/packages/integrate-ava/package.json +++ b/packages/integrate-ava/package.json @@ -11,9 +11,9 @@ }, "ava": { "cache": false, - "extensions": { - "ts": "module" - }, + "extensions": [ + "ts" + ], "files": [ "__tests__/**/*.spec.ts" ], diff --git a/packages/integrate-module-bundler/package.json b/packages/integrate-module-bundler/package.json index a103a99e..c8e1b035 100644 --- a/packages/integrate-module-bundler/package.json +++ b/packages/integrate-module-bundler/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "test": "oxnode -C dev ./src/index.ts" + "test": "node --enable-source-maps --import @oxc-node/core/register --conditions=dev ./src/index.ts" }, "dependencies": { "file-type": "^22.0.0", diff --git a/packages/integrate-module/package.json b/packages/integrate-module/package.json index 49f38019..3d416df3 100644 --- a/packages/integrate-module/package.json +++ b/packages/integrate-module/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "test": "oxnode ./src/index.ts" + "test": "node --enable-source-maps --import @oxc-node/core/register ./src/index.ts" }, "dependencies": { "file-type": "^22.0.0", diff --git a/src/lib.rs b/src/lib.rs index 20a028b1..f3701773 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,7 +31,8 @@ use phf::Set; #[cfg(all( not(target_arch = "x86"), not(target_arch = "arm"), - not(target_family = "wasm") + not(target_family = "wasm"), + not(all(target_os = "windows", target_arch = "aarch64")) ))] #[global_allocator] static ALLOC: mimalloc_safe::MiMalloc = mimalloc_safe::MiMalloc; @@ -459,6 +460,24 @@ pub fn create_resolve<'env>( return add_short_circuit(specifier, Some("module"), context, next_resolve); } + let has_custom_conditions = context.conditions.iter().any(|condition| { + !matches!( + condition.as_str(), + "node" | "import" | "module-sync" | "node-addons" | "require" | "default" + ) + }); + if has_custom_conditions + && !specifier.starts_with('.') + && !specifier.starts_with('/') + && !specifier.starts_with(PATH_PREFIX) + { + tracing::debug!( + "delegating bare-specifier resolve with custom conditions: {}", + specifier + ); + return next_resolve.call((specifier, None).into()); + } + #[cfg(target_family = "wasm")] let cwd = { if let Some(get_cwd) = options.get_current_directory { From a674a92fcc3fdf9a215a9fec88379295bde37372 Mon Sep 17 00:00:00 2001 From: Boshen Date: Thu, 14 May 2026 14:41:10 +0800 Subject: [PATCH 5/6] fix: stabilize ci on pnpm branch --- .github/workflows/CI.yml | 12 ++++++++++-- packages/integrate-module-bundler/package.json | 2 +- packages/integrate-module/package.json | 2 +- src/lib.rs | 18 ------------------ 4 files changed, 12 insertions(+), 22 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 0d0d459e..45f41459 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -39,6 +39,7 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 + package-manager-cache: false - name: Install dependencies run: pnpm install - name: Lint @@ -57,6 +58,7 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 + package-manager-cache: false - name: Install dependencies run: pnpm install - name: Build @@ -144,12 +146,13 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - - name: Install - run: rustup target add ${{ matrix.settings.target }} + package-manager-cache: false - uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16 with: cache-key: ${{ matrix.settings.target }}-${{ matrix.settings.host }} save-cache: ${{ github.ref_name == 'main' }} + - name: Install + run: rustup target add ${{ matrix.settings.target }} - uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1 if: ${{ contains(matrix.settings.target, 'musl') }} with: @@ -174,6 +177,7 @@ jobs: if: matrix.settings.target == 'i686-pc-windows-msvc' with: node-version: 22 + package-manager-cache: false architecture: x86 - name: Build run: ${{ matrix.settings.build }} @@ -282,6 +286,7 @@ jobs: node-version: ${{ matrix.node }} check-latest: true architecture: ${{ matrix.settings.architecture }} + package-manager-cache: false - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: cli @@ -335,6 +340,7 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: ${{ matrix.node }} + package-manager-cache: false - name: Output docker params id: docker run: | @@ -406,6 +412,7 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 + package-manager-cache: false - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: cli @@ -446,6 +453,7 @@ jobs: uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 + package-manager-cache: false - name: Install dependencies run: pnpm install - name: Download all artifacts diff --git a/packages/integrate-module-bundler/package.json b/packages/integrate-module-bundler/package.json index c8e1b035..012bd191 100644 --- a/packages/integrate-module-bundler/package.json +++ b/packages/integrate-module-bundler/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "test": "node --enable-source-maps --import @oxc-node/core/register --conditions=dev ./src/index.ts" + "test": "node ../cli/dist/index.js -C dev ./src/index.ts" }, "dependencies": { "file-type": "^22.0.0", diff --git a/packages/integrate-module/package.json b/packages/integrate-module/package.json index 3d416df3..df3d3090 100644 --- a/packages/integrate-module/package.json +++ b/packages/integrate-module/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "test": "node --enable-source-maps --import @oxc-node/core/register ./src/index.ts" + "test": "node ../cli/dist/index.js ./src/index.ts" }, "dependencies": { "file-type": "^22.0.0", diff --git a/src/lib.rs b/src/lib.rs index f3701773..9a0d777a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -460,24 +460,6 @@ pub fn create_resolve<'env>( return add_short_circuit(specifier, Some("module"), context, next_resolve); } - let has_custom_conditions = context.conditions.iter().any(|condition| { - !matches!( - condition.as_str(), - "node" | "import" | "module-sync" | "node-addons" | "require" | "default" - ) - }); - if has_custom_conditions - && !specifier.starts_with('.') - && !specifier.starts_with('/') - && !specifier.starts_with(PATH_PREFIX) - { - tracing::debug!( - "delegating bare-specifier resolve with custom conditions: {}", - specifier - ); - return next_resolve.call((specifier, None).into()); - } - #[cfg(target_family = "wasm")] let cwd = { if let Some(get_cwd) = options.get_current_directory { From 107e56d4f5d8eee53f072955779d7488402559ae Mon Sep 17 00:00:00 2001 From: Boshen Date: Thu, 14 May 2026 14:45:23 +0800 Subject: [PATCH 6/6] fix: wire ci to the real cargo binary --- .github/workflows/CI.yml | 2 ++ .github/workflows/security.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 45f41459..5afe338a 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -172,6 +172,8 @@ jobs: shell: bash - name: Install dependencies run: pnpm install + - name: Pin cargo binary + run: echo "CARGO=$(rustup which cargo)" >> "$GITHUB_ENV" - name: Setup node x86 uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 if: matrix.settings.target == 'i686-pc-windows-msvc' diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index ed71b9fe..4891f854 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -21,4 +21,5 @@ jobs: name: Security Analysis runs-on: ubuntu-slim steps: + - uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16 - uses: oxc-project/security-action@77e230508eccbb400b23746dab6c573a8ea7483e # v1.0.5