]> git.codecow.com Git - libnemo.git/commitdiff
Separate node and browser options during build. Conditionally import lib based on...
authorChris Duncan <chris@zoso.dev>
Wed, 23 Jul 2025 05:46:04 +0000 (22:46 -0700)
committerChris Duncan <chris@zoso.dev>
Wed, 23 Jul 2025 05:46:04 +0000 (22:46 -0700)
12 files changed:
esbuild-prod.mjs
test/test.blake2b.mjs
test/test.blocks.mjs
test/test.calculate-pow.mjs
test/test.create-wallet.mjs
test/test.derive-accounts.mjs
test/test.import-wallet.mjs
test/test.ledger.mjs
test/test.lock-unlock.mjs
test/test.manage-rolodex.mjs
test/test.refresh-accounts.mjs
test/test.tools.mjs

index 64ee6e0f3383c20f2e7b2fac83fc6cf3e7f26c61..48c565422d2e139baba4ca8c0c80470906fe2f1c 100644 (file)
@@ -10,18 +10,24 @@ options.minifySyntax = true
 options.minifyWhitespace = true
 
 // Node build
-options.entryPoints = [
-       { in: './src/main.ts', out: 'nodejs.min' }
-]
-options.dropLabels = ['BROWSER']
-options.external = ['node:worker_threads']
-await build(options)
+const nodeOptions = {
+       ...options,
+       entryPoints: [
+               { in: './src/main.ts', out: 'nodejs.min' }
+       ],
+       dropLabels: ['BROWSER'],
+       external: ['node:worker_threads']
+}
+await build(nodeOptions)
 
 // Browser build
-options.entryPoints = [
-       { in: './src/main.ts', out: 'browser.min' },
-       { in: './src/types.d.ts', out: 'types.d' }
-]
-options.dropLabels = ['NODE']
-options.inject = ['./buffer.mjs']
-await build(options)
+const browserOptions = {
+       ...options,
+       entryPoints: [
+               { in: './src/main.ts', out: 'browser.min' },
+               { in: './src/types.d.ts', out: 'types.d' }
+       ],
+       dropLabels: ['NODE'],
+       inject: ['./buffer.mjs']
+}
+await build(browserOptions)
index 0609c9066c5de4f25b30c5a3e28e2c8fcaa53bdd..01fe379db8f36762cf29c86d4e8b7a19c8101d39 100644 (file)
@@ -3,9 +3,9 @@
 \r
 'use strict'\r
 \r
