Apr 8, 2026 753 B javascript
1import esbuild from "esbuild";
2import builtins from "builtin-modules";
3import process from "process";
4
5const watch = process.argv.includes("--watch");
6
7const ctx = await esbuild.context({
8 entryPoints: ["src/main.ts"],
9 bundle: true,
10 external: [
11 "obsidian",
12 "electron",
13 "@codemirror/autocomplete",
14 "@codemirror/collab",
15 "@codemirror/commands",
16 "@codemirror/language",
17 "@codemirror/lint",
18 "@codemirror/search",
19 "@codemirror/state",
20 "@codemirror/view",
21 "@lezer/common",
22 "@lezer/highlight",
23 "@lezer/lr",
24 ...builtins,
25 ],
26 format: "cjs",
27 target: "es2022",
28 logLevel: "info",
29 sourcemap: "inline",
30 treeShaking: true,
31 outfile: "main.js",
32});
33
34if (watch) {
35 await ctx.watch();
36} else {
37 await ctx.rebuild();
38 process.exit(0);
39}