fix watch erroring when clean building
This commit is contained in:
parent
8c5217f9f2
commit
f9fb3bbba7
|
@ -261,6 +261,20 @@ export const stylePlugin: Plugin = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let buildsFinished = Promise.resolve();
|
||||||
|
const buildsFinishedPlugin: Plugin = {
|
||||||
|
name: "builds-finished-plugin",
|
||||||
|
setup({ onEnd }) {
|
||||||
|
if (!watch) return;
|
||||||
|
|
||||||
|
let resolve: () => void;
|
||||||
|
const done = new Promise<void>(r => resolve = r);
|
||||||
|
buildsFinished = buildsFinished.then(() => done);
|
||||||
|
|
||||||
|
onEnd(() => resolve());
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
export const commonOpts = {
|
export const commonOpts = {
|
||||||
logLevel: "info",
|
logLevel: "info",
|
||||||
bundle: true,
|
bundle: true,
|
||||||
|
@ -268,7 +282,7 @@ export const commonOpts = {
|
||||||
sourcemap: watch ? "inline" : "external",
|
sourcemap: watch ? "inline" : "external",
|
||||||
legalComments: "linked",
|
legalComments: "linked",
|
||||||
banner,
|
banner,
|
||||||
plugins: [fileUrlPlugin, gitHashPlugin, gitRemotePlugin, stylePlugin],
|
plugins: [fileUrlPlugin, gitHashPlugin, gitRemotePlugin, stylePlugin, buildsFinishedPlugin],
|
||||||
external: ["~plugins", "~git-hash", "~git-remote", "/assets/*"],
|
external: ["~plugins", "~git-hash", "~git-remote", "/assets/*"],
|
||||||
inject: ["./scripts/build/inject/react.mjs"],
|
inject: ["./scripts/build/inject/react.mjs"],
|
||||||
jsxFactory: "VencordCreateElement",
|
jsxFactory: "VencordCreateElement",
|
||||||
|
@ -286,6 +300,8 @@ export async function buildOrWatchAll() {
|
||||||
if (watch) {
|
if (watch) {
|
||||||
const contexts = await Promise.all(builds.map(context));
|
const contexts = await Promise.all(builds.map(context));
|
||||||
await Promise.all(contexts.map(ctx => ctx.watch()));
|
await Promise.all(contexts.map(ctx => ctx.watch()));
|
||||||
|
|
||||||
|
await buildsFinished;
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
await Promise.all(builds.map(build));
|
await Promise.all(builds.map(build));
|
||||||
|
|
Loading…
Reference in a new issue