Skip to content

Commit 71a58a1

Browse files
chore(deps): update dependency esbuild-wasm to v0.28.1 (#829)
* chore(deps): update dependency esbuild-wasm to v0.28.1 * fix(build): eagerly initialize stdout/stderr in esbuild-wasm to prevent V8 crash --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Elliott de Launay <edelaunay@wealthsimple.com>
1 parent cc2588b commit 71a58a1

3 files changed

Lines changed: 18 additions & 16 deletions

File tree

packages/build/src/esbuild.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,15 +197,23 @@ function copyEsbuildWasmFiles(nodeModulesDir: string, distDir: string): void {
197197
]
198198

199199
for (const { src, dest } of filesToCopy) {
200-
fs.copyFileSync(src, dest)
201-
202-
// Make CLI executable.
203200
if (src.endsWith("esbuild")) {
201+
// Read the esbuild binary, patch it to prevent the V8 crash (crbug.com/1201626)
202+
// by eagerly initializing process.stdout.fd and process.stderr.fd on line 2
203+
// before WebAssembly execution takes place.
204+
let content = fs.readFileSync(src, "utf8")
205+
content = content.replace(
206+
/^(#!.*$)/m,
207+
"$1\n// Eagerly initialize stdout/stderr to avoid V8 crash (crbug.com/1201626) inside WASM stack\nconst _ = [process.stdout.fd, process.stderr.fd];",
208+
)
209+
fs.writeFileSync(dest, content)
204210
try {
205211
fs.chmodSync(dest, 0o755)
206212
} catch {
207213
// Ignore chmod errors on Windows.
208214
}
215+
} else {
216+
fs.copyFileSync(src, dest)
209217
}
210218
}
211219

pnpm-lock.yaml

Lines changed: 6 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@
542542
"@vitest/coverage-v8": "4.1.9",
543543
"@vscode/vsce": "3.9.2",
544544
"ai": "6.0.218",
545-
"esbuild-wasm": "0.25.12",
545+
"esbuild-wasm": "0.28.1",
546546
"execa": "9.6.1",
547547
"mkdirp": "3.0.1",
548548
"nock": "14.0.15",

0 commit comments

Comments
 (0)