import esbuild from "esbuild"; import process from "process"; import builtins from "builtin-modules"; import esbuildSvelte from "esbuild-svelte"; import sveltePreprocess from "svelte-preprocess"; 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"; esbuild .build({ banner: { js: banner, }, entryPoints: ["main.ts"], bundle: true, plugins: [ esbuildSvelte({ compilerOptions: { css: true }, preprocess: sveltePreprocess(), }), ], 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));