Update `esbuild.config.mjs` to work with esbuild v0.17
The `v0.17.x` versions of `esbuild` contain breaking changes that require modifications to your configuration file, `esbuild.config.mjs`. Without these changes, running `npm run build` or `npm run dev` produces an output like this: ``` ✘ [ERROR] Invalid option in build() call: "watch" ``` This updates the config file to match the new requirements, preserving all existing functionality, including our "build" and "dev" modes in `package.json`'s `scripts`. Fixes https://github.com/obsidianmd/obsidian-sample-plugin/issues/45.
This commit is contained in:
parent
8925417e37
commit
1a474dd440
|
@ -11,7 +11,7 @@ if you want to view the source, please visit the github repository of this plugi
|
||||||
|
|
||||||
const prod = (process.argv[2] === "production");
|
const prod = (process.argv[2] === "production");
|
||||||
|
|
||||||
esbuild.build({
|
const context = await esbuild.context({
|
||||||
banner: {
|
banner: {
|
||||||
js: banner,
|
js: banner,
|
||||||
},
|
},
|
||||||
|
@ -33,10 +33,16 @@ esbuild.build({
|
||||||
"@lezer/lr",
|
"@lezer/lr",
|
||||||
...builtins],
|
...builtins],
|
||||||
format: "cjs",
|
format: "cjs",
|
||||||
watch: !prod,
|
|
||||||
target: "es2018",
|
target: "es2018",
|
||||||
logLevel: "info",
|
logLevel: "info",
|
||||||
sourcemap: prod ? false : "inline",
|
sourcemap: prod ? false : "inline",
|
||||||
treeShaking: true,
|
treeShaking: true,
|
||||||
outfile: "main.js",
|
outfile: "main.js",
|
||||||
}).catch(() => process.exit(1));
|
});
|
||||||
|
|
||||||
|
if (prod) {
|
||||||
|
await context.rebuild();
|
||||||
|
process.exit(0);
|
||||||
|
} else {
|
||||||
|
await context.watch();
|
||||||
|
}
|
Loading…
Reference in New Issue