From d8f62cfdcb0257f5767d8b21d840e0aff743b059 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Wed, 12 Aug 2026 15:40:41 -0400 Subject: [PATCH] fix(core): resolve watcher binding require lazily (#42122) --- packages/core/src/filesystem/watcher-binding.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/core/src/filesystem/watcher-binding.ts b/packages/core/src/filesystem/watcher-binding.ts index 86a848878bc..e36dbbdf2e7 100644 --- a/packages/core/src/filesystem/watcher-binding.ts +++ b/packages/core/src/filesystem/watcher-binding.ts @@ -2,9 +2,10 @@ import { createRequire } from "node:module" declare const OPENCODE_LIBC: string | undefined -const require = createRequire(import.meta.url) - +// Lazy: on workerd import.meta.url is undefined and the watcher is never +// loaded, so createRequire must not run at module scope. export default function load() { + const require = createRequire(import.meta.url) const libc = typeof OPENCODE_LIBC === "undefined" ? undefined : OPENCODE_LIBC return require( process.env.OPENCODE_PARCEL_WATCHER_PATH ??