24 lines
698 B
JavaScript
24 lines
698 B
JavaScript
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(); }
|