Adjust wasm build process w/ wasm-crypto naming (#343)
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,6 +4,7 @@ build/
|
||||
build-cjs/
|
||||
build-esm/
|
||||
build-docs/
|
||||
build-wasm/
|
||||
bytes/
|
||||
coverage/
|
||||
docs/.vuepress/dist/
|
||||
|
||||
12
package.json
12
package.json
@@ -24,15 +24,15 @@
|
||||
"clean": "./scripts/clean.sh",
|
||||
"lint": "polkadot-dev-run-lint",
|
||||
"postinstall": "polkadot-dev-yarn-only",
|
||||
"test": "yarn test:wasm:rust",
|
||||
"test:wasm:js": "yarn test:wasm:js:jest && yarn test:wasm:js:node",
|
||||
"test:wasm:js:jest": "polkadot-dev-run-test ./test/jest.spec.js",
|
||||
"test:wasm:js:node": "cd packages/wasm-crypto && node ./test/wasm.cjs && node ./test/asm.cjs",
|
||||
"test:wasm:rust": "cd packages/wasm-crypto && RUST_BACKTRACE=full cargo test --release -- --test-threads=1 --nocapture"
|
||||
"test": "yarn test:wasm-crypto:rust",
|
||||
"test:wasm-crypto:js": "yarn test:wasm-crypto:js:jest && yarn test:wasm-crypto:js:node",
|
||||
"test:wasm-crypto:js:jest": "polkadot-dev-run-test ./test/jest.spec.js",
|
||||
"test:wasm-crypto:js:node": "cd packages/wasm-crypto && node ./test/wasm.cjs && node ./test/asm.cjs",
|
||||
"test:wasm-crypto:rust": "cd packages/wasm-crypto && RUST_BACKTRACE=full cargo test --release -- --test-threads=1 --nocapture"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.17.10",
|
||||
"@polkadot/dev": "^0.66.19",
|
||||
"@polkadot/dev": "^0.66.20",
|
||||
"fflate": "^0.7.3",
|
||||
"override-require": "^1.1.1"
|
||||
},
|
||||
|
||||
@@ -5,7 +5,5 @@
|
||||
|
||||
set -e
|
||||
|
||||
DEST=packages/wasm-crypto/build/esm
|
||||
|
||||
./scripts/clean-js.sh
|
||||
yarn polkadot-dev-build-ts
|
||||
|
||||
@@ -7,13 +7,13 @@ set -e
|
||||
|
||||
source ../scripts/rust-version.sh
|
||||
|
||||
WSM=bytes/wasm_bg.wasm
|
||||
OPT=bytes/wasm_opt.wasm
|
||||
ASM=wasm-crypto-asmjs/build/cjs/data.js
|
||||
WSM=$PKG_NAME/build-wasm/wasm_bg.wasm
|
||||
OPT=$PKG_NAME/build-wasm/wasm_opt.wasm
|
||||
ASM=$PKG_NAME-asmjs/build/cjs/data.js
|
||||
|
||||
# build new via wasm-pack
|
||||
echo "*** Building Rust sources"
|
||||
cd wasm-crypto
|
||||
cd $PKG_NAME
|
||||
if [ "$RUST_VER" == "stable" ]; then
|
||||
RUSTC_BOOTSTRAP=1 cargo build --target wasm32-unknown-unknown --release -Z build-std=std,panic_abort
|
||||
else
|
||||
@@ -22,7 +22,7 @@ fi
|
||||
cd ..
|
||||
|
||||
echo "*** Converting to WASM"
|
||||
../bindgen/wasm-bindgen wasm-crypto/target/wasm32-unknown-unknown/release/wasm.wasm --out-dir bytes --target web
|
||||
../bindgen/wasm-bindgen $PKG_NAME/target/wasm32-unknown-unknown/release/wasm.wasm --out-dir $PKG_NAME/build-wasm --target web
|
||||
|
||||
# optimise
|
||||
echo "*** Optimising WASM output"
|
||||
@@ -42,5 +42,5 @@ sed -i -e '1,/var retasmFunc = /!d' $ASM
|
||||
sed -i -e 's/var retasmFunc = .*/const asmJsInit = (wbg) => asmFunc(wbg);\n\nmodule.exports = { asmJsInit };/g' $ASM
|
||||
|
||||
# cleanups
|
||||
rm -rf wasm-crypto-asmjs/build/cjs/*-e
|
||||
rm -rf wasm-crypto-wasm/build/cjs/*-e
|
||||
rm -rf $PKG_NAME-asmjs/build/cjs/*-e
|
||||
rm -rf $PKG_NAME-wasm/build/cjs/*-e
|
||||
|
||||
@@ -11,9 +11,9 @@ echo "*** Building JavaScript"
|
||||
echo "*** Building WASM"
|
||||
cd packages
|
||||
|
||||
../scripts/build-wasm.sh
|
||||
PKG_NAME=wasm-crypto ../scripts/build-wasm.sh
|
||||
|
||||
yarn test:wasm:js
|
||||
yarn test:wasm-crypto:js
|
||||
|
||||
echo ""
|
||||
echo "*** wasm-crypto"
|
||||
|
||||
@@ -7,4 +7,4 @@ set -e
|
||||
|
||||
# cleanup old
|
||||
echo "*** Cleaning old builds"
|
||||
rm -rf build packages/*/build packages/bytes
|
||||
rm -rf build packages/*/build*
|
||||
|
||||
@@ -5,14 +5,12 @@ const fflate = require('fflate/node');
|
||||
const fs = require('fs');
|
||||
const { formatNumber } = require('@polkadot/util');
|
||||
|
||||
const W_NAME = 'wasm-crypto-wasm';
|
||||
|
||||
const data = fs.readFileSync('./bytes/wasm_opt.wasm');
|
||||
const data = fs.readFileSync(`./${process.env.PKG_NAME}/build-wasm/wasm_opt.wasm`);
|
||||
const compressed = Buffer.from(fflate.zlibSync(data, { level: 9 }));
|
||||
|
||||
console.log(`*** Compressed WASM: ${formatNumber(data.length)} -> ${formatNumber(compressed.length)} (${(100 * compressed.length / data.length).toFixed(2)}%)`);
|
||||
|
||||
fs.writeFileSync(`./${W_NAME}/build/cjs/bytes.js`, `// Copyright 2019-2022 @polkadot/${W_NAME} authors & contributors
|
||||
fs.writeFileSync(`./${process.env.PKG_NAME}-wasm/build/cjs/bytes.js`, `// Copyright 2019-${new Date().getFullYear()} @polkadot/${process.env.PKG_NAME}-wasm authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Generated as part of the build, do not edit
|
||||
|
||||
10
yarn.lock
10
yarn.lock
@@ -1923,9 +1923,9 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/dev@npm:^0.66.19":
|
||||
version: 0.66.19
|
||||
resolution: "@polkadot/dev@npm:0.66.19"
|
||||
"@polkadot/dev@npm:^0.66.20":
|
||||
version: 0.66.20
|
||||
resolution: "@polkadot/dev@npm:0.66.20"
|
||||
dependencies:
|
||||
"@babel/cli": ^7.17.10
|
||||
"@babel/core": ^7.17.10
|
||||
@@ -2012,7 +2012,7 @@ __metadata:
|
||||
polkadot-exec-rollup: scripts/polkadot-exec-rollup.mjs
|
||||
polkadot-exec-tsc: scripts/polkadot-exec-tsc.mjs
|
||||
polkadot-exec-webpack: scripts/polkadot-exec-webpack.mjs
|
||||
checksum: d3829dcf7eb41e93bc2cf1f80f7fb814546ca9c6822619fe815bc91089b694f7a15fea49694c16968090a6b70b909551363a0e69baeefd82a6ee67d6218a6a1e
|
||||
checksum: 0106f37f7dc024a7f35873e2abe46e222b31bec064a27f1668c256ef123557df79fcf3e0be6abcfb817a5e70cc58093c9edc4244afa37f494db77176426e2f92
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -8503,7 +8503,7 @@ resolve@^2.0.0-next.3:
|
||||
resolution: "root-workspace-0b6124@workspace:."
|
||||
dependencies:
|
||||
"@babel/core": ^7.17.10
|
||||
"@polkadot/dev": ^0.66.19
|
||||
"@polkadot/dev": ^0.66.20
|
||||
fflate: ^0.7.3
|
||||
override-require: ^1.1.1
|
||||
languageName: unknown
|
||||
|
||||
Reference in New Issue
Block a user