feat(npm): mkS390xNpmPublishMulti — multi-version npm publish per tag (#192)

Mirrors mkPyPiWheelPublishMulti for npm: publishes a fixed {version,file,
distTag?} list, each staged into its own dir and npm-published with its
dist-tag (idempotent). file may be a .node or a plain binary; packageJson
declares main-vs-bin. Unblocks nextjs-swc (next15 dist-tag) + sentry-cli.
Shared parity_npm_publish_dir helper added.
This commit is contained in:
Oleks
2026-06-02 08:56:38 +03:00
parent cda7a190c0
commit af64a8ea4c
4 changed files with 150 additions and 0 deletions
+9
View File
@@ -7,6 +7,15 @@ semantic versioning; the version is a conceptual tag (no git tag is created).
## Unreleased
- **Feature: `mkS390xNpmPublishMulti` (cluster #192).** A multi-version npm
builder mirroring the PyPI multi one: publishes a fixed list of
`{ version; file; distTag? }` per tag, each staged into its own dir and
`npm publish`ed with its dist-tag (idempotent — "already exists" == success).
`file` may be a `.node` addon OR a plain binary, and `packageJson` (with a
`$VERSION` the stage heredoc expands) declares the shape (`main` vs `bin`), so
it covers both nextjs-swc (16.1.6 `@latest` + 15.2.0 `@next15`) and sentry-cli
(a binary published as an npm package at two versions). Shared
`parity_npm_publish_dir` helper added to `ci/parity-lib.sh`.
- **Feature: `mkPyPiWheelPublishMulti` (cluster #197).** A multi-version PyPI
builder that publishes a fixed list of `{ version; wheel; }` per tag instead of
just the default — the pre-parity behaviour several `*-s390x` repos rely on.