From 1b5c018a261ea96ec12d61975d0e1c8974c7b272 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Fri, 29 Aug 2025 11:40:55 -0700 Subject: [PATCH] Create IIFE build. --- esbuild.mjs | 27 ++++++++++++++++++++++++--- index.html | 19 ++----------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/esbuild.mjs b/esbuild.mjs index 2f337af..b886fb5 100644 --- a/esbuild.mjs +++ b/esbuild.mjs @@ -12,15 +12,33 @@ const sharedOptions = { loader: { '.d.ts': 'copy' }, - format: 'esm', legalComments: 'inline', outdir: 'dist', target: 'esnext' } -// Browser build +/** +* @type {import('esbuild').BuildOptions} +*/ +export const iifeOptions = { + ...sharedOptions, + format: 'iife', + globalName: 'libnemo', + entryPoints: [ + { in: './src/main.ts', out: 'global.min' }, + { in: './src/types.d.ts', out: 'types.d' } + ], + dropLabels: ['NODE'], + inject: ['./buffer.mjs'] +} +await build(iifeOptions) + +/** +* @type {import('esbuild').BuildOptions} +*/ export const browserOptions = { ...sharedOptions, + format: 'esm', entryPoints: [ { in: './src/main.ts', out: 'browser.min' }, { in: './src/types.d.ts', out: 'types.d' } @@ -30,9 +48,12 @@ export const browserOptions = { } await build(browserOptions) -// Node build +/** +* @type {import('esbuild').BuildOptions} +*/ export const nodeOptions = { ...sharedOptions, + format: 'esm', entryPoints: [ { in: './src/main.ts', out: 'nodejs.min' } ], diff --git a/index.html b/index.html index be85bd6..52ad248 100644 --- a/index.html +++ b/index.html @@ -9,22 +9,6 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + -- 2.47.3