From 25d9e21b385773a767f1b725cf7edb86f783c7da Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Fri, 5 Mar 2021 22:55:19 +0100 Subject: [PATCH] Adjust esm -> cjs imports (4.0.2) (#185) * Adjust esm -> cjs impors * cleanups * CHANGELOG * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update packages/wasm-crypto-wasm/src/empty.ts * Apply suggestions from code review * Update packages/wasm-crypto-wasm/src/cjs/bytes.d.ts --- CHANGELOG.md | 7 +++++++ package.json | 2 +- packages/wasm-crypto-asmjs/package.json | 2 +- packages/wasm-crypto-asmjs/src/cjs/data.d.ts | 4 ++++ packages/wasm-crypto-asmjs/src/cjs/data.js | 6 ++++++ packages/wasm-crypto-asmjs/src/cjs/package.json | 3 +++ packages/wasm-crypto-asmjs/src/data.ts | 4 +++- packages/wasm-crypto-wasm/package.json | 2 +- packages/wasm-crypto-wasm/src/bytes.ts | 8 +++++--- packages/wasm-crypto-wasm/src/cjs/bytes.d.ts | 6 ++++++ packages/wasm-crypto-wasm/src/cjs/bytes.js | 8 ++++++++ packages/wasm-crypto-wasm/src/cjs/package.json | 3 +++ packages/wasm-crypto-wasm/src/empty.ts | 6 +++++- packages/wasm-crypto/package.json | 6 +++--- scripts/build-wasm.sh | 6 +++--- scripts/pack-wasm-base.cjs | 16 ++++++++-------- yarn.lock | 8 ++++---- 17 files changed, 71 insertions(+), 26 deletions(-) create mode 100644 packages/wasm-crypto-asmjs/src/cjs/data.d.ts create mode 100644 packages/wasm-crypto-asmjs/src/cjs/data.js create mode 100644 packages/wasm-crypto-asmjs/src/cjs/package.json create mode 100644 packages/wasm-crypto-wasm/src/cjs/bytes.d.ts create mode 100644 packages/wasm-crypto-wasm/src/cjs/bytes.js create mode 100644 packages/wasm-crypto-wasm/src/cjs/package.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 23adba2b..c28f4f30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # CHANGELOG +## 4.0.2 Mar 5, 2021 + +Changes: + +- Add import indirection for both CJS & ESM (where generated source file is commonjs) + + ## 4.0.1 Mar 4, 2021 **Important** In the 4.0 version the default package type has been changed to ESM modules by default. This should not affect usage, however since the output formats changed, a new major version is required. diff --git a/package.json b/package.json index 9224d83e..8d16fcda 100644 --- a/package.json +++ b/package.json @@ -28,5 +28,5 @@ "fflate": "^0.6.7", "override-require": "^1.1.1" }, - "version": "4.0.1" + "version": "4.0.2" } diff --git a/packages/wasm-crypto-asmjs/package.json b/packages/wasm-crypto-asmjs/package.json index d80d4d97..6129173d 100644 --- a/packages/wasm-crypto-asmjs/package.json +++ b/packages/wasm-crypto-asmjs/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/wasm-crypto-asmjs", - "version": "4.0.1", + "version": "4.0.2", "type": "module", "description": "Asm.js content for wasm-crypto", "browser": "empty.js", diff --git a/packages/wasm-crypto-asmjs/src/cjs/data.d.ts b/packages/wasm-crypto-asmjs/src/cjs/data.d.ts new file mode 100644 index 00000000..c657cd72 --- /dev/null +++ b/packages/wasm-crypto-asmjs/src/cjs/data.d.ts @@ -0,0 +1,4 @@ +// Copyright 2019-2021 @polkadot/wasm-crypto-asmjs authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +export declare const asmJsInit: null; diff --git a/packages/wasm-crypto-asmjs/src/cjs/data.js b/packages/wasm-crypto-asmjs/src/cjs/data.js new file mode 100644 index 00000000..1f52d8cb --- /dev/null +++ b/packages/wasm-crypto-asmjs/src/cjs/data.js @@ -0,0 +1,6 @@ +// Copyright 2019-2021 @polkadot/wasm-crypto-asmjs authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +const asmJsInit = null; + +exports.asmJsInit = asmJsInit; diff --git a/packages/wasm-crypto-asmjs/src/cjs/package.json b/packages/wasm-crypto-asmjs/src/cjs/package.json new file mode 100644 index 00000000..5bbefffb --- /dev/null +++ b/packages/wasm-crypto-asmjs/src/cjs/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/packages/wasm-crypto-asmjs/src/data.ts b/packages/wasm-crypto-asmjs/src/data.ts index 5701f240..35585115 100644 --- a/packages/wasm-crypto-asmjs/src/data.ts +++ b/packages/wasm-crypto-asmjs/src/data.ts @@ -1,4 +1,6 @@ // Copyright 2019-2021 @polkadot/wasm-crypto-asmjs authors & contributors // SPDX-License-Identifier: Apache-2.0 -export const asmJsInit = null; +import { asmJsInit as _asmJsInit } from './cjs/data.js'; + +export const asmJsInit = _asmJsInit; diff --git a/packages/wasm-crypto-wasm/package.json b/packages/wasm-crypto-wasm/package.json index 4fdf1288..555a9158 100644 --- a/packages/wasm-crypto-wasm/package.json +++ b/packages/wasm-crypto-wasm/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/wasm-crypto-wasm", - "version": "4.0.1", + "version": "4.0.2", "type": "module", "description": "Wasm content for wasm-crypto", "browser": "data.js", diff --git a/packages/wasm-crypto-wasm/src/bytes.ts b/packages/wasm-crypto-wasm/src/bytes.ts index 44541eda..7ce24ac4 100644 --- a/packages/wasm-crypto-wasm/src/bytes.ts +++ b/packages/wasm-crypto-wasm/src/bytes.ts @@ -1,8 +1,10 @@ // Copyright 2019-2021 @polkadot/wasm-crypto-wasm authors & contributors // SPDX-License-Identifier: Apache-2.0 -export const bytes = ''; +import { bytes as _bytes, sizeCompressed as _sizeCompressed, sizeUncompressed as _sizeUncompressed } from './cjs/bytes'; -export const sizeCompressed = 0; +export const bytes = _bytes; -export const sizeUncompressed = 0; +export const sizeCompressed = _sizeCompressed; + +export const sizeUncompressed = _sizeUncompressed; diff --git a/packages/wasm-crypto-wasm/src/cjs/bytes.d.ts b/packages/wasm-crypto-wasm/src/cjs/bytes.d.ts new file mode 100644 index 00000000..e3034fa8 --- /dev/null +++ b/packages/wasm-crypto-wasm/src/cjs/bytes.d.ts @@ -0,0 +1,6 @@ +// Copyright 2019-2021 @polkadot/wasm-crypto-wasm authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +export declare const bytes = ''; +export declare const sizeCompressed = 0; +export declare const sizeUncompressed = 0; diff --git a/packages/wasm-crypto-wasm/src/cjs/bytes.js b/packages/wasm-crypto-wasm/src/cjs/bytes.js new file mode 100644 index 00000000..e09e57cb --- /dev/null +++ b/packages/wasm-crypto-wasm/src/cjs/bytes.js @@ -0,0 +1,8 @@ +// Copyright 2019-2021 @polkadot/wasm-crypto-wasm authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +exports.bytes = ''; + +exports.sizeCompressed = 0; + +exports.sizeUncompressed = 0; diff --git a/packages/wasm-crypto-wasm/src/cjs/package.json b/packages/wasm-crypto-wasm/src/cjs/package.json new file mode 100644 index 00000000..5bbefffb --- /dev/null +++ b/packages/wasm-crypto-wasm/src/cjs/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/packages/wasm-crypto-wasm/src/empty.ts b/packages/wasm-crypto-wasm/src/empty.ts index e244569e..11416160 100644 --- a/packages/wasm-crypto-wasm/src/empty.ts +++ b/packages/wasm-crypto-wasm/src/empty.ts @@ -1,4 +1,8 @@ // Copyright 2019-2021 @polkadot/wasm-crypto-wasm authors & contributors // SPDX-License-Identifier: Apache-2.0 -export const wasmBytes = null; +export const bytes = null; + +export const sizeCompressed = 0; + +export const sizeUncompressed = 0; diff --git a/packages/wasm-crypto/package.json b/packages/wasm-crypto/package.json index a519c890..868145df 100644 --- a/packages/wasm-crypto/package.json +++ b/packages/wasm-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/wasm-crypto", - "version": "4.0.1", + "version": "4.0.2", "type": "module", "author": "Jaco Greeff ", "main": "index.js", @@ -10,8 +10,8 @@ ], "dependencies": { "@babel/runtime": "^7.13.9", - "@polkadot/wasm-crypto-asmjs": "^4.0.1", - "@polkadot/wasm-crypto-wasm": "^4.0.1" + "@polkadot/wasm-crypto-asmjs": "^4.0.2", + "@polkadot/wasm-crypto-wasm": "^4.0.2" }, "devDependencies": { "@polkadot/util": "^6.0.1-6", diff --git a/scripts/build-wasm.sh b/scripts/build-wasm.sh index 0de6b6ea..1cd6e99c 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.cjs +ASM=wasm-crypto-asmjs/build/cjs/data.js # build new via wasm-pack echo "*** Building Rust sources" @@ -44,5 +44,5 @@ sed -i -e 's/var retasmFunc = /const asmJsInit = (wbg) => /' $ASM echo "module.exports = { asmJsInit };" >> $ASM # cleanups -rm -rf wasm-crypto-asmjs/build/*-e -rm -rf wasm-crypto-wasm/build/*-e +rm -rf wasm-crypto-asmjs/build/cjs/*-e +rm -rf wasm-crypto-wasm/build/cjs/*-e diff --git a/scripts/pack-wasm-base.cjs b/scripts/pack-wasm-base.cjs index b36f69ee..a610df76 100755 --- a/scripts/pack-wasm-base.cjs +++ b/scripts/pack-wasm-base.cjs @@ -5,7 +5,7 @@ const fflate = require('fflate/node'); const fs = require('fs'); const { formatNumber } = require('@polkadot/util'); -const A_NAME = 'wasm-crypto-asmjs'; +// const A_NAME = 'wasm-crypto-asmjs'; const W_NAME = 'wasm-crypto-wasm'; function hdr (package) { @@ -25,17 +25,17 @@ function getWasmBuffer () { return { compressed, sizeUncompressed: data.length }; } -fs.writeFileSync(`./${A_NAME}/build/data.js`, `${hdr(A_NAME)} -export { asmJsInit } from './data.cjs'; -`); +// fs.writeFileSync(`./${A_NAME}/build/data.js`, `${hdr(A_NAME)} +// export { asmJsInit } from './data.cjs'; +// `); -fs.writeFileSync(`./${W_NAME}/build/bytes.js`, `${hdr(W_NAME)} -export { bytes, sizeCompressed, sizeUncompressed } from './bytes.cjs'; -`); +// 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.cjs`, `${hdr(W_NAME)} +fs.writeFileSync(`./${W_NAME}/build/cjs/bytes.js`, `${hdr(W_NAME)} const sizeCompressed = ${compressed.length}; const sizeUncompressed = ${sizeUncompressed}; const bytes = '${compressed.toString('base64')}'; diff --git a/yarn.lock b/yarn.lock index 9d6fcefb..fe9de58b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1878,7 +1878,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/wasm-crypto-asmjs@^4.0.1, @polkadot/wasm-crypto-asmjs@workspace:packages/wasm-crypto-asmjs": +"@polkadot/wasm-crypto-asmjs@^4.0.2, @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: @@ -1886,7 +1886,7 @@ __metadata: languageName: unknown linkType: soft -"@polkadot/wasm-crypto-wasm@^4.0.1, @polkadot/wasm-crypto-wasm@workspace:packages/wasm-crypto-wasm": +"@polkadot/wasm-crypto-wasm@^4.0.2, @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: @@ -1900,8 +1900,8 @@ __metadata: dependencies: "@babel/runtime": ^7.13.9 "@polkadot/util": ^6.0.1-6 - "@polkadot/wasm-crypto-asmjs": ^4.0.1 - "@polkadot/wasm-crypto-wasm": ^4.0.1 + "@polkadot/wasm-crypto-asmjs": ^4.0.2 + "@polkadot/wasm-crypto-wasm": ^4.0.2 "@polkadot/x-randomvalues": ^6.0.1-6 peerDependencies: "@polkadot/util": "*"