From 2ddd07eecf9effbab795194c098923f1bdb77edb Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Wed, 9 Jul 2025 19:05:18 -0400 Subject: [PATCH] simplify esbuild config --- bin/esbuild.config.mjs | 104 ++++++++++------------------------------- package.json | 4 +- 2 files changed, 27 insertions(+), 81 deletions(-) diff --git a/bin/esbuild.config.mjs b/bin/esbuild.config.mjs index ab6984a9..004c85bc 100644 --- a/bin/esbuild.config.mjs +++ b/bin/esbuild.config.mjs @@ -42,113 +42,59 @@ const logOverride = { 'direct-eval': 'silent' }; +const rec = { + bundle: true, + define: { 'process.env.NODE_ENV': `"${mode}"` }, + external: ['module'], + format: 'esm', + logOverride, + minify: isProd, // false for dev, true for prod + platform: 'browser', + sourcemap: !isProd, // true for dev, false for prod + target: 'es2020', +}; + async function buildApp() { try { // Bundle mesh main app - await build({ + await build(Object.assign({}, rec, { entryPoints: [ 'src/main/mesh.js' ], - bundle: true, outfile: MESH_OUTFILE, - format: 'esm', - external: ['module'], - sourcemap: !isProd, // true for dev, false for prod - minify: isProd, // false for dev, true for prod - target: 'es2020', - platform: 'browser', - define: { - 'process.env.NODE_ENV': `"${mode}"` - }, - logOverride - }); + })); appendExtraModules(MESH_EXTRAS, MESH_OUTFILE, isProd); // Bundle mesh worker - await build({ + await build(Object.assign({}, rec, { entryPoints: [ 'src/mesh/work.js' ], - bundle: true, outfile: 'src/pack/mesh-work.js', - format: 'esm', - external: ['module'], - sourcemap: !isProd, // true for dev, false for prod - minify: isProd, // false for dev, true for prod - target: 'es2020', - platform: 'browser', - define: { - 'process.env.NODE_ENV': `"${mode}"` - }, - logOverride - }); + })); // Bundle kiri main app - await build({ + await build(Object.assign({}, rec, { entryPoints: [ 'src/main/kiri.js' ], - bundle: true, outfile: KIRI_OUTFILE, - format: 'esm', - external: ['module'], - sourcemap: !isProd, // true for dev, false for prod - minify: isProd, // false for dev, true for prod - target: 'es2020', - platform: 'browser', - define: { - 'process.env.NODE_ENV': `"${mode}"` - }, - logOverride - }); + })); appendExtraModules(KIRI_EXTRAS, KIRI_OUTFILE, isProd); // Bundle kiri worker - await build({ + await build(Object.assign({}, rec, { entryPoints: [ 'src/kiri/run/worker.js' ], - bundle: true, outfile: 'src/pack/kiri-work.js', - format: 'esm', - external: ['module'], - sourcemap: !isProd, // true for dev, false for prod - minify: isProd, // false for dev, true for prod - target: 'es2020', - platform: 'browser', - define: { - 'process.env.NODE_ENV': `"${mode}"` - }, - logOverride - }); + })); // Bundle kiri minion - await build({ + await build(Object.assign({}, rec, { entryPoints: [ 'src/kiri/run/minion.js' ], - bundle: true, outfile: 'src/pack/kiri-pool.js', - format: 'esm', - external: ['module'], - sourcemap: !isProd, // true for dev, false for prod - minify: isProd, // false for dev, true for prod - target: 'es2020', - platform: 'browser', - define: { - 'process.env.NODE_ENV': `"${mode}"` - }, - logOverride - }); + })); // Bundle kiri engine - await build({ + await build(Object.assign({}, rec, { entryPoints: [ 'src/kiri/run/engine.js' ], - bundle: true, outfile: 'src/pack/kiri-eng.js', - format: 'esm', - external: ['module'], - sourcemap: !isProd, // true for dev, false for prod - minify: isProd, // false for dev, true for prod - target: 'es2020', - platform: 'browser', - define: { - 'process.env.NODE_ENV': `"${mode}"` - }, - logOverride - }); + })); console.log(`Build completed successfully in ${mode} mode!`); } catch (error) { @@ -157,4 +103,4 @@ async function buildApp() { } } -buildApp(); \ No newline at end of file +buildApp(); diff --git a/package.json b/package.json index 18e2b561..2d3d5567 100644 --- a/package.json +++ b/package.json @@ -97,8 +97,8 @@ "dev": "npm run webpack3 && gs-app-server --debug --single", "prod": "npm run webpack prod && gs-app-server", "prod-dryrun": "gs-app-server --dryrun", - "start": "npm run prebuild && electron .", - "start-dev": "npm run prebuild && electron . --devel", + "start": "npm run prebuild prod && electron .", + "start-dev": "npm run prebuild prod && electron . --devel", "start-dbg": "npm run prebuild && electron . --debugg", "start-ddb": "npm run prebuild && electron . --devel --debugg", "mk-links": "find src web -type l | xargs -I{} sh -c 'echo \"{},$(readlink {})\"' > conf/links.csv",