find-node-modules
Version:
Return an array of all parent node_modules directories
441 lines (416 loc) • 13.6 kB
JavaScript
"use strict";
var cov_2n09mp5l7g = function () {
var path = "/Users/callumacrae/Sites/find-node-modules/cz-cli/src/configLoader/loader.js";
var hash = "478426b21840f2467758d74c626ba508c02827c5";
var global = new Function("return this")();
var gcv = "__coverage__";
var coverageData = {
path: "/Users/callumacrae/Sites/find-node-modules/cz-cli/src/configLoader/loader.js",
statementMap: {
"0": {
start: {
line: 22,
column: 20
},
end: {
line: 22,
column: 40
}
},
"1": {
start: {
line: 25,
column: 4
},
end: {
line: 27,
column: 5
}
},
"2": {
start: {
line: 26,
column: 8
},
end: {
line: 26,
column: 45
}
},
"3": {
start: {
line: 29,
column: 4
},
end: {
line: 37,
column: 6
}
},
"4": {
start: {
line: 31,
column: 12
},
end: {
line: 33,
column: 13
}
},
"5": {
start: {
line: 35,
column: 12
},
end: {
line: 35,
column: 24
}
},
"6": {
start: {
line: 39,
column: 4
},
end: {
line: 41,
column: 5
}
},
"7": {
start: {
line: 40,
column: 8
},
end: {
line: 40,
column: 23
}
},
"8": {
start: {
line: 43,
column: 4
},
end: {
line: 59,
column: 5
}
}
},
fnMap: {
"0": {
name: "loader",
decl: {
start: {
line: 20,
column: 9
},
end: {
line: 20,
column: 15
}
},
loc: {
start: {
line: 20,
column: 39
},
end: {
line: 60,
column: 1
}
},
line: 20
},
"1": {
name: "(anonymous_1)",
decl: {
start: {
line: 30,
column: 58
},
end: {
line: 30,
column: 59
}
},
loc: {
start: {
line: 30,
column: 80
},
end: {
line: 36,
column: 9
}
},
line: 30
}
},
branchMap: {
"0": {
loc: {
start: {
line: 22,
column: 20
},
end: {
line: 22,
column: 40
}
},
type: "binary-expr",
locations: [{
start: {
line: 22,
column: 20
},
end: {
line: 22,
column: 23
}
}, {
start: {
line: 22,
column: 27
},
end: {
line: 22,
column: 40
}
}],
line: 22
},
"1": {
loc: {
start: {
line: 25,
column: 4
},
end: {
line: 27,
column: 5
}
},
type: "if",
locations: [{
start: {
line: 25,
column: 4
},
end: {
line: 27,
column: 5
}
}, {
start: {
line: 25,
column: 4
},
end: {
line: 27,
column: 5
}
}],
line: 25
},
"2": {
loc: {
start: {
line: 31,
column: 12
},
end: {
line: 33,
column: 13
}
},
type: "if",
locations: [{
start: {
line: 31,
column: 12
},
end: {
line: 33,
column: 13
}
}, {
start: {
line: 31,
column: 12
},
end: {
line: 33,
column: 13
}
}],
line: 31
},
"3": {
loc: {
start: {
line: 39,
column: 4
},
end: {
line: 41,
column: 5
}
},
type: "if",
locations: [{
start: {
line: 39,
column: 4
},
end: {
line: 41,
column: 5
}
}, {
start: {
line: 39,
column: 4
},
end: {
line: 41,
column: 5
}
}],
line: 39
},
"4": {
loc: {
start: {
line: 43,
column: 4
},
end: {
line: 59,
column: 5
}
},
type: "if",
locations: [{
start: {
line: 43,
column: 4
},
end: {
line: 59,
column: 5
}
}],
line: 43
}
},
s: {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0
},
f: {
"0": 0,
"1": 0
},
b: {
"0": [0, 0],
"1": [0, 0],
"2": [0, 0],
"3": [0, 0],
"4": [0]
},
_coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
hash: "478426b21840f2467758d74c626ba508c02827c5"
};
var coverage = global[gcv] || (global[gcv] = {});
if (coverage[path] && coverage[path].hash === hash) {
return coverage[path];
}
return coverage[path] = coverageData;
}();
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _path = _interopRequireDefault(require("path"));
var _configLoader = require("../configLoader");
var _util = require("../common/util.js");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _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}
*/
exports.default = _default;
function loader(configs, config, cwd) {
cov_2n09mp5l7g.f[0]++;
var content;
var directory = (cov_2n09mp5l7g.s[0]++, (cov_2n09mp5l7g.b[0][0]++, cwd) || (cov_2n09mp5l7g.b[0][1]++, process.cwd())); // If config option is given, attempt to load it
cov_2n09mp5l7g.s[1]++;
if (config) {
cov_2n09mp5l7g.b[1][0]++;
cov_2n09mp5l7g.s[2]++;
return (0, _configLoader.getContent)(config, directory);
} else {
cov_2n09mp5l7g.b[1][1]++;
}
cov_2n09mp5l7g.s[3]++;
content = (0, _configLoader.getContent)((0, _configLoader.findup)(configs, {
nocase: true,
cwd: directory
}, function (configPath) {
cov_2n09mp5l7g.f[1]++;
cov_2n09mp5l7g.s[4]++;
if (_path.default.basename(configPath) === 'package.json') {// return !!this.getContent(configPath);
cov_2n09mp5l7g.b[2][0]++;
} else {
cov_2n09mp5l7g.b[2][1]++;
}
cov_2n09mp5l7g.s[5]++;
return true;
}));
cov_2n09mp5l7g.s[6]++;
if (content) {
cov_2n09mp5l7g.b[3][0]++;
cov_2n09mp5l7g.s[7]++;
return content;
} else {
cov_2n09mp5l7g.b[3][1]++;
}
/* istanbul ignore if */
cov_2n09mp5l7g.s[8]++;
if (!(0, _util.isInTest)()) {
// 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]);
if (content) {
return content;
}
}
}
} else {
cov_2n09mp5l7g.b[4][0]++;
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvYWRlci5qcyJdLCJuYW1lcyI6WyJsb2FkZXIiLCJjb25maWdzIiwiY29uZmlnIiwiY3dkIiwiY29udGVudCIsImRpcmVjdG9yeSIsInByb2Nlc3MiLCJub2Nhc2UiLCJjb25maWdQYXRoIiwicGF0aCIsImJhc2VuYW1lIiwiZGlyZWN0b3J5QXJyIiwiZW52IiwiVVNFUlBST0ZJTEUiLCJIT01FUEFUSCIsIkhPTUUiLCJpIiwiZGlyTGVuIiwibGVuZ3RoIiwiaiIsImxlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7Ozs7ZUFFZUEsTTtBQUVmOzs7Ozs7QUFNQTs7Ozs7Ozs7O0FBTUEsU0FBU0EsTUFBVCxDQUFpQkMsT0FBakIsRUFBMEJDLE1BQTFCLEVBQWtDQyxHQUFsQyxFQUF1QztBQUFBO0FBQ25DLE1BQUlDLE9BQUo7QUFDQSxNQUFJQyxTQUFTLDJCQUFHLDJCQUFBRixHQUFHLGdDQUFJRyxPQUFPLENBQUNILEdBQVIsRUFBSixDQUFOLENBQWIsQ0FGbUMsQ0FJbkM7O0FBSm1DOztBQUtuQyxNQUFJRCxNQUFKLEVBQVk7QUFBQTtBQUFBO0FBQ1IsV0FBTyw4QkFBV0EsTUFBWCxFQUFtQkcsU0FBbkIsQ0FBUDtBQUNILEdBRkQ7QUFBQTtBQUFBOztBQUxtQztBQVNuQ0QsRUFBQUEsT0FBTyxHQUFHLDhCQUNOLDBCQUFPSCxPQUFQLEVBQWdCO0FBQUVNLElBQUFBLE1BQU0sRUFBRSxJQUFWO0FBQWdCSixJQUFBQSxHQUFHLEVBQUVFO0FBQXJCLEdBQWhCLEVBQWtELFVBQVVHLFVBQVYsRUFBc0I7QUFBQTtBQUFBOztBQUNwRSxRQUFJQyxjQUFLQyxRQUFMLENBQWNGLFVBQWQsTUFBOEIsY0FBbEMsRUFBa0QsQ0FDOUM7O0FBRDhDO0FBRWpELEtBRkQ7QUFBQTtBQUFBOztBQURvRTtBQUtwRSxXQUFPLElBQVA7QUFDSCxHQU5ELENBRE0sQ0FBVjtBQVRtQzs7QUFtQm5DLE1BQUlKLE9BQUosRUFBYTtBQUFBO0FBQUE7QUFDVCxXQUFPQSxPQUFQO0FBQ0gsR0FGRDtBQUFBO0FBQUE7QUFHQTs7O0FBdEJtQzs7QUF1Qm5DLE1BQUksQ0FBQyxxQkFBTCxFQUFpQjtBQUNmO0FBQ0EsUUFBSU8sWUFBWSxHQUFHLENBQUNMLE9BQU8sQ0FBQ00sR0FBUixDQUFZQyxXQUFiLEVBQTBCUCxPQUFPLENBQUNNLEdBQVIsQ0FBWUUsUUFBdEMsRUFBZ0RSLE9BQU8sQ0FBQ00sR0FBUixDQUFZRyxJQUE1RCxDQUFuQjs7QUFDQSxTQUFLLElBQUlDLENBQUMsR0FBRyxDQUFSLEVBQVdDLE1BQU0sR0FBR04sWUFBWSxDQUFDTyxNQUF0QyxFQUE4Q0YsQ0FBQyxHQUFHQyxNQUFsRCxFQUEwREQsQ0FBQyxFQUEzRCxFQUErRDtBQUMzRCxVQUFJLENBQUNMLFlBQVksQ0FBQ0ssQ0FBRCxDQUFqQixFQUFzQjtBQUNsQjtBQUNIOztBQUVELFdBQUssSUFBSUcsQ0FBQyxHQUFHLENBQVIsRUFBV0MsR0FBRyxHQUFHbkIsT0FBTyxDQUFDaUIsTUFBOUIsRUFBc0NDLENBQUMsR0FBR0MsR0FBMUMsRUFBK0NELENBQUMsRUFBaEQsRUFBb0Q7QUFDaERmLFFBQUFBLE9BQU8sR0FBRyw4QkFBV0gsT0FBTyxDQUFDa0IsQ0FBRCxDQUFsQixFQUF1QlIsWUFBWSxDQUFDSyxDQUFELENBQW5DLENBQVY7O0FBRUEsWUFBSVosT0FBSixFQUFhO0FBQ1QsaUJBQU9BLE9BQVA7QUFDSDtBQUNKO0FBQ0o7QUFDRixHQWhCRDtBQUFBO0FBQUE7QUFpQkgiLCJzb3VyY2VSb290IjoiL1VzZXJzL2NhbGx1bWFjcmFlL1NpdGVzL2ZpbmQtbm9kZS1tb2R1bGVzL2N6LWNsaS9zcmMvY29uZmlnTG9hZGVyIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IGZpbmR1cCwgZ2V0Q29udGVudCB9IGZyb20gJy4uL2NvbmZpZ0xvYWRlcic7XG5pbXBvcnQgeyBpc0luVGVzdCB9IGZyb20gJy4uL2NvbW1vbi91dGlsLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgbG9hZGVyO1xuXG4vKipcbiAqIENvbW1hbmQgbGluZSBjb25maWcgaGVscGVyc1xuICogU2hhbWVsZXNzbHkgcmlwcGVkIGZyb20gd2l0aCBzbGlnaHQgbW9kaWZpY2F0aW9uczpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9qc2NzLWRldi9ub2RlLWpzY3MvYmxvYi9tYXN0ZXIvbGliL2NsaS1jb25maWcuanNcbiAqL1xuXG4vKipcbiAqIEdldCBjb250ZW50IG9mIHRoZSBjb25maWd1cmF0aW9uIGZpbGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb25maWcgLSBwYXJ0aWFsIHBhdGggdG8gY29uZmlndXJhdGlvbiBmaWxlXG4gKiBAcGFyYW0ge1N0cmluZ30gW2N3ZCA9IHByb2Nlc3MuY3dkKCldIC0gZGlyZWN0b3J5IHBhdGggd2hpY2ggd2lsbCBiZSBqb2luZWQgd2l0aCBjb25maWcgYXJndW1lbnRcbiAqIEByZXR1cm4ge09iamVjdHx1bmRlZmluZWR9XG4gKi9cbmZ1bmN0aW9uIGxvYWRlciAoY29uZmlncywgY29uZmlnLCBjd2QpIHtcbiAgICB2YXIgY29udGVudDtcbiAgICB2YXIgZGlyZWN0b3J5ID0gY3dkIHx8IHByb2Nlc3MuY3dkKCk7XG5cbiAgICAvLyBJZiBjb25maWcgb3B0aW9uIGlzIGdpdmVuLCBhdHRlbXB0IHRvIGxvYWQgaXRcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBnZXRDb250ZW50KGNvbmZpZywgZGlyZWN0b3J5KTtcbiAgICB9XG5cbiAgICBjb250ZW50ID0gZ2V0Q29udGVudChcbiAgICAgICAgZmluZHVwKGNvbmZpZ3MsIHsgbm9jYXNlOiB0cnVlLCBjd2Q6IGRpcmVjdG9yeSB9LCBmdW5jdGlvbiAoY29uZmlnUGF0aCkge1xuICAgICAgICAgICAgaWYgKHBhdGguYmFzZW5hbWUoY29uZmlnUGF0aCkgPT09ICdwYWNrYWdlLmpzb24nKSB7XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuICEhdGhpcy5nZXRDb250ZW50KGNvbmZpZ1BhdGgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghaXNJblRlc3QoKSkge1xuICAgICAgLy8gVHJ5IHRvIGxvYWQgc3RhbmRhcmQgY29uZmlncyBmcm9tIGhvbWUgZGlyXG4gICAgICB2YXIgZGlyZWN0b3J5QXJyID0gW3Byb2Nlc3MuZW52LlVTRVJQUk9GSUxFLCBwcm9jZXNzLmVudi5IT01FUEFUSCwgcHJvY2Vzcy5lbnYuSE9NRV07XG4gICAgICBmb3IgKHZhciBpID0gMCwgZGlyTGVuID0gZGlyZWN0b3J5QXJyLmxlbmd0aDsgaSA8IGRpckxlbjsgaSsrKSB7XG4gICAgICAgICAgaWYgKCFkaXJlY3RvcnlBcnJbaV0pIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDAsIGxlbiA9IGNvbmZpZ3MubGVuZ3RoOyBqIDwgbGVuOyBqKyspIHtcbiAgICAgICAgICAgICAgY29udGVudCA9IGdldENvbnRlbnQoY29uZmlnc1tqXSwgZGlyZWN0b3J5QXJyW2ldKTtcblxuICAgICAgICAgICAgICBpZiAoY29udGVudCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxufVxuIl19