UNPKG

find-node-modules

Version:

Return an array of all parent node_modules directories

345 lines (330 loc) 9.85 kB
"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