Wire release pipeline to crates.io, PyPI, and npm

On every v* tag push the release workflow now publishes the project to
all three public registries in parallel:

- crates.io: wickra-core then wickra-data then wickra, with a 45-second
  sleep between each so the registry index can refresh before the next
  publish step asserts the previous version is available.

- PyPI: maturin-action builds wheels for Linux x86_64 + aarch64, macOS
  x86_64 + aarch64, and Windows x64, plus an sdist; all artefacts upload
  to PyPI via MATURIN_PYPI_TOKEN.

- npm: napi-rs builds a native binary per platform (linux-x64-gnu,
  darwin-x64, darwin-arm64, win32-x64-msvc), publishes each as its own
  platform package, then publishes the main `wickra` meta-package
  that resolves to the right platform at install time.

- WASM: wasm-pack builds the bundler-target package and publishes it as
  `wickra-wasm` on npm, with the auto-generated package.json enriched
  with the author/repo/license metadata.

Package metadata was unified so all targets point at kingchenc/wickra
on GitHub; the Node binding is now plain `wickra` (the @wickra/ scope
was unnecessary because the bare name was free). README install table
updated to match.
This commit is contained in:
kingchenc
2026-05-21 20:35:18 +02:00
parent 82d9c3608e
commit 1295b63e1f
6 changed files with 212 additions and 52 deletions
+10 -2
View File
@@ -1,7 +1,8 @@
{
"name": "@wickra/wickra",
"name": "wickra",
"version": "0.1.0",
"description": "Streaming-first technical indicators: incremental, fast, install-free. Node bindings powered by Rust.",
"author": "kingchenc <kingchencp@gmail.com>",
"main": "index.js",
"types": "index.d.ts",
"license": "SEE LICENSE IN LICENSE",
@@ -16,8 +17,12 @@
],
"repository": {
"type": "git",
"url": "https://github.com/wickra/wickra"
"url": "https://github.com/kingchenc/wickra"
},
"bugs": {
"url": "https://github.com/kingchenc/wickra/issues"
},
"homepage": "https://github.com/kingchenc/wickra",
"files": [
"index.js",
"index.d.ts",
@@ -47,7 +52,10 @@
"scripts": {
"build": "napi build --platform --release",
"build:debug": "napi build --platform",
"artifacts": "napi artifacts",
"prepublishOnly": "napi prepublish -t npm",
"universal": "napi universal",
"version": "napi version",
"test": "node --test __tests__/"
},
"devDependencies": {