-import { assert, suite, test } from './GLOBALS.mjs'\r
+import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { BLAKE2B_TEST_VECTORS } from './VECTORS.js'\r
-import { Blake2b } from '../dist/main.min.js'\r
+const { Blake2b } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')\r
 \r
 await Promise.all([\r
        suite('BLAKE2b test vectors', async () => {\r
index f03b7c8dbb1ce19fd508ae27234ef5bbd251e058..82b9d45491a774ba04b26ad39fd318429cc49919 100644 (file)
@@ -3,9 +3,9 @@
 \r
 'use strict'\r
 \r
-import { assert, suite, test } from './GLOBALS.mjs'\r
+import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS } from './VECTORS.js'\r
-import { SendBlock, ReceiveBlock, ChangeBlock } from '../dist/main.min.js'\r
+const { SendBlock, ReceiveBlock, ChangeBlock } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')\r
 \r
 await Promise.all([\r
        suite('Block format', async () => {\r
index ef1e73e67a915891fb32229daf05897496a770be..6c8331e09b67fe6aed690032fb4b3b7fb222e9d8 100644 (file)
@@ -5,7 +5,7 @@
 \r
 import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS } from './VECTORS.js'\r
-import { SendBlock, Blake2b } from '../dist/main.min.js'\r
+const { SendBlock, Blake2b } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')\r
 \r
 await Promise.all([\r
        suite('Calculate proof-of-work', { skip: isNode }, async () => {\r
index 7429ca05baaf3aff47338a96756731f05ddb82d8..b3e4badb7694fde6c41b4a9417441871648b1930 100644 (file)
@@ -3,9 +3,9 @@
 \r
 'use strict'\r
 \r
-import { assert, suite, test } from './GLOBALS.mjs'\r
+import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS } from './VECTORS.js'\r
-import { Bip44Wallet, Blake2bWallet } from '../dist/main.min.js'\r
+const { Bip44Wallet, Blake2bWallet } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')\r
 \r
 await Promise.all([\r
        suite('Create wallets', async () => {\r
index a4949af9af46d54e8357fc4a85d2d457acf147ca..5dea00356690c4502e1c51938a29f267d3209b2e 100644 (file)
@@ -3,9 +3,9 @@
 \r
 'use strict'\r
 \r
-import { assert, suite, test } from './GLOBALS.mjs'\r
+import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS } from './VECTORS.js'\r
-import { Bip44Wallet, Blake2bWallet } from '../dist/main.min.js'\r
+const { Bip44Wallet, Blake2bWallet } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')\r
 \r
 await Promise.all([\r
        suite('Derive accounts from BIP-44 wallet', async () => {\r
index 7cc29292fbedebd863ad1352607995e0f7193197..ccd32e2afd8f34eb822dfc4b28e7e7546304524c 100644 (file)
@@ -3,9 +3,9 @@
 \r
 'use strict'\r
 \r
-import { assert, suite, test } from './GLOBALS.mjs'\r
+import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { BIP32_TEST_VECTORS, CUSTOM_TEST_VECTORS, NANO_TEST_VECTORS, TREZOR_TEST_VECTORS } from './VECTORS.js'\r
-import { Account, Bip44Wallet, Blake2bWallet } from '../dist/main.min.js'\r
+const { Account, Bip44Wallet, Blake2bWallet } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')\r
 \r
 await Promise.all([\r
        suite('Import wallets', async () => {\r
index 68c1fcd935ca4c6942dd8a6f57f3e51b41498342..440168adfeef92eee39fdad09e68fb936675aa87 100644 (file)
@@ -5,7 +5,7 @@
 
 import { assert, click, env, isNode, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.js'
-import { Account, LedgerWallet, ReceiveBlock, Rpc, SendBlock } from '../dist/main.min.js'
+const { Account, LedgerWallet, ReceiveBlock, Rpc, SendBlock } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')
 
 const rpc = new Rpc(env.NODE_URL ?? '', env.API_KEY_NAME)
 
index 74aedac0863ea546095ba916c4c1eef5b1855d21..7f463490dcd3942dead480986add8768536b5c1a 100644 (file)
@@ -3,9 +3,9 @@
 \r
 'use strict'\r
 \r
-import { assert, suite, test } from './GLOBALS.mjs'\r
+import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS, TREZOR_TEST_VECTORS } from './VECTORS.js'\r
-import { Bip44Wallet, Blake2bWallet } from '../dist/main.min.js'\r
+const { Bip44Wallet, Blake2bWallet } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')\r
 \r
 await Promise.all([\r
        suite('Lock and unlock wallets', async () => {\r
index f32b2face7d8cb2861081d60a19457e745d158d2..61ef871bfd7ad14ccb1dbadf42c60ec95fb29c84 100644 (file)
@@ -3,9 +3,9 @@
 
 'use strict'
 
-import { assert, suite, test } from './GLOBALS.mjs'
+import { assert, isNode, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.js'
-import { Rolodex, Tools } from '../dist/main.min.js'
+const { Rolodex, Tools } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')
 
 await Promise.all([
        suite('Rolodex valid contact management', async () => {
index 9ce6726859e5656e64720f390056924f7af5f33f..b4fb138f7519b9280f1540b653ab4248ee985449 100644 (file)
@@ -3,9 +3,9 @@
 
 'use strict'
 
-import { assert, env, suite, test } from './GLOBALS.mjs'
+import { assert, env, isNode, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.js'
-import { Account, Bip44Wallet, Rpc } from '../dist/main.min.js'
+const { Account, Bip44Wallet, Rpc } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')
 
 const rpc = new Rpc(env.NODE_URL ?? '', env.API_KEY_NAME)
 
index 2982009806a971eca0e0ddc9e6ab99c79803151f..f9f54c16ff04d885de660a36c8c99fe949373419 100644 (file)
@@ -3,9 +3,9 @@
 \r
 'use strict'\r
 \r
-import { assert, env, suite, test } from './GLOBALS.mjs'\r
+import { assert, env, isNode, suite, test } from './GLOBALS.mjs'\r
 import { RAW_MAX, NANO_TEST_VECTORS } from './VECTORS.js'\r
-import { Bip44Wallet, Account, SendBlock, Rpc, Tools } from '../dist/main.min.js'\r
+const { Bip44Wallet, Account, SendBlock, Rpc, Tools } = await import(isNode ? '../dist/nodejs.min.js' : '../dist/browser.min.js')\r
 \r
 const rpc = new Rpc(env?.NODE_URL ?? '', env?.API_KEY_NAME)\r
 \r