JezK
Edit File: rc.js.map
{"version":3,"file":"rc.js","names":["etc","isWin","process","platform","home","env","USERPROFILE","HOME","getRcPaths","name","cwd","configPaths","pushConfigPath","segments","push","path","join","length","slice","unshiftConfigPath","unshift","CONFIG_DIRECTORY","upperCwd","dirname","envVariable","toUpperCase","parseRcPaths","paths","parser","Object","assign","map","readFileSync","toString","error","code","findRc"],"sourceRoot":"../../src","sources":["util/rc.js"],"sourcesContent":["/* @flow */\n\nimport {readFileSync} from 'fs';\nimport * as path from 'path';\nimport {CONFIG_DIRECTORY} from '../constants';\n\nconst etc = '/etc';\nconst isWin = process.platform === 'win32';\nconst home = isWin ? process.env.USERPROFILE : process.env.HOME;\n\nfunction getRcPaths(name: string, cwd: string): Array<string> {\n const configPaths = [];\n\n function pushConfigPath(...segments) {\n configPaths.push(path.join(...segments));\n if (segments[segments.length - 1] === `.${name}rc`) {\n configPaths.push(path.join(...segments.slice(0, -1), `.${name}rc.yml`));\n }\n }\n\n function unshiftConfigPath(...segments) {\n if (segments[segments.length - 1] === `.${name}rc`) {\n configPaths.unshift(path.join(...segments.slice(0, -1), `.${name}rc.yml`));\n }\n configPaths.unshift(path.join(...segments));\n }\n\n if (!isWin) {\n pushConfigPath(etc, name, 'config');\n pushConfigPath(etc, `${name}rc`);\n }\n\n if (home) {\n pushConfigPath(CONFIG_DIRECTORY);\n pushConfigPath(home, '.config', name, 'config');\n pushConfigPath(home, '.config', name);\n pushConfigPath(home, `.${name}`, 'config');\n pushConfigPath(home, `.${name}rc`);\n }\n\n // add .yarnrc locations relative to the cwd\n while (true) {\n unshiftConfigPath(cwd, `.${name}rc`);\n\n const upperCwd = path.dirname(cwd);\n if (upperCwd === cwd) {\n // we've reached the root\n break;\n } else {\n // continue since there's still more directories to search\n cwd = upperCwd;\n }\n }\n\n const envVariable = `${name}_config`.toUpperCase();\n\n if (process.env[envVariable]) {\n pushConfigPath(process.env[envVariable]);\n }\n\n return configPaths;\n}\n\nfunction parseRcPaths(paths: Array<string>, parser: Function): Object {\n return Object.assign(\n {},\n ...paths.map(path => {\n try {\n return parser(readFileSync(path).toString(), path);\n } catch (error) {\n if (error.code === 'ENOENT' || error.code === 'EISDIR') {\n return {};\n } else {\n throw error;\n }\n }\n }),\n );\n}\n\nexport function findRc(name: string, cwd: string, parser: Function): Object {\n return parseRcPaths(getRcPaths(name, cwd), parser);\n}\n"],"mappings":"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"}