refactor: share windows command shim resolution

This commit is contained in:
Peter Steinberger
2026-03-10 20:46:32 +00:00
parent 1df78202b9
commit 344b2286aa
4 changed files with 64 additions and 25 deletions

View File

@@ -0,0 +1,20 @@
import path from "node:path";
import process from "node:process";
export function resolveWindowsCommandShim(params: {
command: string;
cmdCommands: readonly string[];
platform?: NodeJS.Platform;
}): string {
if ((params.platform ?? process.platform) !== "win32") {
return params.command;
}
const basename = path.basename(params.command).toLowerCase();
if (path.extname(basename)) {
return params.command;
}
if (params.cmdCommands.includes(basename)) {
return `${params.command}.cmd`;
}
return params.command;
}