import * as esbuild from 'esbuild'; import { cpSync, mkdirSync, existsSync } from 'node:fs'; const outdir = 'dist'; mkdirSync(outdir, { recursive: true }); await esbuild.build({ entryPoints: { background: 'src/background/index.ts', popup: 'src/popup/popup.ts', }, bundle: true, format: 'esm', target: 'chrome120', outdir, logLevel: 'info', }); cpSync('manifest.json', `${outdir}/manifest.json`); cpSync('src/popup/popup.html', `${outdir}/popup.html`); cpSync('src/popup/popup.css', `${outdir}/popup.css`); if (existsSync('icons')) { cpSync('icons', `${outdir}/icons`, { recursive: true }); } console.log(`Built -> ${outdir}/`);