UNPKG

alinea

Version:
38 lines (36 loc) 828 B
import "../../chunks/chunk-NZLE2WMY.js"; // src/cli/build/BuildEmitter.ts import esbuild from "esbuild"; import { createEmitter } from "../util/Emitter.js"; function buildEmitter(config) { let context; let canceled = false; const results = createEmitter({ onReturn() { context?.dispose(); canceled = true; } }); esbuild.context({ ...config, plugins: [ ...config.plugins || [], { name: "build-iterator", setup(build) { build.onStart( () => results.emit({ type: "start", result: void 0 }) ); build.onEnd((result) => results.emit({ type: "done", result })); } } ] }).then((ctx) => { context = ctx; if (!canceled) ctx.watch(); }, results.throw); return results; } export { buildEmitter };