import esbuild from "esbuild"; import process from "process"; import { builtinModules } from "node:module"; const prod = (process.argv[2] === "production"); const context = await esbuild.context({ entryPoints: ["src/main.ts"], bundle: true, external: [ "obsidian", "electron", "@codemirror/autocomplete", "@codemirror/state", "@codemirror/view", ...builtinModules ], format: "cjs", target: "es2018", sourcemap: prod ? false : "inline", treeShaking: true, outfile: "main.js", minify: prod, }); if (prod) { await context.rebuild(); process.exit(0); } else { await context.watch(); }