Files
iD/config/esbuild.config.mjs
2023-10-07 20:45:11 +13:00

30 lines
726 B
JavaScript

import esbuild from 'esbuild';
import fs from 'node:fs';
import parse from 'minimist';
import envs from './envs.mjs';
import browserslistToEsbuild from 'browserslist-to-esbuild';
let args = parse(process.argv.slice(2), {boolean: true});
const context = await esbuild.context({
define: envs,
bundle: true,
sourcemap: true,
entryPoints: ['./modules/id.js'],
legalComments: 'none',
logLevel: 'info',
metafile: true,
outfile: 'dist/iD.js',
target: browserslistToEsbuild(),
});
if (args.watch) {
await context.watch();
} else {
const build = await context.rebuild();
if (args.stats) {
fs.writeFileSync('./dist/esbuild.json', JSON.stringify(build.metafile, null, 2));
}
await context.dispose();
}