From 0f6e143a6f388d08246b79e2adfdc40b7b7afbfa Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Tue, 2 Mar 2021 17:27:41 +0100 Subject: [PATCH] Default build to type: module (#180) * Defaul build to type: module * Add packageInfo * 4.0 * pre * Adjust tests * jest js, rest cjs * Bump dev --- package.json | 6 ++-- packages/wasm-crypto-asmjs/package.json | 5 +-- packages/wasm-crypto-asmjs/src/packageInfo.ts | 4 +-- packages/wasm-crypto-wasm/package.json | 5 +-- packages/wasm-crypto-wasm/src/packageInfo.ts | 4 +-- packages/wasm-crypto/package.json | 11 ++++--- packages/wasm-crypto/src/detectPackage.ts | 15 --------- packages/wasm-crypto/src/packageInfo.ts | 4 +-- .../{alias-imports.js => alias-imports.cjs} | 4 +-- .../test/all/{bip39.js => bip39.cjs} | 0 .../test/all/{ed25519.js => ed25519.cjs} | 0 .../test/all/{hashing.js => hashing.cjs} | 0 .../test/all/{index.js => index.cjs} | 12 +++---- .../test/all/{sr25519.js => sr25519.cjs} | 0 .../wasm-crypto/test/all/{vrf.js => vrf.cjs} | 0 packages/wasm-crypto/test/{asm.js => asm.cjs} | 4 +-- packages/wasm-crypto/test/jest.spec.js | 2 +- .../wasm-crypto/test/{wasm.js => wasm.cjs} | 4 +-- scripts/build-wasm.sh | 2 +- scripts/install-build-deps.sh | 11 ------- scripts/pack-wasm-base.js | 10 +++--- yarn.lock | 32 +++++++++---------- 22 files changed, 56 insertions(+), 79 deletions(-) rename packages/wasm-crypto/test/{alias-imports.js => alias-imports.cjs} (73%) rename packages/wasm-crypto/test/all/{bip39.js => bip39.cjs} (100%) rename packages/wasm-crypto/test/all/{ed25519.js => ed25519.cjs} (100%) rename packages/wasm-crypto/test/all/{hashing.js => hashing.cjs} (100%) rename packages/wasm-crypto/test/all/{index.js => index.cjs} (79%) rename packages/wasm-crypto/test/all/{sr25519.js => sr25519.cjs} (100%) rename packages/wasm-crypto/test/all/{vrf.js => vrf.cjs} (100%) rename packages/wasm-crypto/test/{asm.js => asm.cjs} (64%) rename packages/wasm-crypto/test/{wasm.js => wasm.cjs} (59%) diff --git a/package.json b/package.json index 16a7f918..7ec89ae7 100644 --- a/package.json +++ b/package.json @@ -19,14 +19,14 @@ "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.js && node ./test/asm.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 -- --nocapture" }, "devDependencies": { "@babel/core": "^7.13.8", - "@polkadot/dev": "^0.61.31", + "@polkadot/dev": "^0.62.1", "fflate": "^0.6.7", "override-require": "^1.1.1" }, - "version": "3.2.5-0" + "version": "4.0.0-1" } diff --git a/packages/wasm-crypto-asmjs/package.json b/packages/wasm-crypto-asmjs/package.json index 45730622..637d7cab 100644 --- a/packages/wasm-crypto-asmjs/package.json +++ b/packages/wasm-crypto-asmjs/package.json @@ -1,6 +1,7 @@ { "name": "@polkadot/wasm-crypto-asmjs", - "version": "3.2.5-0", + "version": "4.0.0-1", + "type": "module", "description": "Asm.js content for wasm-crypto", "browser": "empty.js", "main": "empty.js", @@ -13,6 +14,6 @@ "bugs": "https://github.com/polkadot-js/wasm/issues", "homepage": "https://github.com/polkadot-js/wasm", "dependencies": { - "@babel/runtime": "^7.13.8" + "@babel/runtime": "^7.13.9" } } diff --git a/packages/wasm-crypto-asmjs/src/packageInfo.ts b/packages/wasm-crypto-asmjs/src/packageInfo.ts index feb15c64..e1ffd086 100644 --- a/packages/wasm-crypto-asmjs/src/packageInfo.ts +++ b/packages/wasm-crypto-asmjs/src/packageInfo.ts @@ -1,6 +1,6 @@ -// Copyright 2017-2021 @polkadot/dev authors & contributors +// Copyright 2017-2021 @polkadot/wasm-crypto-asmjs authors & contributors // SPDX-License-Identifier: Apache-2.0 // Auto-generated by @polkadot/dev, do not edit -export const packageInfo = { name: '@polkadot/wasm-crypto-asmjs', version: '3.2.5-0' }; +export const packageInfo = { name: '@polkadot/wasm-crypto-asmjs', version: '4.0.0-1' }; diff --git a/packages/wasm-crypto-wasm/package.json b/packages/wasm-crypto-wasm/package.json index f199c2a1..bf0cac92 100644 --- a/packages/wasm-crypto-wasm/package.json +++ b/packages/wasm-crypto-wasm/package.json @@ -1,6 +1,7 @@ { "name": "@polkadot/wasm-crypto-wasm", - "version": "3.2.5-0", + "version": "4.0.0-1", + "type": "module", "description": "Wasm content for wasm-crypto", "browser": "data.js", "main": "data.js", @@ -13,6 +14,6 @@ "bugs": "https://github.com/polkadot-js/wasm/issues", "homepage": "https://github.com/polkadot-js/wasm", "dependencies": { - "@babel/runtime": "^7.13.8" + "@babel/runtime": "^7.13.9" } } diff --git a/packages/wasm-crypto-wasm/src/packageInfo.ts b/packages/wasm-crypto-wasm/src/packageInfo.ts index 437c83e6..919c9134 100644 --- a/packages/wasm-crypto-wasm/src/packageInfo.ts +++ b/packages/wasm-crypto-wasm/src/packageInfo.ts @@ -1,6 +1,6 @@ -// Copyright 2017-2021 @polkadot/dev authors & contributors +// Copyright 2017-2021 @polkadot/wasm-crypto-wasm authors & contributors // SPDX-License-Identifier: Apache-2.0 // Auto-generated by @polkadot/dev, do not edit -export const packageInfo = { name: '@polkadot/wasm-crypto-wasm', version: '3.2.5-0' }; +export const packageInfo = { name: '@polkadot/wasm-crypto-wasm', version: '4.0.0-1' }; diff --git a/packages/wasm-crypto/package.json b/packages/wasm-crypto/package.json index 874c31dc..76ed0abb 100644 --- a/packages/wasm-crypto/package.json +++ b/packages/wasm-crypto/package.json @@ -1,16 +1,17 @@ { "name": "@polkadot/wasm-crypto", - "version": "3.2.5-0", + "version": "4.0.0-1", + "type": "module", "author": "Jaco Greeff ", "main": "index.js", "sideEffects": [ "./detectPackage.js", - "./detectPackage.mjs" + "./detectPackage.cjs" ], "dependencies": { - "@babel/runtime": "^7.13.8", - "@polkadot/wasm-crypto-asmjs": "^3.2.5-0", - "@polkadot/wasm-crypto-wasm": "^3.2.5-0" + "@babel/runtime": "^7.13.9", + "@polkadot/wasm-crypto-asmjs": "^4.0.0-1", + "@polkadot/wasm-crypto-wasm": "^4.0.0-1" }, "devDependencies": { "@polkadot/util": "^5.9.2", diff --git a/packages/wasm-crypto/src/detectPackage.ts b/packages/wasm-crypto/src/detectPackage.ts index 0c4cf09d..0c478cb6 100644 --- a/packages/wasm-crypto/src/detectPackage.ts +++ b/packages/wasm-crypto/src/detectPackage.ts @@ -1,21 +1,6 @@ // Copyright 2017-2021 @polkadot/wasm-crypto authors & contributors // SPDX-License-Identifier: Apache-2.0 -// For esm, this should be import.meta.url or to get the same behavior as __dirname, we can use -// -// new URL(import.meta.url).pathname) -// -// The issue is the WP4 has "some" issues with import.meta.url. So because of bundlers, we can't have -// nice things... In this case it is even worse since import.meta.url won't even make it compile, so -// there is a complete dead end with usage thereof -// -// When that is fixed, a solution is to have both .js & .mjs files, with the following content - -// -// cjs: util.detectPackage(packageInfo, () => __dirname); -// esm: detectPackage(packageInfo, () => import.meta.url); -// -// With the above we additionally need a .d.ts to just export the packageInfo - import { detectPackage } from '@polkadot/util'; import { packageInfo } from './packageInfo'; diff --git a/packages/wasm-crypto/src/packageInfo.ts b/packages/wasm-crypto/src/packageInfo.ts index 83f0721e..368f4258 100644 --- a/packages/wasm-crypto/src/packageInfo.ts +++ b/packages/wasm-crypto/src/packageInfo.ts @@ -1,6 +1,6 @@ -// Copyright 2017-2021 @polkadot/dev authors & contributors +// Copyright 2017-2021 @polkadot/wasm-crypto authors & contributors // SPDX-License-Identifier: Apache-2.0 // Auto-generated by @polkadot/dev, do not edit -export const packageInfo = { name: '@polkadot/wasm-crypto', version: '3.2.5-0' }; +export const packageInfo = { name: '@polkadot/wasm-crypto', version: '4.0.0-1' }; diff --git a/packages/wasm-crypto/test/alias-imports.js b/packages/wasm-crypto/test/alias-imports.cjs similarity index 73% rename from packages/wasm-crypto/test/alias-imports.js rename to packages/wasm-crypto/test/alias-imports.cjs index e2b58c51..1ebec01c 100644 --- a/packages/wasm-crypto/test/alias-imports.js +++ b/packages/wasm-crypto/test/alias-imports.cjs @@ -7,6 +7,6 @@ require('override-require')( request.endsWith('@polkadot/wasm-crypto-wasm'), (request) => request.endsWith('@polkadot/wasm-crypto-asmjs') - ? require('../../wasm-crypto-asmjs/build/data') - : require('../../wasm-crypto-wasm/build/empty') + ? require('../../wasm-crypto-asmjs/build/data.cjs') + : require('../../wasm-crypto-wasm/build/empty.cjs') ); diff --git a/packages/wasm-crypto/test/all/bip39.js b/packages/wasm-crypto/test/all/bip39.cjs similarity index 100% rename from packages/wasm-crypto/test/all/bip39.js rename to packages/wasm-crypto/test/all/bip39.cjs diff --git a/packages/wasm-crypto/test/all/ed25519.js b/packages/wasm-crypto/test/all/ed25519.cjs similarity index 100% rename from packages/wasm-crypto/test/all/ed25519.js rename to packages/wasm-crypto/test/all/ed25519.cjs diff --git a/packages/wasm-crypto/test/all/hashing.js b/packages/wasm-crypto/test/all/hashing.cjs similarity index 100% rename from packages/wasm-crypto/test/all/hashing.js rename to packages/wasm-crypto/test/all/hashing.cjs diff --git a/packages/wasm-crypto/test/all/index.js b/packages/wasm-crypto/test/all/index.cjs similarity index 79% rename from packages/wasm-crypto/test/all/index.js rename to packages/wasm-crypto/test/all/index.cjs index cb346d6d..d44e8fa8 100644 --- a/packages/wasm-crypto/test/all/index.js +++ b/packages/wasm-crypto/test/all/index.cjs @@ -1,12 +1,12 @@ // Copyright 2019-2021 @polkadot/wasm-crypto authors & contributors // SPDX-License-Identifier: Apache-2.0 -const wasm = require('../../build/index'); -const bip39 = require('./bip39'); -const ed25519 = require('./ed25519'); -const hashing = require('./hashing'); -const sr25519 = require('./sr25519'); -const vrf = require('./vrf'); +const wasm = require('../../build/index.cjs'); +const bip39 = require('./bip39.cjs'); +const ed25519 = require('./ed25519.cjs'); +const hashing = require('./hashing.cjs'); +const sr25519 = require('./sr25519.cjs'); +const vrf = require('./vrf.cjs'); const tests = { ...bip39, diff --git a/packages/wasm-crypto/test/all/sr25519.js b/packages/wasm-crypto/test/all/sr25519.cjs similarity index 100% rename from packages/wasm-crypto/test/all/sr25519.js rename to packages/wasm-crypto/test/all/sr25519.cjs diff --git a/packages/wasm-crypto/test/all/vrf.js b/packages/wasm-crypto/test/all/vrf.cjs similarity index 100% rename from packages/wasm-crypto/test/all/vrf.js rename to packages/wasm-crypto/test/all/vrf.cjs diff --git a/packages/wasm-crypto/test/asm.js b/packages/wasm-crypto/test/asm.cjs similarity index 64% rename from packages/wasm-crypto/test/asm.js rename to packages/wasm-crypto/test/asm.cjs index 1ac8a57f..366b436b 100644 --- a/packages/wasm-crypto/test/asm.js +++ b/packages/wasm-crypto/test/asm.cjs @@ -3,8 +3,8 @@ global.WebAssembly = null; -require('./alias-imports'); +require('./alias-imports.cjs'); -const { runUnassisted } = require('./all'); +const { runUnassisted } = require('./all/index.cjs'); runUnassisted(); diff --git a/packages/wasm-crypto/test/jest.spec.js b/packages/wasm-crypto/test/jest.spec.js index d3c3ff82..3c2a7ffc 100644 --- a/packages/wasm-crypto/test/jest.spec.js +++ b/packages/wasm-crypto/test/jest.spec.js @@ -7,7 +7,7 @@ // override-require in jest.config.js -const { beforeAll, tests, wasm } = require('./all'); +import { beforeAll, tests, wasm } from './all/index.cjs'; describe('wasm-crypto', () => { beforeEach(async () => { diff --git a/packages/wasm-crypto/test/wasm.js b/packages/wasm-crypto/test/wasm.cjs similarity index 59% rename from packages/wasm-crypto/test/wasm.js rename to packages/wasm-crypto/test/wasm.cjs index 085c4c1b..a3ff1bb9 100644 --- a/packages/wasm-crypto/test/wasm.js +++ b/packages/wasm-crypto/test/wasm.cjs @@ -1,8 +1,8 @@ // Copyright 2019-2021 @polkadot/wasm-crypto authors & contributors // SPDX-License-Identifier: Apache-2.0 -require('./alias-imports'); +require('./alias-imports.cjs'); -const { runUnassisted } = require('./all'); +const { runUnassisted } = require('./all/index.cjs'); runUnassisted(); diff --git a/scripts/build-wasm.sh b/scripts/build-wasm.sh index cb2775db..d0258016 100755 --- a/scripts/build-wasm.sh +++ b/scripts/build-wasm.sh @@ -10,7 +10,7 @@ RUST_VER=nightly-2020-10-25 WSM=bytes/wasm_bg.wasm OPT=bytes/wasm_opt.wasm -ASM=wasm-crypto-asmjs/build/data.js +ASM=wasm-crypto-asmjs/build/data.cjs # build new via wasm-pack echo "*** Building Rust sources" diff --git a/scripts/install-build-deps.sh b/scripts/install-build-deps.sh index 2f0ee39c..aa5c31be 100755 --- a/scripts/install-build-deps.sh +++ b/scripts/install-build-deps.sh @@ -26,11 +26,6 @@ unamestr=`uname` rustup toolchain install $RUST_VER -c rust-src -t wasm32-unknown-unknown cargo install xargo -# if ! [ -x "$(command -v wasm-pack)" ]; then -# echo "*** Installing wasm-pack" -# curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -# fi - if [[ "$unamestr" == 'Linux' ]]; then echo "*** Detected Linux" BINARYEN_ZIP=binaryen-$BINARYEN_VER-x86_64-linux @@ -59,9 +54,3 @@ if [ ! -d "bindgen" ]; then mv $BINDGEN_ZIP bindgen ls -alR bindgen fi - -# if [ ! -d "wabt" ]; then -# echo "*** Downloading wabt" -# curl -L $WABT_REPO/releases/download/$WABT_VER/$WABT_ZIP.tar.gz | tar xz -# mv wabt-$WABT_VER wabt -# fi diff --git a/scripts/pack-wasm-base.js b/scripts/pack-wasm-base.js index 7aaf3790..ebc685a9 100755 --- a/scripts/pack-wasm-base.js +++ b/scripts/pack-wasm-base.js @@ -29,17 +29,17 @@ function getWasmBuffer (lib = 'fflate') { return { compressed, sizeUncompressed: data.length }; } -fs.writeFileSync(`./${A_NAME}/build/data.mjs`, `${hdr(A_NAME)} -export { asmJsInit } from './data.js'; +fs.writeFileSync(`./${A_NAME}/build/data.js`, `${hdr(A_NAME)} +export { asmJsInit } from './data.cjs'; `); -fs.writeFileSync(`./${W_NAME}/build/bytes.mjs`, `${hdr(W_NAME)} -export { bytes, sizeCompressed, sizeUncompressed } from './bytes.js'; +fs.writeFileSync(`./${W_NAME}/build/bytes.js`, `${hdr(W_NAME)} +export { bytes, sizeCompressed, sizeUncompressed } from './bytes.cjs'; `); const { compressed, sizeUncompressed } = getWasmBuffer(); -fs.writeFileSync(`./${W_NAME}/build/bytes.js`, `${hdr(W_NAME)} +fs.writeFileSync(`./${W_NAME}/build/bytes.cjs`, `${hdr(W_NAME)} const sizeCompressed = ${compressed.length}; const sizeUncompressed = ${sizeUncompressed}; const bytes = '${compressed.toString('base64')}'; diff --git a/yarn.lock b/yarn.lock index 2d13eb80..6e5d4042 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1295,12 +1295,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.8.4": - version: 7.13.8 - resolution: "@babel/runtime@npm:7.13.8" +"@babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.13.9, @babel/runtime@npm:^7.8.4": + version: 7.13.9 + resolution: "@babel/runtime@npm:7.13.9" dependencies: regenerator-runtime: ^0.13.4 - checksum: d8db125d3629c4000322e8264d7510640ac671136f416d1fcd4b74d26d7e703bf671820fab81a29a5ee0bd11e981de518666619398ec29b1ab5e155ab8131812 + checksum: e6f79d20e10c2921520c499f3cf295a9ee5c137e73f77f77eedde9f9073bc3541c1fc7fa6c97b0613f4140303ac00d08506e9f090068d219c58781d2b62c662d languageName: node linkType: hard @@ -1773,9 +1773,9 @@ __metadata: languageName: node linkType: hard -"@polkadot/dev@npm:^0.61.31": - version: 0.61.31 - resolution: "@polkadot/dev@npm:0.61.31" +"@polkadot/dev@npm:^0.62.1": + version: 0.62.1 + resolution: "@polkadot/dev@npm:0.62.1" dependencies: "@babel/cli": ^7.13.0 "@babel/core": ^7.13.8 @@ -1859,7 +1859,7 @@ __metadata: polkadot-exec-tsc: scripts/polkadot-exec-tsc.cjs polkadot-exec-typedoc: scripts/polkadot-exec-typedoc.cjs polkadot-exec-webpack: scripts/polkadot-exec-webpack.cjs - checksum: 087b0f00c94d11f03e10731101a9c81c4034ca3d49d838fb602b95db611bdd9968006610c3b1abdf8977162ccce6e5edceff64636bfd69fae45a2c649f6c2257 + checksum: e45a19d9c7768fa08e74eda4bbcfb0dfd0ad57a867a41768b0d165d3600f4981df4f72c265be2329815f8885f5f03c2818254a56e2c8f89e19cf410f22df252b languageName: node linkType: hard @@ -1878,19 +1878,19 @@ __metadata: languageName: node linkType: hard -"@polkadot/wasm-crypto-asmjs@^3.2.5-0, @polkadot/wasm-crypto-asmjs@workspace:packages/wasm-crypto-asmjs": +"@polkadot/wasm-crypto-asmjs@^4.0.0-1, @polkadot/wasm-crypto-asmjs@workspace:packages/wasm-crypto-asmjs": version: 0.0.0-use.local resolution: "@polkadot/wasm-crypto-asmjs@workspace:packages/wasm-crypto-asmjs" dependencies: - "@babel/runtime": ^7.13.8 + "@babel/runtime": ^7.13.9 languageName: unknown linkType: soft -"@polkadot/wasm-crypto-wasm@^3.2.5-0, @polkadot/wasm-crypto-wasm@workspace:packages/wasm-crypto-wasm": +"@polkadot/wasm-crypto-wasm@^4.0.0-1, @polkadot/wasm-crypto-wasm@workspace:packages/wasm-crypto-wasm": version: 0.0.0-use.local resolution: "@polkadot/wasm-crypto-wasm@workspace:packages/wasm-crypto-wasm" dependencies: - "@babel/runtime": ^7.13.8 + "@babel/runtime": ^7.13.9 languageName: unknown linkType: soft @@ -1898,10 +1898,10 @@ __metadata: version: 0.0.0-use.local resolution: "@polkadot/wasm-crypto@workspace:packages/wasm-crypto" dependencies: - "@babel/runtime": ^7.13.8 + "@babel/runtime": ^7.13.9 "@polkadot/util": ^5.9.2 - "@polkadot/wasm-crypto-asmjs": ^3.2.5-0 - "@polkadot/wasm-crypto-wasm": ^3.2.5-0 + "@polkadot/wasm-crypto-asmjs": ^4.0.0-1 + "@polkadot/wasm-crypto-wasm": ^4.0.0-1 "@polkadot/x-randomvalues": ^5.9.2 peerDependencies: "@polkadot/util": "*" @@ -8788,7 +8788,7 @@ fsevents@~2.1.2: resolution: "root-workspace-0b6124@workspace:." dependencies: "@babel/core": ^7.13.8 - "@polkadot/dev": ^0.61.31 + "@polkadot/dev": ^0.62.1 fflate: ^0.6.7 override-require: ^1.1.1 languageName: unknown