Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.0 kB · 38 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930313233343536373839/** * Shared utilities for expanding environment variables in MCP server configurations */
/** * Expand environment variables in a string value * Handles ${VAR} and ${VAR:-default} syntax * @returns Object with expanded string and list of missing variables */export function expandEnvVarsInString(value: string): { expanded: string missingVars: string[]} { const missingVars: string[] = []
const expanded = value.replace(/\$\{([^}]+)\}/g, (match, varContent) => { // Split on :- to support default values (limit to 2 parts to preserve :- in defaults) const [varName, defaultValue] = varContent.split(':-', 2) const envValue = process.env[varName]
if (envValue !== undefined) { return envValue } if (defaultValue !== undefined) { return defaultValue }
// Track missing variable for error reporting missingVars.push(varName) // Return original if not found (allows debugging but will be reported as error) return match })
return { expanded, missingVars, }}