Adjust wasm build process w/ wasm-crypto naming (#343)

This commit is contained in:
Jaco
2022-05-11 11:54:36 +02:00
committed by GitHub
parent 962b880fa6
commit 04285faf55
8 changed files with 24 additions and 27 deletions

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@ build/
build-cjs/
build-esm/
build-docs/
build-wasm/
bytes/
coverage/
docs/.vuepress/dist/

View File

@@ -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"
},

View File

@@ -5,7 +5,5 @@
set -e
DEST=packages/wasm-crypto/build/esm
./scripts/clean-js.sh
yarn polkadot-dev-build-ts

View File

@@ -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

View File

@@ -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"

View File

@@ -7,4 +7,4 @@ set -e
# cleanup old
echo "*** Cleaning old builds"
rm -rf build packages/*/build packages/bytes
rm -rf build packages/*/build*

View File

@@ -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

View File

@@ -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