UNPKG

find-node-modules

Version:

Return an array of all parent node_modules directories

441 lines (416 loc) 13.6 kB
"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