mirror of
https://github.com/pezkuwichain/pezkuwi-wasm.git
synced 2026-11-02 16:11:06 +00:00
The six wasm packages carried the build's rewritten package.json as their source: exports, browser and react-native pointing at ./build/cjs/*, main at ./build/cjs/index.js. The build rewrote them again, so the published 7.5.17 and 7.5.19 had exports naming files that are not in the package (init's "." resolved to ./build/cjs/wasm.js) and './package.json' spread into an object of characters. This is the January 2026 ./cjs/cjs/ fault in another form; its cause was committing built manifests, not the build script. main, module, types, exports, browser, react-native and sideEffects are back to the form of the upstream sources they were renamed from; the build generates the rest. scure-sr25519 has no upstream counterpart and a consistent hand-written manifest, so it is left as it is. CI now checks every build/package.json: each entry point must name a file that is there, with no ./build/ or ./cjs/cjs/ path, no numeric keys in exports and no workspace/portal ranges. Red on the 7.5.19 build, green on this one. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@pezkuwi/wasm-crypto
Wrapper around crypto hashing functions
Usage
Install the package (also requires @pezkuwi/util for TextEncoder polyfills - not included here as a dependency to keep the tree lean)
yarn add @pezkuwi/wasm-crypto @pezkuwi/util
Use it -
import { u8aToHex } from '@pezkuwi/util';
import { bip39Generate, bip39ToSeed, waitReady } from '@pezkuwi/wasm-crypto';
// first wait until the WASM has been loaded (async init)
await waitReady();
// generate phrase
const phrase = bip39Generate(12);
// get ed25519 seed from phrase
const seed = bip39ToSeed(phrase, '');
// display
console.log('phrase:', phrase);
console.log('seed:', u8aToHex(seed));