'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
// istanbul ignore next
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _configLoader = require('../configLoader');
exports['default'] = loader;
/**
* Command line config helpers
* Shamelessly ripped from with slight modifications:
* https://github.com/jscs-dev/node-jscs/blob/master/lib/cli-config.js
*/
/**
* Get content of the configuration file
* @param {String} config - partial path to configuration file
* @param {String} [cwd = process.cwd()] - directory path which will be joined with config argument
* @return {Object|undefined}
*/
function loader(configs, config, cwd) {
var content;
var directory = cwd || process.cwd();
// If config option is given, attempt to load it
Iif (config) {
return (0, _configLoader.getContent)(config, directory);
}
content = (0, _configLoader.getContent)((0, _configLoader.findup)(configs, { nocase: true, cwd: directory }, function (configPath) {
Eif (_path2['default'].basename(configPath) === 'package.json') {
// return !!this.getContent(configPath);
}
return true;
}));
if (content) {
return content;
}
// Try to load standard configs from home dir
var directoryArr = [process.env.USERPROFILE, process.env.HOMEPATH, process.env.HOME];
for (var i = 0, dirLen = directoryArr.length; i < dirLen; i++) {
if (!directoryArr[i]) {
continue;
}
for (var j = 0, len = configs.length; j < len; j++) {
content = (0, _configLoader.getContent)(configs[j], directoryArr[i]);
Iif (content) {
return content;
}
}
}
}
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3RyYXZpcy9idWlsZC9jb21taXRpemVuL2N6LWNsaS9zcmMvY29uZmlnTG9hZGVyL2xvYWRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7b0JBQWlCLE1BQU07Ozs7NEJBRVUsaUJBQWlCOztxQkFFbkMsTUFBTTs7Ozs7Ozs7Ozs7Ozs7QUFjckIsU0FBUyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7QUFDbEMsUUFBSSxPQUFPLENBQUM7QUFDWixRQUFJLFNBQVMsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDOzs7QUFHckMsUUFBSSxNQUFNLEVBQUU7QUFDUixlQUFPLDhCQUFXLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztLQUN4Qzs7QUFFRCxXQUFPLEdBQUcsOEJBQ04sMEJBQU8sT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsVUFBUyxVQUFVLEVBQUU7QUFDbkUsWUFBSSxrQkFBSyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssY0FBYyxFQUFFOztTQUVqRDs7QUFFRCxlQUFPLElBQUksQ0FBQztLQUNmLENBQUMsQ0FDTCxDQUFDOztBQUVGLFFBQUksT0FBTyxFQUFFO0FBQ1QsZUFBTyxPQUFPLENBQUM7S0FDbEI7OztBQUdELFFBQUksWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyRixTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzNELFlBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDbEIscUJBQVM7U0FDWjs7QUFFRCxhQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ2hELG1CQUFPLEdBQUcsOEJBQVcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUVsRCxnQkFBSSxPQUFPLEVBQUU7QUFDVCx1QkFBTyxPQUFPLENBQUM7YUFDbEI7U0FDSjtLQUNKO0NBQ0oiLCJmaWxlIjoiL2hvbWUvdHJhdmlzL2J1aWxkL2NvbW1pdGl6ZW4vY3otY2xpL3NyYy9jb25maWdMb2FkZXIvbG9hZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7ZmluZHVwLCBnZXRDb250ZW50fSBmcm9tICcuLi9jb25maWdMb2FkZXInO1xuXG5leHBvcnQgZGVmYXVsdCBsb2FkZXI7XG5cbi8qKlxuICogQ29tbWFuZCBsaW5lIGNvbmZpZyBoZWxwZXJzXG4gKiBTaGFtZWxlc3NseSByaXBwZWQgZnJvbSB3aXRoIHNsaWdodCBtb2RpZmljYXRpb25zOiBcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9qc2NzLWRldi9ub2RlLWpzY3MvYmxvYi9tYXN0ZXIvbGliL2NsaS1jb25maWcuanNcbiAqL1xuXG4vKipcbiAqIEdldCBjb250ZW50IG9mIHRoZSBjb25maWd1cmF0aW9uIGZpbGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb25maWcgLSBwYXJ0aWFsIHBhdGggdG8gY29uZmlndXJhdGlvbiBmaWxlXG4gKiBAcGFyYW0ge1N0cmluZ30gW2N3ZCA9IHByb2Nlc3MuY3dkKCldIC0gZGlyZWN0b3J5IHBhdGggd2hpY2ggd2lsbCBiZSBqb2luZWQgd2l0aCBjb25maWcgYXJndW1lbnRcbiAqIEByZXR1cm4ge09iamVjdHx1bmRlZmluZWR9XG4gKi9cbmZ1bmN0aW9uIGxvYWRlcihjb25maWdzLCBjb25maWcsIGN3ZCkge1xuICAgIHZhciBjb250ZW50O1xuICAgIHZhciBkaXJlY3RvcnkgPSBjd2QgfHwgcHJvY2Vzcy5jd2QoKTtcblxuICAgIC8vIElmIGNvbmZpZyBvcHRpb24gaXMgZ2l2ZW4sIGF0dGVtcHQgdG8gbG9hZCBpdFxuICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbnRlbnQoY29uZmlnLCBkaXJlY3RvcnkpO1xuICAgIH1cblxuICAgIGNvbnRlbnQgPSBnZXRDb250ZW50KFxuICAgICAgICBmaW5kdXAoY29uZmlncywgeyBub2Nhc2U6IHRydWUsIGN3ZDogZGlyZWN0b3J5IH0sIGZ1bmN0aW9uKGNvbmZpZ1BhdGgpIHtcbiAgICAgICAgICAgIGlmIChwYXRoLmJhc2VuYW1lKGNvbmZpZ1BhdGgpID09PSAncGFja2FnZS5qc29uJykgeyBcbiAgICAgICAgICAgICAgICAvLyByZXR1cm4gISF0aGlzLmdldENvbnRlbnQoY29uZmlnUGF0aCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAoY29udGVudCkge1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBUcnkgdG8gbG9hZCBzdGFuZGFyZCBjb25maWdzIGZyb20gaG9tZSBkaXJcbiAgICB2YXIgZGlyZWN0b3J5QXJyID0gW3Byb2Nlc3MuZW52LlVTRVJQUk9GSUxFLCBwcm9jZXNzLmVudi5IT01FUEFUSCwgcHJvY2Vzcy5lbnYuSE9NRV07XG4gICAgZm9yICh2YXIgaSA9IDAsIGRpckxlbiA9IGRpcmVjdG9yeUFyci5sZW5ndGg7IGkgPCBkaXJMZW47IGkrKykge1xuICAgICAgICBpZiAoIWRpcmVjdG9yeUFycltpXSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBqID0gMCwgbGVuID0gY29uZmlncy5sZW5ndGg7IGogPCBsZW47IGorKykge1xuICAgICAgICAgICAgY29udGVudCA9IGdldENvbnRlbnQoY29uZmlnc1tqXSwgZGlyZWN0b3J5QXJyW2ldKTtcblxuICAgICAgICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0gIl19 |