UNPKG

@reactant/helpers

Version:
66 lines (49 loc) 6.08 kB
"use strict"; require("core-js/modules/es.array.index-of"); require("core-js/modules/es.promise"); require("core-js/modules/es.string.split"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = where; var _execa = _interopRequireDefault(require("execa")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function where(_x, _x2) { return _where.apply(this, arguments); } function _where() { _where = _asyncToGenerator(function* (program, unixCommand, PATH = process.env.PATH) { if (!unixCommand) { var _process$env$PATH; const splitChar = process.platform === 'win32' ? ';' : ':'; process.env.PATH = (_process$env$PATH = process.env.PATH) === null || _process$env$PATH === void 0 ? void 0 : _process$env$PATH.split(splitChar).reduce((envPaths, envPath) => { if (envPath.indexOf('node_modules/.bin') > -1) return envPaths; envPaths.push(envPath); return envPaths; }, []).join(splitChar); } const command = process.platform === 'win32' ? 'whereis' : unixCommand || 'where'; let result = null; try { const ps = yield (0, _execa.default)(command, [program], { stdio: 'pipe' }); if (ps.exitCode === 0) result = ps.stdout; } catch (err) { if (process.platform !== 'win32' && !unixCommand) { return where(program, 'which', PATH); } } process.env.PATH = PATH; if (typeof result === 'string') { var _result; result = result.split(' ').pop() || null; if (!((_result = result) === null || _result === void 0 ? void 0 : _result.length)) result = null; } return result; }); return _where.apply(this, arguments); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy93aGVyZS50cyJdLCJuYW1lcyI6WyJ3aGVyZSIsInByb2dyYW0iLCJ1bml4Q29tbWFuZCIsIlBBVEgiLCJwcm9jZXNzIiwiZW52Iiwic3BsaXRDaGFyIiwicGxhdGZvcm0iLCJzcGxpdCIsInJlZHVjZSIsImVudlBhdGhzIiwiZW52UGF0aCIsImluZGV4T2YiLCJwdXNoIiwiam9pbiIsImNvbW1hbmQiLCJyZXN1bHQiLCJwcyIsInN0ZGlvIiwiZXhpdENvZGUiLCJzdGRvdXQiLCJlcnIiLCJwb3AiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7U0FFOEJBLEs7Ozs7OzZCQUFmLFdBQ2JDLE9BRGEsRUFFYkMsV0FGYSxFQUdiQyxJQUFJLEdBQUdDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRixJQUhOLEVBSVc7QUFDeEIsUUFBSSxDQUFDRCxXQUFMLEVBQWtCO0FBQUE7O0FBQ2hCLFlBQU1JLFNBQVMsR0FBR0YsT0FBTyxDQUFDRyxRQUFSLEtBQXFCLE9BQXJCLEdBQStCLEdBQS9CLEdBQXFDLEdBQXZEO0FBQ0FILE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRixJQUFaLHdCQUFtQkMsT0FBTyxDQUFDQyxHQUFSLENBQVlGLElBQS9CLHNEQUFtQixrQkFBa0JLLEtBQWxCLENBQXdCRixTQUF4QixFQUNoQkcsTUFEZ0IsQ0FDVCxDQUFDQyxRQUFELEVBQXFCQyxPQUFyQixLQUF5QztBQUMvQyxZQUFJQSxPQUFPLENBQUNDLE9BQVIsQ0FBZ0IsbUJBQWhCLElBQXVDLENBQUMsQ0FBNUMsRUFBK0MsT0FBT0YsUUFBUDtBQUMvQ0EsUUFBQUEsUUFBUSxDQUFDRyxJQUFULENBQWNGLE9BQWQ7QUFDQSxlQUFPRCxRQUFQO0FBQ0QsT0FMZ0IsRUFLZCxFQUxjLEVBTWhCSSxJQU5nQixDQU1YUixTQU5XLENBQW5CO0FBT0Q7O0FBQ0QsVUFBTVMsT0FBTyxHQUNYWCxPQUFPLENBQUNHLFFBQVIsS0FBcUIsT0FBckIsR0FBK0IsU0FBL0IsR0FBMkNMLFdBQVcsSUFBSSxPQUQ1RDtBQUVBLFFBQUljLE1BQU0sR0FBRyxJQUFiOztBQUNBLFFBQUk7QUFDRixZQUFNQyxFQUFFLFNBQVMsb0JBQU1GLE9BQU4sRUFBZSxDQUFDZCxPQUFELENBQWYsRUFBMEI7QUFBRWlCLFFBQUFBLEtBQUssRUFBRTtBQUFULE9BQTFCLENBQWpCO0FBQ0EsVUFBSUQsRUFBRSxDQUFDRSxRQUFILEtBQWdCLENBQXBCLEVBQXVCSCxNQUFNLEdBQUdDLEVBQUUsQ0FBQ0csTUFBWjtBQUN4QixLQUhELENBR0UsT0FBT0MsR0FBUCxFQUFZO0FBQ1osVUFBSWpCLE9BQU8sQ0FBQ0csUUFBUixLQUFxQixPQUFyQixJQUFnQyxDQUFDTCxXQUFyQyxFQUFrRDtBQUNoRCxlQUFPRixLQUFLLENBQUNDLE9BQUQsRUFBVSxPQUFWLEVBQW1CRSxJQUFuQixDQUFaO0FBQ0Q7QUFDRjs7QUFDREMsSUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlGLElBQVosR0FBbUJBLElBQW5COztBQUNBLFFBQUksT0FBT2EsTUFBUCxLQUFrQixRQUF0QixFQUFnQztBQUFBOztBQUM5QkEsTUFBQUEsTUFBTSxHQUFHQSxNQUFNLENBQUNSLEtBQVAsQ0FBYSxHQUFiLEVBQWtCYyxHQUFsQixNQUEyQixJQUFwQztBQUNBLFVBQUksYUFBQ04sTUFBRCw0Q0FBQyxRQUFRTyxNQUFULENBQUosRUFBcUJQLE1BQU0sR0FBRyxJQUFUO0FBQ3RCOztBQUNELFdBQU9BLE1BQVA7QUFDRCxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGV4ZWNhIGZyb20gJ2V4ZWNhJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gd2hlcmUoXG4gIHByb2dyYW06IHN0cmluZyxcbiAgdW5peENvbW1hbmQ/OiBzdHJpbmcsXG4gIFBBVEggPSBwcm9jZXNzLmVudi5QQVRIXG4pOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgaWYgKCF1bml4Q29tbWFuZCkge1xuICAgIGNvbnN0IHNwbGl0Q2hhciA9IHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgPyAnOycgOiAnOic7XG4gICAgcHJvY2Vzcy5lbnYuUEFUSCA9IHByb2Nlc3MuZW52LlBBVEg/LnNwbGl0KHNwbGl0Q2hhcilcbiAgICAgIC5yZWR1Y2UoKGVudlBhdGhzOiBzdHJpbmdbXSwgZW52UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChlbnZQYXRoLmluZGV4T2YoJ25vZGVfbW9kdWxlcy8uYmluJykgPiAtMSkgcmV0dXJuIGVudlBhdGhzO1xuICAgICAgICBlbnZQYXRocy5wdXNoKGVudlBhdGgpO1xuICAgICAgICByZXR1cm4gZW52UGF0aHM7XG4gICAgICB9LCBbXSlcbiAgICAgIC5qb2luKHNwbGl0Q2hhcik7XG4gIH1cbiAgY29uc3QgY29tbWFuZCA9XG4gICAgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/ICd3aGVyZWlzJyA6IHVuaXhDb21tYW5kIHx8ICd3aGVyZSc7XG4gIGxldCByZXN1bHQgPSBudWxsO1xuICB0cnkge1xuICAgIGNvbnN0IHBzID0gYXdhaXQgZXhlY2EoY29tbWFuZCwgW3Byb2dyYW1dLCB7IHN0ZGlvOiAncGlwZScgfSk7XG4gICAgaWYgKHBzLmV4aXRDb2RlID09PSAwKSByZXN1bHQgPSBwcy5zdGRvdXQ7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmIChwcm9jZXNzLnBsYXRmb3JtICE9PSAnd2luMzInICYmICF1bml4Q29tbWFuZCkge1xuICAgICAgcmV0dXJuIHdoZXJlKHByb2dyYW0sICd3aGljaCcsIFBBVEgpO1xuICAgIH1cbiAgfVxuICBwcm9jZXNzLmVudi5QQVRIID0gUEFUSDtcbiAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgcmVzdWx0ID0gcmVzdWx0LnNwbGl0KCcgJykucG9wKCkgfHwgbnVsbDtcbiAgICBpZiAoIXJlc3VsdD8ubGVuZ3RoKSByZXN1bHQgPSBudWxsO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=