diff --git a/scripts/prepare-server-compile-cache.cjs b/scripts/prepare-server-compile-cache.cjs index 673d9cc29f2a2..e2918c852bf7c 100644 --- a/scripts/prepare-server-compile-cache.cjs +++ b/scripts/prepare-server-compile-cache.cjs @@ -51,14 +51,14 @@ module.exports = async ({ appOutDir, electronPlatformName, arch, packager }) => env.T3CODE_HOME = state; let result; try { - result = spawnSync( - executable, - [ - "-e", - `require(${JSON.stringify(helper)}).generatePreparedServerCache(${JSON.stringify(resources)}).then(()=>process.exit(0),e=>{console.error(e);process.exit(1)})`, - ], - { env, encoding: "utf8", timeout: 120000 }, + // Run a script file, not -e: -e defines a global __filename of "[eval]", which + // @effect/platform-node passes to createRequire and fails on. + const runner = path.join(state, "prepare-server-compile-cache-runner.cjs"); + fs.writeFileSync( + runner, + `require(${JSON.stringify(helper)}).generatePreparedServerCache(${JSON.stringify(resources)}).then(()=>process.exit(0),e=>{console.error(e);process.exit(1)})`, ); + result = spawnSync(executable, [runner], { env, encoding: "utf8", timeout: 120000 }); } finally { fs.rmSync(state, { recursive: true, force: true }); }