// Bundle du process principal + preload en CJS (comme l'extension VS Code). `electron` reste
// externe (fourni par le runtime Electron) ; les modules node natifs sont externes par platform:node.
import esbuild from 'esbuild';

const watch = process.argv.includes('--watch');

const options = {
  entryPoints: { main: 'src/main/main.ts', preload: 'src/preload/preload.ts' },
  outdir: 'dist',
  bundle: true,
  platform: 'node',
  format: 'cjs',
  target: 'node18',
  sourcemap: true,
  external: ['electron'],
  logLevel: 'info',
};

if (watch) {
  const ctx = await esbuild.context(options);
  await ctx.watch();
} else {
  await esbuild.build(options);
}
