summaryrefslogtreecommitdiff
path: root/scripts/cmd/build.js
diff options
context:
space:
mode:
authorGravatar Nate Moore <natemoo-re@users.noreply.github.com> 2023-03-20 18:36:18 -0500
committerGravatar GitHub <noreply@github.com> 2023-03-20 19:36:18 -0400
commitc9ad4a6b787e2e5c488661ca5714318b07591875 (patch)
treede9c6c784d8b81014f1016a36df7689dc5782015 /scripts/cmd/build.js
parent28373452503bc6ca88221ffd39a5590e015e4d71 (diff)
downloadastro-c9ad4a6b787e2e5c488661ca5714318b07591875.tar.gz
astro-c9ad4a6b787e2e5c488661ca5714318b07591875.tar.zst
astro-c9ad4a6b787e2e5c488661ca5714318b07591875.zip
fix: refactor esbuild setup to support watch (#6608)
Diffstat (limited to 'scripts/cmd/build.js')
-rw-r--r--scripts/cmd/build.js21
1 files changed, 14 insertions, 7 deletions
diff --git a/scripts/cmd/build.js b/scripts/cmd/build.js
index 4412693c3..030bcc0c5 100644
--- a/scripts/cmd/build.js
+++ b/scripts/cmd/build.js
@@ -81,15 +81,15 @@ export default async function build(...args) {
return;
}
- const builder = await esbuild.build({
- ...config,
- watch: {
- onRebuild(error, result) {
+ const rebuildPlugin = {
+ name: 'astro:rebuild',
+ setup(build) {
+ build.onEnd(async result => {
if (prebuilds.length) {
- prebuild(...prebuilds);
+ await prebuild(...prebuilds);
}
const date = dt.format(new Date());
- if (error || (result && result.errors.length)) {
+ if (result && result.errors.length) {
console.error(dim(`[${date}] `) + red(error || result.errors.join('\n')));
} else {
if (result.warnings.length) {
@@ -99,12 +99,17 @@ export default async function build(...args) {
}
console.log(dim(`[${date}] `) + green('✔ updated'));
}
- },
+ });
},
+ };
+
+ const builder = await esbuild.context({
+ ...config,
entryPoints,
outdir,
format,
plugins: [
+ rebuildPlugin,
svelte({ isDev }),
...(copyWASM
? [
@@ -120,6 +125,8 @@ export default async function build(...args) {
],
});
+ await builder.watch();
+
process.on('beforeExit', () => {
builder.stop && builder.stop();
});