From 20b933e21c34d99a776fdac3f824fe317f6457ed Mon Sep 17 00:00:00 2001 From: fullzer4 Date: Tue, 18 Aug 2026 12:05:15 -0300 Subject: [PATCH] fix(nodejs): let napi prepublish handle platform publishes napi-rs cli v2 has no --tag-style/--skip-optional-publish flags; the correct flags are --tagstyle and --skip-gh-release. prepublish itself publishes the npm/* platform packages, so the manual publish loop is removed (a second publish of the same version fails and aborts the root package publish). Platform packages get publishConfig.access=public since prepublish spawns plain npm publish. --- .github/workflows/release.yml | 14 +------------- bindings/nodejs/npm/darwin-arm64/package.json | 3 +++ bindings/nodejs/npm/darwin-x64/package.json | 3 +++ bindings/nodejs/npm/linux-arm64-gnu/package.json | 3 +++ bindings/nodejs/npm/linux-x64-gnu/package.json | 3 +++ bindings/nodejs/npm/linux-x64-musl/package.json | 3 +++ bindings/nodejs/npm/win32-x64-msvc/package.json | 3 +++ bindings/nodejs/package.json | 2 +- 8 files changed, 20 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 74b243a..ed8f28e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -124,19 +124,7 @@ jobs: esac cp "$f" "$dest" done - - name: Publish platform packages - working-directory: bindings/nodejs - shell: bash - run: | - failed=0 - for pkg in npm/*/package.json; do - dir=$(dirname "$pkg") - npm publish "./$dir" --access public || failed=1 - done - [ "$failed" -eq 0 ] - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - - name: Publish main package + - name: Publish main package (publishes platform packages via napi prepublish) working-directory: bindings/nodejs run: npm publish --access public env: diff --git a/bindings/nodejs/npm/darwin-arm64/package.json b/bindings/nodejs/npm/darwin-arm64/package.json index 0dd3f91..b05538b 100644 --- a/bindings/nodejs/npm/darwin-arm64/package.json +++ b/bindings/nodejs/npm/darwin-arm64/package.json @@ -11,5 +11,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/darwin-x64/package.json b/bindings/nodejs/npm/darwin-x64/package.json index 15e73c9..07c8804 100644 --- a/bindings/nodejs/npm/darwin-x64/package.json +++ b/bindings/nodejs/npm/darwin-x64/package.json @@ -11,5 +11,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/linux-arm64-gnu/package.json b/bindings/nodejs/npm/linux-arm64-gnu/package.json index c76b8fa..9a4eb69 100644 --- a/bindings/nodejs/npm/linux-arm64-gnu/package.json +++ b/bindings/nodejs/npm/linux-arm64-gnu/package.json @@ -14,5 +14,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/linux-x64-gnu/package.json b/bindings/nodejs/npm/linux-x64-gnu/package.json index a3f6dc8..d3a2431 100644 --- a/bindings/nodejs/npm/linux-x64-gnu/package.json +++ b/bindings/nodejs/npm/linux-x64-gnu/package.json @@ -14,5 +14,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/linux-x64-musl/package.json b/bindings/nodejs/npm/linux-x64-musl/package.json index 730a8a6..06f2b27 100644 --- a/bindings/nodejs/npm/linux-x64-musl/package.json +++ b/bindings/nodejs/npm/linux-x64-musl/package.json @@ -14,5 +14,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/npm/win32-x64-msvc/package.json b/bindings/nodejs/npm/win32-x64-msvc/package.json index ddfdc1a..7e33680 100644 --- a/bindings/nodejs/npm/win32-x64-msvc/package.json +++ b/bindings/nodejs/npm/win32-x64-msvc/package.json @@ -11,5 +11,8 @@ "license": "MIT OR Apache-2.0", "engines": { "node": ">= 10" + }, + "publishConfig": { + "access": "public" } } diff --git a/bindings/nodejs/package.json b/bindings/nodejs/package.json index c4c4b31..3822531 100644 --- a/bindings/nodejs/package.json +++ b/bindings/nodejs/package.json @@ -22,7 +22,7 @@ "scripts": { "build": "napi build --platform --release", "artifacts": "napi artifacts", - "prepublishOnly": "napi prepublish --tag-style npm --skip-gh-release --skip-optional-publish" + "prepublishOnly": "napi prepublish --tagstyle npm --skip-gh-release" }, "optionalDependencies": { "@stdbr/stdbr-linux-x64-gnu": "0.0.2",