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:
Tim Rogers 2023-01-19 09:42:48 +00:00
parent 8925417e37
commit 1a474dd440
No known key found for this signature in database
1 changed files with 9 additions and 3 deletions

View File

@ -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");
esbuild.build({
const context = await esbuild.context({
banner: {
js: banner,
},
@ -33,10 +33,16 @@ esbuild.build({
"@lezer/lr",
...builtins],
format: "cjs",
watch: !prod,
target: "es2018",
logLevel: "info",
sourcemap: prod ? false : "inline",
treeShaking: true,
outfile: "main.js",
}).catch(() => process.exit(1));
});
if (prod) {
await context.rebuild();
process.exit(0);
} else {
await context.watch();
}