From 09f007d519a2c88373aa9ae3f91d29946aab2a4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Fri, 2 Oct 2026 22:26:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=9F=E6=88=90=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E6=A0=A1=E9=AA=8C=E5=9C=A8=20Windows=20=E4=B8=8A?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E4=B8=8D=E4=BA=86=20npx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - check-generated-bindings.mjs:prettier 归一化改用平台命令名 npx.cmd / npx,spawnSync 无 shell 时 Windows 解析不到裸 npx --- scripts/check-generated-bindings.mjs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/check-generated-bindings.mjs b/scripts/check-generated-bindings.mjs index 0a3140b0b..c9b15220a 100644 --- a/scripts/check-generated-bindings.mjs +++ b/scripts/check-generated-bindings.mjs @@ -24,6 +24,9 @@ const repoRoot = path.resolve( '..', ); +// Windows 上 `npx` 以 `npx.cmd` 落地,`spawnSync` 不带 shell 时解析不到(ENOENT)。 +const npxCommand = process.platform === 'win32' ? 'npx.cmd' : 'npx'; + const SHARED_CONTRACTS_DIR = 'packages/shared/src/contracts/generated'; const AGC_CHAT_DIR = 'apps/ai-game-creator-shell/src/view/project-development/chat/generated'; @@ -115,7 +118,11 @@ for (const target of targets) { process.exit(result.status ?? 1); } if (target.formatDirs.length > 0) { - const formatted = run('npx', ['prettier', '--write', ...target.formatDirs]); + const formatted = run(npxCommand, [ + 'prettier', + '--write', + ...target.formatDirs, + ]); if (formatted.status !== 0) { console.error( `生成绑定校验无法运行:${target.label} 的 prettier 格式化失败`,