import esbuild from "esbuild"; import process from "process"; import builtins from "builtin-modules"; const isProduction = process.argv[2] === "production"; 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 prodConfig = { banner: { js: banner, }, entryPoints: ["src/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: isProduction ? false : "inline", treeShaking: true, outfile: "main.js", }; const devConfig = { ...prodConfig, sourcemap: "inline", }; const config = isProduction ? prodConfig : devConfig; esbuild.build(config).catch(() => process.exit(1));