]> git.codecow.com Git - libnemo.git/commitdiff
Drop IIFE build. Pin build targets for consistency and compatibility.
authorChris Duncan <chris@zoso.dev>
Sun, 29 Mar 2026 07:34:59 +0000 (00:34 -0700)
committerChris Duncan <chris@zoso.dev>
Sun, 29 Mar 2026 07:34:59 +0000 (00:34 -0700)
esbuild/config.mjs
esbuild/dev.mjs
esbuild/prod.mjs
esbuild/vault.mjs

index 5466379175b642793c9bc38e69ffb2233255095c..7305ce56a65c0c09e981be502ba909bd90e39a91 100644 (file)
@@ -4,60 +4,49 @@
 import { browserVaultWorker, nodeVaultWorker } from './vault.mjs'
 
 /**
-* @type {import('esbuild').BuildOptions}
-*/
+ * @type {import('esbuild').BuildOptions}
+ */
 const sharedOptions = {
        bundle: true,
        minify: false,
        sourcemap: 'linked',
-       platform: 'browser',
+       format: 'esm',
        loader: {
                '.d.ts': 'copy'
        },
        legalComments: 'inline',
-       outdir: 'dist',
-       target: 'es2024',
-       dropLabels: ['NODE'],
-       inject: ['./esbuild/inject/buffer.mjs']
+       outdir: 'dist'
 }
 
 /**
-* @type {import('esbuild').BuildOptions}
-*/
+ * @type {import('esbuild').BuildOptions}
+ */
 export const browserOptions = {
        ...sharedOptions,
-       format: 'esm',
+       platform: 'browser',
+       target: 'es2022',
+       dropLabels: ['NODE'],
        entryPoints: [
                { in: './src/main.ts', out: 'browser.min' }
        ],
+       inject: ['./esbuild/inject/buffer.mjs'],
        define: {
                'VAULT_WORKER': browserVaultWorker
        }
 }
 
 /**
-* @type {import('esbuild').BuildOptions}
-*/
-export const iifeOptions = {
-       ...sharedOptions,
-       format: 'iife',
-       globalName: 'libnemo',
-       entryPoints: [
-               { in: './src/main.ts', out: 'global.min' }
-       ]
-}
-
-/**
-* @type {import('esbuild').BuildOptions}
-*/
+ * @type {import('esbuild').BuildOptions}
+ */
 export const nodeOptions = {
        ...sharedOptions,
-       format: 'esm',
+       platform: 'node',
+       target: 'node22',
+       dropLabels: ['BROWSER'],
        entryPoints: [
                { in: './src/main.ts', out: 'nodejs.min' }
        ],
        external: ['node:worker_threads'],
-       dropLabels: ['BROWSER'],
        inject: ['./esbuild/inject/fake-indexeddb.mjs'],
        define: {
                'VAULT_WORKER': nodeVaultWorker
index 1011cedd49cabf050dcd7bf519ebae3e58e72a18..c14f8fac37c2ef0c65dcba6dc6d9edb936dbb7d0 100644 (file)
@@ -2,8 +2,7 @@
 //! SPDX-License-Identifier: GPL-3.0-or-later
 
 import { build } from 'esbuild'
-import { browserOptions, iifeOptions, nodeOptions } from './config.mjs'
+import { browserOptions, nodeOptions } from './config.mjs'
 
 await build(browserOptions)
-// await build(iifeOptions)
 await build(nodeOptions)
index 769e302d33933a4d9400b2acaa8a607e0fe8aa3d..eeca8b4e9588f4588101691d6c6c4c9e648d490f 100644 (file)
@@ -2,7 +2,7 @@
 //! SPDX-License-Identifier: GPL-3.0-or-later
 
 import { build } from 'esbuild'
-import { browserOptions, iifeOptions, nodeOptions } from './config.mjs'
+import { browserOptions, nodeOptions } from './config.mjs'
 
 /**
 * @type {import('esbuild').BuildOptions}
@@ -14,5 +14,4 @@ const prodOptions = {
 }
 
 await build({ ...browserOptions, ...prodOptions })
-await build({ ...iifeOptions, ...prodOptions })
 await build({ ...nodeOptions, ...prodOptions })
index 51fc274d89561b6b5277115ba27fddaf5fff1d8e..ee23049b8f33e7ad86b66ce829e8b2d9ee9cbf39 100644 (file)
@@ -9,20 +9,22 @@ import { build } from 'esbuild'
 const vaultWorkerOptions = {
        entryPoints: ['./src/lib/vault/vault-worker.ts'],
        format: 'esm',
-       target: 'es2024',
        legalComments: 'inline',
        bundle: true,
+       minify: true,
        write: false,
 }
 
 export const browserVaultWorker = JSON.stringify((await build({
        ...vaultWorkerOptions,
        platform: 'browser',
+       target: 'es2022',
        dropLabels: ['NODE'],
 })).outputFiles?.[0].text)
 
 export const nodeVaultWorker = JSON.stringify((await build({
        ...vaultWorkerOptions,
        platform: 'node',
+       target: 'node22',
        dropLabels: ['BROWSER'],
 })).outputFiles?.[0].text)