find-node-modules
Version:
Return an array of all parent node_modules directories
345 lines (330 loc) • 9.85 kB
JavaScript
"use strict";
var cov_1o1s7lks7r = function () {
var path = "/Users/callumacrae/Sites/find-node-modules/cz-cli/src/configLoader/findup.js";
var hash = "39532ada573758b6feadf9302f4699949db0e9fb";
var global = new Function("return this")();
var gcv = "__coverage__";
var coverageData = {
path: "/Users/callumacrae/Sites/find-node-modules/cz-cli/src/configLoader/findup.js",
statementMap: {
"0": {
start: {
line: 14,
column: 4
},
end: {
line: 14,
column: 37
}
},
"1": {
start: {
line: 15,
column: 4
},
end: {
line: 15,
column: 25
}
},
"2": {
start: {
line: 16,
column: 4
},
end: {
line: 16,
column: 44
}
},
"3": {
start: {
line: 18,
column: 4
},
end: {
line: 33,
column: 39
}
},
"4": {
start: {
line: 19,
column: 8
},
end: {
line: 25,
column: 14
}
},
"5": {
start: {
line: 20,
column: 29
},
end: {
line: 20,
column: 59
}
},
"6": {
start: {
line: 22,
column: 12
},
end: {
line: 24,
column: 13
}
},
"7": {
start: {
line: 23,
column: 16
},
end: {
line: 23,
column: 62
}
},
"8": {
start: {
line: 27,
column: 8
},
end: {
line: 29,
column: 9
}
},
"9": {
start: {
line: 28,
column: 12
},
end: {
line: 28,
column: 48
}
},
"10": {
start: {
line: 31,
column: 8
},
end: {
line: 31,
column: 31
}
},
"11": {
start: {
line: 32,
column: 8
},
end: {
line: 32,
column: 54
}
}
},
fnMap: {
"0": {
name: "findup",
decl: {
start: {
line: 8,
column: 9
},
end: {
line: 8,
column: 15
}
},
loc: {
start: {
line: 8,
column: 40
},
end: {
line: 34,
column: 1
}
},
line: 8
},
"1": {
name: "(anonymous_1)",
decl: {
start: {
line: 19,
column: 31
},
end: {
line: 19,
column: 32
}
},
loc: {
start: {
line: 19,
column: 50
},
end: {
line: 25,
column: 9
}
},
line: 19
}
},
branchMap: {
"0": {
loc: {
start: {
line: 22,
column: 12
},
end: {
line: 24,
column: 13
}
},
type: "if",
locations: [{
start: {
line: 22,
column: 12
},
end: {
line: 24,
column: 13
}
}, {
start: {
line: 22,
column: 12
},
end: {
line: 24,
column: 13
}
}],
line: 22
},
"1": {
loc: {
start: {
line: 27,
column: 8
},
end: {
line: 29,
column: 9
}
},
type: "if",
locations: [{
start: {
line: 27,
column: 8
},
end: {
line: 29,
column: 9
}
}, {
start: {
line: 27,
column: 8
},
end: {
line: 29,
column: 9
}
}],
line: 27
}
},
s: {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0,
"10": 0,
"11": 0
},
f: {
"0": 0,
"1": 0
},
b: {
"0": [0, 0],
"1": [0, 0]
},
_coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
hash: "39532ada573758b6feadf9302f4699949db0e9fb"
};
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 _glob = _interopRequireDefault(require("glob"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = findup; // Before, "findup-sync" package was used,
// but it does not provide filter callback
exports.default = _default;
function findup(patterns, options, fn) {
cov_1o1s7lks7r.f[0]++;
/* jshint -W083 */
var lastpath;
var file;
cov_1o1s7lks7r.s[0]++;
options = Object.create(options);
cov_1o1s7lks7r.s[1]++;
options.maxDepth = 1;
cov_1o1s7lks7r.s[2]++;
options.cwd = _path.default.resolve(options.cwd);
cov_1o1s7lks7r.s[3]++;
do {
cov_1o1s7lks7r.s[4]++;
file = patterns.filter(function (pattern) {
cov_1o1s7lks7r.f[1]++;
var configPath = (cov_1o1s7lks7r.s[5]++, _glob.default.sync(pattern, options)[0]);
cov_1o1s7lks7r.s[6]++;
if (configPath) {
cov_1o1s7lks7r.b[0][0]++;
cov_1o1s7lks7r.s[7]++;
return fn(_path.default.join(options.cwd, configPath));
} else {
cov_1o1s7lks7r.b[0][1]++;
}
})[0];
cov_1o1s7lks7r.s[8]++;
if (file) {
cov_1o1s7lks7r.b[1][0]++;
cov_1o1s7lks7r.s[9]++;
return _path.default.join(options.cwd, file);
} else {
cov_1o1s7lks7r.b[1][1]++;
}
cov_1o1s7lks7r.s[10]++;
lastpath = options.cwd;
cov_1o1s7lks7r.s[11]++;
options.cwd = _path.default.resolve(options.cwd, '..');
} while (options.cwd !== lastpath);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbmR1cC5qcyJdLCJuYW1lcyI6WyJmaW5kdXAiLCJwYXR0ZXJucyIsIm9wdGlvbnMiLCJmbiIsImxhc3RwYXRoIiwiZmlsZSIsIk9iamVjdCIsImNyZWF0ZSIsIm1heERlcHRoIiwiY3dkIiwicGF0aCIsInJlc29sdmUiLCJmaWx0ZXIiLCJwYXR0ZXJuIiwiY29uZmlnUGF0aCIsImdsb2IiLCJzeW5jIiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7ZUFFZUEsTSxFQUVmO0FBQ0E7Ozs7QUFDQSxTQUFTQSxNQUFULENBQWlCQyxRQUFqQixFQUEyQkMsT0FBM0IsRUFBb0NDLEVBQXBDLEVBQXdDO0FBQUE7O0FBQ3BDO0FBRUEsTUFBSUMsUUFBSjtBQUNBLE1BQUlDLElBQUo7QUFKb0M7QUFNcENILEVBQUFBLE9BQU8sR0FBR0ksTUFBTSxDQUFDQyxNQUFQLENBQWNMLE9BQWQsQ0FBVjtBQU5vQztBQU9wQ0EsRUFBQUEsT0FBTyxDQUFDTSxRQUFSLEdBQW1CLENBQW5CO0FBUG9DO0FBUXBDTixFQUFBQSxPQUFPLENBQUNPLEdBQVIsR0FBY0MsY0FBS0MsT0FBTCxDQUFhVCxPQUFPLENBQUNPLEdBQXJCLENBQWQ7QUFSb0M7O0FBVXBDLEtBQUc7QUFBQTtBQUNDSixJQUFBQSxJQUFJLEdBQUdKLFFBQVEsQ0FBQ1csTUFBVCxDQUFnQixVQUFVQyxPQUFWLEVBQW1CO0FBQUE7QUFDdEMsVUFBSUMsVUFBVSwyQkFBR0MsY0FBS0MsSUFBTCxDQUFVSCxPQUFWLEVBQW1CWCxPQUFuQixFQUE0QixDQUE1QixDQUFILENBQWQ7QUFEc0M7O0FBR3RDLFVBQUlZLFVBQUosRUFBZ0I7QUFBQTtBQUFBO0FBQ1osZUFBT1gsRUFBRSxDQUFDTyxjQUFLTyxJQUFMLENBQVVmLE9BQU8sQ0FBQ08sR0FBbEIsRUFBdUJLLFVBQXZCLENBQUQsQ0FBVDtBQUNILE9BRkQ7QUFBQTtBQUFBO0FBR0gsS0FOTSxFQU1KLENBTkksQ0FBUDtBQUREOztBQVNDLFFBQUlULElBQUosRUFBVTtBQUFBO0FBQUE7QUFDTixhQUFPSyxjQUFLTyxJQUFMLENBQVVmLE9BQU8sQ0FBQ08sR0FBbEIsRUFBdUJKLElBQXZCLENBQVA7QUFDSCxLQUZEO0FBQUE7QUFBQTs7QUFURDtBQWFDRCxJQUFBQSxRQUFRLEdBQUdGLE9BQU8sQ0FBQ08sR0FBbkI7QUFiRDtBQWNDUCxJQUFBQSxPQUFPLENBQUNPLEdBQVIsR0FBY0MsY0FBS0MsT0FBTCxDQUFhVCxPQUFPLENBQUNPLEdBQXJCLEVBQTBCLElBQTFCLENBQWQ7QUFDSCxHQWZELFFBZVNQLE9BQU8sQ0FBQ08sR0FBUixLQUFnQkwsUUFmekI7QUFnQkgiLCJzb3VyY2VSb290IjoiL1VzZXJzL2NhbGx1bWFjcmFlL1NpdGVzL2ZpbmQtbm9kZS1tb2R1bGVzL2N6LWNsaS9zcmMvY29uZmlnTG9hZGVyIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgZ2xvYiBmcm9tICdnbG9iJztcblxuZXhwb3J0IGRlZmF1bHQgZmluZHVwO1xuXG4vLyBCZWZvcmUsIFwiZmluZHVwLXN5bmNcIiBwYWNrYWdlIHdhcyB1c2VkLFxuLy8gYnV0IGl0IGRvZXMgbm90IHByb3ZpZGUgZmlsdGVyIGNhbGxiYWNrXG5mdW5jdGlvbiBmaW5kdXAgKHBhdHRlcm5zLCBvcHRpb25zLCBmbikge1xuICAgIC8qIGpzaGludCAtVzA4MyAqL1xuXG4gICAgdmFyIGxhc3RwYXRoO1xuICAgIHZhciBmaWxlO1xuXG4gICAgb3B0aW9ucyA9IE9iamVjdC5jcmVhdGUob3B0aW9ucyk7XG4gICAgb3B0aW9ucy5tYXhEZXB0aCA9IDE7XG4gICAgb3B0aW9ucy5jd2QgPSBwYXRoLnJlc29sdmUob3B0aW9ucy5jd2QpO1xuXG4gICAgZG8ge1xuICAgICAgICBmaWxlID0gcGF0dGVybnMuZmlsdGVyKGZ1bmN0aW9uIChwYXR0ZXJuKSB7XG4gICAgICAgICAgICB2YXIgY29uZmlnUGF0aCA9IGdsb2Iuc3luYyhwYXR0ZXJuLCBvcHRpb25zKVswXTtcblxuICAgICAgICAgICAgaWYgKGNvbmZpZ1BhdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm4ocGF0aC5qb2luKG9wdGlvbnMuY3dkLCBjb25maWdQYXRoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pWzBdO1xuXG4gICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aC5qb2luKG9wdGlvbnMuY3dkLCBmaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RwYXRoID0gb3B0aW9ucy5jd2Q7XG4gICAgICAgIG9wdGlvbnMuY3dkID0gcGF0aC5yZXNvbHZlKG9wdGlvbnMuY3dkLCAnLi4nKTtcbiAgICB9IHdoaWxlIChvcHRpb25zLmN3ZCAhPT0gbGFzdHBhdGgpO1xufVxuIl19