import * as esbuild from "esbuild"
import { mkdir, rm } from "node:fs/promises"
const EXTERNAL = ["node:module", "node:path", "node:fs", "node:url"]
// Clean dist so stale outputs from a previous layout don't leak through.
await rm("dist", { recursive: true, force: true })
await mkdir("dist", { recursive: true })
// 1. Plugin factory — the entry DevEco Code imports via `android2harmony`.
await esbuild.build({
entryPoints: ["src/index.ts"],
bundle: true,
platform: "node",
target: "node18",
format: "esm",
outfile: "dist/index.js",
external: EXTERNAL,
sourcemap: true,
minify: false,
})
console.log("Build complete: dist/index.js")