From ffd7fa6c9c6a9031c696ad4ea24b2c7f05ab3793 Mon Sep 17 00:00:00 2001 From: fullzer4 Date: Tue, 18 Aug 2026 11:27:55 -0300 Subject: [PATCH] fix(nodejs)!: restore @stdbr scoped npm package names The @stdbr npm org now exists. Scoped names are the napi-rs ecosystem convention (swc, esbuild, rollup, biome) and avoid npm spam detection that blocked unscoped native binary names like stdbr-win32-x64-msvc. Also make the platform publish loop attempt all packages before failing, so one rejected package no longer blocks the remaining publishes. --- .github/workflows/release.yml | 4 +++- README.md | 2 +- bindings/nodejs/npm/darwin-arm64/package.json | 2 +- bindings/nodejs/npm/darwin-x64/package.json | 2 +- .../nodejs/npm/linux-arm64-gnu/package.json | 2 +- .../nodejs/npm/linux-x64-gnu/package.json | 2 +- .../nodejs/npm/linux-x64-musl/package.json | 2 +- .../nodejs/npm/win32-x64-msvc/package.json | 2 +- bindings/nodejs/package-lock.json | 20 +++++++++---------- bindings/nodejs/package.json | 14 ++++++------- 10 files changed, 27 insertions(+), 25 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7720561..74b243a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -128,10 +128,12 @@ jobs: working-directory: bindings/nodejs shell: bash run: | + failed=0 for pkg in npm/*/package.json; do dir=$(dirname "$pkg") - npm publish "./$dir" --access public + npm publish "./$dir" --access public || failed=1 done + [ "$failed" -eq 0 ] env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Publish main package diff --git a/README.md b/README.md index f12fe40..407df14 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ One Rust codebase (`no_std` + `alloc`), five modules, four binding targets. Same | Target | Package | Via | |--------|---------|-----| | Rust | [![crates.io](https://img.shields.io/crates/v/stdbr.svg?label=stdbr)](https://crates.io/crates/stdbr) | direct | -| Node.js | [![npm](https://img.shields.io/npm/v/stdbr.svg?label=stdbr)](https://www.npmjs.com/package/stdbr) | napi-rs | +| Node.js | [![npm](https://img.shields.io/npm/v/@stdbr/stdbr.svg?label=@stdbr/stdbr)](https://www.npmjs.com/package/@stdbr/stdbr) | napi-rs | | Python | [![PyPI](https://img.shields.io/pypi/v/stdbr.svg?label=stdbr)](https://pypi.org/project/stdbr/) | PyO3 | | WASM | [![npm](https://img.shields.io/npm/v/stdbr-wasm.svg?label=stdbr-wasm)](https://www.npmjs.com/package/stdbr-wasm) | wasm-bindgen | | C/C++ | [![GitHub tag](https://img.shields.io/github/v/tag/fullzer4/stdbr.svg?label=stdbr-ffi)](https://github.com/fullzer4/stdbr/releases) | `extern "C"` | diff --git a/bindings/nodejs/npm/darwin-arm64/package.json b/bindings/nodejs/npm/darwin-arm64/package.json index 76623f4..dac70c9 100644 --- a/bindings/nodejs/npm/darwin-arm64/package.json +++ b/bindings/nodejs/npm/darwin-arm64/package.json @@ -1,5 +1,5 @@ { - "name": "stdbr-darwin-arm64", + "name": "@stdbr/stdbr-darwin-arm64", "version": "0.1.0", "os": [ "darwin" diff --git a/bindings/nodejs/npm/darwin-x64/package.json b/bindings/nodejs/npm/darwin-x64/package.json index 6908d62..a513474 100644 --- a/bindings/nodejs/npm/darwin-x64/package.json +++ b/bindings/nodejs/npm/darwin-x64/package.json @@ -1,5 +1,5 @@ { - "name": "stdbr-darwin-x64", + "name": "@stdbr/stdbr-darwin-x64", "version": "0.1.0", "os": [ "darwin" diff --git a/bindings/nodejs/npm/linux-arm64-gnu/package.json b/bindings/nodejs/npm/linux-arm64-gnu/package.json index d99424e..1b4db85 100644 --- a/bindings/nodejs/npm/linux-arm64-gnu/package.json +++ b/bindings/nodejs/npm/linux-arm64-gnu/package.json @@ -1,5 +1,5 @@ { - "name": "stdbr-linux-arm64-gnu", + "name": "@stdbr/stdbr-linux-arm64-gnu", "version": "0.1.0", "os": [ "linux" diff --git a/bindings/nodejs/npm/linux-x64-gnu/package.json b/bindings/nodejs/npm/linux-x64-gnu/package.json index 00ec401..51e5e39 100644 --- a/bindings/nodejs/npm/linux-x64-gnu/package.json +++ b/bindings/nodejs/npm/linux-x64-gnu/package.json @@ -1,5 +1,5 @@ { - "name": "stdbr-linux-x64-gnu", + "name": "@stdbr/stdbr-linux-x64-gnu", "version": "0.1.0", "os": [ "linux" diff --git a/bindings/nodejs/npm/linux-x64-musl/package.json b/bindings/nodejs/npm/linux-x64-musl/package.json index e8093e2..1aed759 100644 --- a/bindings/nodejs/npm/linux-x64-musl/package.json +++ b/bindings/nodejs/npm/linux-x64-musl/package.json @@ -1,5 +1,5 @@ { - "name": "stdbr-linux-x64-musl", + "name": "@stdbr/stdbr-linux-x64-musl", "version": "0.1.0", "os": [ "linux" diff --git a/bindings/nodejs/npm/win32-x64-msvc/package.json b/bindings/nodejs/npm/win32-x64-msvc/package.json index 215a703..578376b 100644 --- a/bindings/nodejs/npm/win32-x64-msvc/package.json +++ b/bindings/nodejs/npm/win32-x64-msvc/package.json @@ -1,5 +1,5 @@ { - "name": "stdbr-win32-x64-msvc", + "name": "@stdbr/stdbr-win32-x64-msvc", "version": "0.1.0", "os": [ "win32" diff --git a/bindings/nodejs/package-lock.json b/bindings/nodejs/package-lock.json index e68f677..364efa4 100644 --- a/bindings/nodejs/package-lock.json +++ b/bindings/nodejs/package-lock.json @@ -1,23 +1,23 @@ { - "name": "stdbr", - "version": "0.0.7", + "name": "@stdbr/stdbr", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "stdbr", - "version": "0.0.7", + "name": "@stdbr/stdbr", + "version": "0.1.0", "license": "MIT OR Apache-2.0", "devDependencies": { "@napi-rs/cli": "^2" }, "optionalDependencies": { - "stdbr-darwin-arm64": "0.0.2", - "stdbr-darwin-x64": "0.0.2", - "stdbr-linux-arm64-gnu": "0.0.2", - "stdbr-linux-x64-gnu": "0.0.2", - "stdbr-linux-x64-musl": "0.0.2", - "stdbr-win32-x64-msvc": "0.0.2" + "@stdbr/stdbr-darwin-arm64": "0.0.2", + "@stdbr/stdbr-darwin-x64": "0.0.2", + "@stdbr/stdbr-linux-arm64-gnu": "0.0.2", + "@stdbr/stdbr-linux-x64-gnu": "0.0.2", + "@stdbr/stdbr-linux-x64-musl": "0.0.2", + "@stdbr/stdbr-win32-x64-msvc": "0.0.2" } }, "node_modules/@napi-rs/cli": { diff --git a/bindings/nodejs/package.json b/bindings/nodejs/package.json index 3ddb934..b1136c2 100644 --- a/bindings/nodejs/package.json +++ b/bindings/nodejs/package.json @@ -1,5 +1,5 @@ { - "name": "stdbr", + "name": "@stdbr/stdbr", "version": "0.1.0", "type": "module", "main": "index.js", @@ -25,12 +25,12 @@ "prepublishOnly": "napi prepublish" }, "optionalDependencies": { - "stdbr-linux-x64-gnu": "0.0.2", - "stdbr-linux-x64-musl": "0.0.2", - "stdbr-linux-arm64-gnu": "0.0.2", - "stdbr-darwin-x64": "0.0.2", - "stdbr-darwin-arm64": "0.0.2", - "stdbr-win32-x64-msvc": "0.0.2" + "@stdbr/stdbr-linux-x64-gnu": "0.0.2", + "@stdbr/stdbr-linux-x64-musl": "0.0.2", + "@stdbr/stdbr-linux-arm64-gnu": "0.0.2", + "@stdbr/stdbr-darwin-x64": "0.0.2", + "@stdbr/stdbr-darwin-arm64": "0.0.2", + "@stdbr/stdbr-win32-x64-msvc": "0.0.2" }, "devDependencies": { "@napi-rs/cli": "^2"