de39415413
The root cause of the previous failure was the package.json "prepublishOnly": "napi prepublish -t npm" script. When the workflow ran `npm publish` for the main wickra package it implicitly invoked that hook, which re-attempted to publish every platform subpackage and hit 403 "cannot publish over 0.1.2" because they were already on the registry. The error trail looked like it came from the main publish step but the failing command was actually the hook. Two-part fix: - Remove prepublishOnly entirely from bindings/node/package.json. The release workflow already does the per-platform publish itself, in a loop, idempotently. - Belt-and-braces: pass --ignore-scripts when publishing the main package so any prepublish-hook drift in the future is suppressed.
@wickra/wickra
Node.js bindings for the Wickra streaming-first technical indicators library.
Install
Once published, install per platform via the precompiled native package:
npm install @wickra/wickra
Build from source
cd bindings/node
npm install
npm run build
npm test
The native module is built via napi-rs. The build script
produces a wickra.<platform>-<arch>.node binary in the package root that
index.js loads at runtime.
Usage
import { SMA, RSI, MACD, version } from '@wickra/wickra';
console.log('wickra', version());
// Batch:
const prices = Array.from({ length: 1000 }, (_, i) => 100 + Math.sin(i * 0.1) * 5);
const rsi = new RSI(14).batch(prices);
// Streaming:
const macd = new MACD(12, 26, 9);
for (const p of livePriceStream) {
const v = macd.update(p);
if (v && v.histogram > 0) console.log('bullish crossover candidate');
}
See index.d.ts for the full TypeScript surface.