Skip to content

Commit 55db2cc

Browse files
committed
Fix ESBuild initialization race condition
1 parent 34d68b7 commit 55db2cc

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

packages/stack-shared/src/utils/esbuild.tsx

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,18 @@ let esbuildInitializePromise: Promise<void> | null = null;
1010

1111
export async function initializeEsbuild() {
1212
if (!esbuildInitializePromise) {
13-
esbuildInitializePromise = esbuild.initialize(isBrowserLike() ? {
14-
wasmURL: `https://unpkg.com/esbuild-wasm@${esbuild.version}/esbuild.wasm`,
15-
} : {
16-
wasmModule: (
17-
await fetch(`https://unpkg.com/esbuild-wasm@${esbuild.version}/esbuild.wasm`)
18-
.then(wasm => wasm.arrayBuffer())
19-
.then(wasm => new WebAssembly.Module(wasm))
20-
),
21-
worker: false,
22-
});
13+
esbuildInitializePromise = (async () => {
14+
await esbuild.initialize(isBrowserLike() ? {
15+
wasmURL: `https://unpkg.com/esbuild-wasm@${esbuild.version}/esbuild.wasm`,
16+
} : {
17+
wasmModule: (
18+
await fetch(`https://unpkg.com/esbuild-wasm@${esbuild.version}/esbuild.wasm`)
19+
.then(wasm => wasm.arrayBuffer())
20+
.then(wasm => new WebAssembly.Module(wasm))
21+
),
22+
worker: false,
23+
});
24+
})();
2325
}
2426
await esbuildInitializePromise;
2527
}

0 commit comments

Comments
 (0)