PATH:
usr
/
local
/
lib
/
node_modules
/
gulp
/
node_modules
/
yargs
/
lib
var fs = require('fs') var path = require('path') var assign = require('./assign') var YError = require('./yerror') var previouslyVisitedConfigs = [] function checkForCircularExtends (path) { if (previouslyVisitedConfigs.indexOf(path) > -1) { throw new YError("Circular extended configurations: '" + path + "'.") } } function getPathToDefaultConfig (cwd, pathToExtend) { return path.resolve(cwd, pathToExtend) } function applyExtends (config, cwd, subKey) { var defaultConfig = {} if (config.hasOwnProperty('extends')) { var pathToDefault = getPathToDefaultConfig(cwd, config.extends) checkForCircularExtends(pathToDefault) previouslyVisitedConfigs.push(pathToDefault) delete config.extends defaultConfig = JSON.parse(fs.readFileSync(pathToDefault, 'utf8')) if (subKey) { defaultConfig = defaultConfig[subKey] || {} } defaultConfig = applyExtends(defaultConfig, path.dirname(pathToDefault), subKey) } previouslyVisitedConfigs = [] return assign(defaultConfig, config) } module.exports = applyExtends
[-] apply-extends.js
[edit]
[-] obj-filter.js
[edit]
[-] usage.js
[edit]
[-] completion.js
[edit]
[+]
..
[-] validation.js
[edit]
[-] argsert.js
[edit]
[-] command.js
[edit]
[-] levenshtein.js
[edit]
[-] yerror.js
[edit]
[-] assign.js
[edit]