From d57efd3963272d613d756d32f09faa46a6cf0eda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pascal=20Andr=C3=A9?= Date: Fri, 22 May 2026 09:14:32 +0200 Subject: [PATCH] fix(den-api): build on Windows --- ee/apps/den-api/scripts/build.mjs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ee/apps/den-api/scripts/build.mjs b/ee/apps/den-api/scripts/build.mjs index 5fe9bab9b9..4cd48ac232 100644 --- a/ee/apps/den-api/scripts/build.mjs +++ b/ee/apps/den-api/scripts/build.mjs @@ -8,7 +8,8 @@ const serviceDir = path.resolve(scriptDir, "..") const repoRoot = path.resolve(serviceDir, "..", "..", "..") const desktopPackagePath = path.join(repoRoot, "apps", "desktop", "package.json") const generatedVersionPath = path.join(serviceDir, "src", "generated", "app-version.ts") -const pnpmCommand = process.platform === "win32" ? "pnpm.cmd" : "pnpm" +const pnpmCommand = "pnpm" +const useShellForPnpm = process.platform === "win32" const fallbackAppVersion = "0.0.0" function readDesktopVersion() { @@ -40,13 +41,24 @@ function writeGeneratedVersionFile(latestAppVersion) { ) } +function quoteShellArg(value) { + return `"${String(value).replace(/"/g, '\\"')}"` +} + function run(command, args) { - const result = spawnSync(command, args, { + const shellCommand = [command, ...args.map(quoteShellArg)].join(" ") + const result = spawnSync(useShellForPnpm ? shellCommand : command, useShellForPnpm ? [] : args, { cwd: serviceDir, env: process.env, stdio: "inherit", + shell: useShellForPnpm, }) + if (result.error) { + console.error(result.error) + process.exit(1) + } + if (result.status !== 0) { process.exit(result.status ?? 1) }