From f63a451b6f7813588831873d342037315a21c4ea Mon Sep 17 00:00:00 2001 From: Luke Parker <10430890+Hona@users.noreply.github.com> Date: Sat, 4 Jul 2026 13:31:13 +1000 Subject: [PATCH] fix(desktop): stabilize esm shim injection (#35270) --- packages/desktop/electron.vite.config.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/desktop/electron.vite.config.ts b/packages/desktop/electron.vite.config.ts index 5ea46b5165..5d25be209e 100644 --- a/packages/desktop/electron.vite.config.ts +++ b/packages/desktop/electron.vite.config.ts @@ -39,6 +39,17 @@ export default defineConfig({ build: { rollupOptions: { input: { index: "src/main/index.ts", sidecar: "src/main/sidecar.ts" }, + // Keep this identical to electron-vite's Node 20.11+ shim. Its regex insertion can + // corrupt bundled TypeScript, while a Rollup banner places the shim safely. + output: { + banner: ` +// -- CommonJS Shims -- +import __cjs_mod__ from 'node:module'; +const __filename = import.meta.filename; +const __dirname = import.meta.dirname; +const require = __cjs_mod__.createRequire(import.meta.url); +`, + }, }, externalizeDeps: { include: [nodePtyPkg] }, },