import esbuild from "esbuild"; import process from "process"; import builtins from "builtin-modules"; import { copyFileSync, mkdirSync } from "fs"; const prod = process.argv[2] === "production"; mkdirSync("dist", { recursive: true }); for (const f of ["manifest.json", "styles.css"]) copyFileSync(f, `dist/${f}`); const ctx = await esbuild.context({ entryPoints: ["src/main.ts"], bundle: true, external: ["obsidian", "electron", ...builtins], format: "cjs", target: "es2020", logLevel: "info", sourcemap: prod ? false : "inline", treeShaking: true, outfile: "dist/main.js", platform: "node", }); if (prod) { await ctx.rebuild(); process.exit(0); } else { await ctx.watch(); }