mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-18 17:04:49 +00:00
30 lines
837 B
TypeScript
30 lines
837 B
TypeScript
import { existsSync } from "fs";
|
|
|
|
/**
|
|
* Get shell configuration based on platform
|
|
*/
|
|
export function getShellConfig(): { shell: string; args: string[] } {
|
|
if (process.platform === "win32") {
|
|
const paths: string[] = [];
|
|
const programFiles = process.env.ProgramFiles;
|
|
if (programFiles) {
|
|
paths.push(`${programFiles}\\Git\\bin\\bash.exe`);
|
|
}
|
|
const programFilesX86 = process.env["ProgramFiles(x86)"];
|
|
if (programFilesX86) {
|
|
paths.push(`${programFilesX86}\\Git\\bin\\bash.exe`);
|
|
}
|
|
|
|
for (const path of paths) {
|
|
if (existsSync(path)) {
|
|
return { shell: path, args: ["-c"] };
|
|
}
|
|
}
|
|
|
|
throw new Error(
|
|
`Git Bash not found. Please install Git for Windows from https://git-scm.com/download/win\n` +
|
|
`Searched in:\n${paths.map((p) => ` ${p}`).join("\n")}`,
|
|
);
|
|
}
|
|
return { shell: "sh", args: ["-c"] };
|
|
}
|