diff --git a/esbuild.config.mjs b/esbuild.config.mjs index d8c74b1..b13282b 100644 --- a/esbuild.config.mjs +++ b/esbuild.config.mjs @@ -2,53 +2,47 @@ import esbuild from "esbuild"; import process from "process"; import builtins from "builtin-modules"; -const banner = `/* +const banner = +`/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ `; -const prod = process.argv[2] === "production"; +const prod = (process.argv[2] === "production"); -esbuild - .build({ - banner: { - js: banner, - }, - entryPoints: ["src/main.ts"], - bundle: true, - external: [ - "obsidian", - "electron", - "@codemirror/autocomplete", - "@codemirror/closebrackets", - "@codemirror/collab", - "@codemirror/commands", - "@codemirror/comment", - "@codemirror/fold", - "@codemirror/gutter", - "@codemirror/highlight", - "@codemirror/history", - "@codemirror/language", - "@codemirror/lint", - "@codemirror/matchbrackets", - "@codemirror/panel", - "@codemirror/rangeset", - "@codemirror/rectangular-selection", - "@codemirror/search", - "@codemirror/state", - "@codemirror/stream-parser", - "@codemirror/text", - "@codemirror/tooltip", - "@codemirror/view", - ...builtins, - ], - format: "cjs", - watch: !prod, - target: "es2016", - logLevel: "info", - sourcemap: prod ? false : "inline", - treeShaking: true, - outfile: "main.js", - }) - .catch(() => process.exit(1)); +const context = await esbuild.context({ + banner: { + js: banner, + }, + entryPoints: ["main.ts"], + bundle: true, + external: [ + "obsidian", + "electron", + "@codemirror/autocomplete", + "@codemirror/collab", + "@codemirror/commands", + "@codemirror/language", + "@codemirror/lint", + "@codemirror/search", + "@codemirror/state", + "@codemirror/view", + "@lezer/common", + "@lezer/highlight", + "@lezer/lr", + ...builtins], + format: "cjs", + target: "es2018", + logLevel: "info", + sourcemap: prod ? false : "inline", + treeShaking: true, + outfile: "main.js", +}); + +if (prod) { + await context.rebuild(); + process.exit(0); +} else { + await context.watch(); +} \ No newline at end of file