From 0f8956dcf38bbcc15f6a1aa9b4fb86cdd2ac0c6d Mon Sep 17 00:00:00 2001 From: LukeGus Date: Fri, 25 Sep 2026 10:13:52 -0500 Subject: [PATCH] fix: give bundled plugin backends a real require for CJS deps --- packages/plugin-sdk/cli/commands/build.mjs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/plugin-sdk/cli/commands/build.mjs b/packages/plugin-sdk/cli/commands/build.mjs index 33f79270f..fe9e20de6 100644 --- a/packages/plugin-sdk/cli/commands/build.mjs +++ b/packages/plugin-sdk/cli/commands/build.mjs @@ -47,6 +47,11 @@ export async function build({ cwd }) { // node_modules import instead, resolved at runtime like a host-provided // package. external: [...BACKEND_EXTERNALS, ...(manifest.nativeDependencies ?? [])], + // Bundled CJS deps still call require() for Node builtins at runtime. + // ESM has no ambient require, so give esbuild's require shim a real one. + banner: { + js: "import { createRequire as __termixCreateRequire } from 'node:module'; const require = __termixCreateRequire(import.meta.url);", + }, }); const frontendEntry = resolveEntry(cwd, FRONTEND_ENTRIES);