(binaryName: BinaryType)
| 22 | } |
| 23 | |
| 24 | export function getBinaryEnvVarPath(binaryName: BinaryType): PathFromEnvValue | null { |
| 25 | const envVar = getEnvVarToUse(binaryName) |
| 26 | |
| 27 | if (process.env[envVar]) { |
| 28 | const envVarPath = path.resolve(process.cwd(), process.env[envVar]!) |
| 29 | if (!fs.existsSync(envVarPath)) { |
| 30 | throw new Error( |
| 31 | `Env var ${bold(envVar)} is provided but provided path ${underline(process.env[envVar]!)} can't be resolved.`, |
| 32 | ) |
| 33 | } |
| 34 | debug( |
| 35 | `Using env var ${bold(envVar)} for binary ${bold(binaryName)}, which points to ${underline( |
| 36 | process.env[envVar]!, |
| 37 | )}`, |
| 38 | ) |
| 39 | return { |
| 40 | path: envVarPath, |
| 41 | fromEnvVar: envVar, |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | return null |
| 46 | } |
| 47 | |
| 48 | function getEnvVarToUse(binaryType: BinaryType): string { |
| 49 | const envVar = engineEnvVarMap[binaryType] |
no test coverage detected