JezK
Edit File: global.js
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getBinFolder = getBinFolder; exports.hasWrapper = hasWrapper; exports.run = void 0; exports.setFlags = setFlags; function _regenerator() { var data = _interopRequireDefault(require("@babel/runtime/regenerator")); _regenerator = function _regenerator() { return data; }; return data; } function _asyncToGenerator2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); _asyncToGenerator2 = function _asyncToGenerator2() { return data; }; return data; } function _classCallCheck2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); _classCallCheck2 = function _classCallCheck2() { return data; }; return data; } function _createClass2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); _createClass2 = function _createClass2() { return data; }; return data; } function _inherits2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); _inherits2 = function _inherits2() { return data; }; return data; } function _possibleConstructorReturn2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); _possibleConstructorReturn2 = function _possibleConstructorReturn2() { return data; }; return data; } function _getPrototypeOf2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); _getPrototypeOf2 = function _getPrototypeOf2() { return data; }; return data; } function _errors() { var data = require("../../errors.js"); _errors = function _errors() { return data; }; return data; } function _index() { var data = require("../../registries/index.js"); _index = function _index() { return data; }; return data; } function _baseReporter() { var data = _interopRequireDefault(require("../../reporters/base-reporter.js")); _baseReporter = function _baseReporter() { return data; }; return data; } function _buildSubCommands2() { var data = _interopRequireDefault(require("./_build-sub-commands.js")); _buildSubCommands2 = function _buildSubCommands2() { return data; }; return data; } function _lockfile() { var data = _interopRequireDefault(require("../../lockfile")); _lockfile = function _lockfile() { return data; }; return data; } function _install() { var data = require("./install.js"); _install = function _install() { return data; }; return data; } function _add() { var data = require("./add.js"); _add = function _add() { return data; }; return data; } function _remove() { var data = require("./remove.js"); _remove = function _remove() { return data; }; return data; } function _upgrade() { var data = require("./upgrade.js"); _upgrade = function _upgrade() { return data; }; return data; } function _upgradeInteractive() { var data = require("./upgrade-interactive.js"); _upgradeInteractive = function _upgradeInteractive() { return data; }; return data; } function _packageLinker() { var data = require("../../package-linker.js"); _packageLinker = function _packageLinker() { return data; }; return data; } function _constants() { var data = require("../../constants.js"); _constants = function _constants() { return data; }; return data; } function fs() { var data = _interopRequireWildcard(require("../../util/fs.js")); fs = function fs() { return data; }; return data; } function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2()["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2()["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2()["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var GlobalAdd = /*#__PURE__*/function (_Add) { (0, _inherits2()["default"])(GlobalAdd, _Add); var _super = _createSuper(GlobalAdd); function GlobalAdd(args, flags, config, reporter, lockfile) { var _this; (0, _classCallCheck2()["default"])(this, GlobalAdd); _this = _super.call(this, args, flags, config, reporter, lockfile); _this.linker.setTopLevelBinLinking(false); return _this; } (0, _createClass2()["default"])(GlobalAdd, [{ key: "maybeOutputSaveTree", value: function maybeOutputSaveTree() { var _iterator = _createForOfIteratorHelper(this.addedPatterns), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var pattern = _step.value; var manifest = this.resolver.getStrictResolvedPattern(pattern); ls(manifest, this.reporter, true); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return Promise.resolve(); } }, { key: "_logSuccessSaveLockfile", value: function _logSuccessSaveLockfile() { // noop } }]); return GlobalAdd; }(_add().Add); var path = require('path'); function hasWrapper(flags, args) { return args[0] !== 'bin' && args[0] !== 'dir'; } function updateCwd(_x) { return _updateCwd.apply(this, arguments); } function _updateCwd() { _updateCwd = (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee8(config) { return _regenerator()["default"].wrap(function _callee8$(_context8) { while (1) switch (_context8.prev = _context8.next) { case 0: _context8.next = 2; return fs().mkdirp(config.globalFolder); case 2: _context8.next = 4; return config.init({ cwd: config.globalFolder, offline: config.offline, binLinks: true, globalFolder: config.globalFolder, cacheFolder: config._cacheRootFolder, linkFolder: config.linkFolder, enableDefaultRc: config.enableDefaultRc, extraneousYarnrcFiles: config.extraneousYarnrcFiles }); case 4: case "end": return _context8.stop(); } }, _callee8); })); return _updateCwd.apply(this, arguments); } function getBins(_x2) { return _getBins.apply(this, arguments); } function _getBins() { _getBins = (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee9(config) { var dirs, _i, _Object$keys, registryName, registry, paths, _i2, _dirs, dir, binDir, _iterator2, _step2, name; return _regenerator()["default"].wrap(function _callee9$(_context9) { while (1) switch (_context9.prev = _context9.next) { case 0: // build up list of registry folders to search for binaries dirs = []; for (_i = 0, _Object$keys = Object.keys(_index().registries); _i < _Object$keys.length; _i++) { registryName = _Object$keys[_i]; registry = config.registries[registryName]; dirs.push(registry.loc); } // build up list of binary files paths = new Set(); _i2 = 0, _dirs = dirs; case 4: if (!(_i2 < _dirs.length)) { _context9.next = 20; break; } dir = _dirs[_i2]; binDir = path.join(dir, '.bin'); _context9.next = 9; return fs().exists(binDir); case 9: if (_context9.sent) { _context9.next = 11; break; } return _context9.abrupt("continue", 17); case 11: _context9.t0 = _createForOfIteratorHelper; _context9.next = 14; return fs().readdir(binDir); case 14: _context9.t1 = _context9.sent; _iterator2 = (0, _context9.t0)(_context9.t1); try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { name = _step2.value; paths.add(path.join(binDir, name)); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } case 17: _i2++; _context9.next = 4; break; case 20: return _context9.abrupt("return", paths); case 21: case "end": return _context9.stop(); } }, _callee9); })); return _getBins.apply(this, arguments); } function getGlobalPrefix(_x3, _x4) { return _getGlobalPrefix.apply(this, arguments); } function _getGlobalPrefix() { _getGlobalPrefix = (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee10(config, flags) { var potentialPrefixFolders, binFolders, prefixFolderQueryResult, prefix; return _regenerator()["default"].wrap(function _callee10$(_context10) { while (1) switch (_context10.prev = _context10.next) { case 0: if (!flags.prefix) { _context10.next = 4; break; } return _context10.abrupt("return", flags.prefix); case 4: if (!config.getOption('prefix', true)) { _context10.next = 8; break; } return _context10.abrupt("return", String(config.getOption('prefix', true))); case 8: if (!process.env.PREFIX) { _context10.next = 10; break; } return _context10.abrupt("return", process.env.PREFIX); case 10: potentialPrefixFolders = [_constants().FALLBACK_GLOBAL_PREFIX]; if (process.platform === 'win32') { // %LOCALAPPDATA%\Yarn --> C:\Users\Alice\AppData\Local\Yarn if (process.env.LOCALAPPDATA) { potentialPrefixFolders.unshift(path.join(process.env.LOCALAPPDATA, 'Yarn')); } } else { potentialPrefixFolders.unshift(_constants().POSIX_GLOBAL_PREFIX); } binFolders = potentialPrefixFolders.map(function (prefix) { return path.join(prefix, 'bin'); }); _context10.next = 15; return fs().getFirstSuitableFolder(binFolders); case 15: prefixFolderQueryResult = _context10.sent; prefix = prefixFolderQueryResult.folder && path.dirname(prefixFolderQueryResult.folder); if (prefix) { _context10.next = 20; break; } config.reporter.warn(config.reporter.lang('noGlobalFolder', prefixFolderQueryResult.skipped.map(function (item) { return path.dirname(item.folder); }).join(', '))); return _context10.abrupt("return", _constants().FALLBACK_GLOBAL_PREFIX); case 20: return _context10.abrupt("return", prefix); case 21: case "end": return _context10.stop(); } }, _callee10); })); return _getGlobalPrefix.apply(this, arguments); } function getBinFolder(_x5, _x6) { return _getBinFolder.apply(this, arguments); } function _getBinFolder() { _getBinFolder = (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee11(config, flags) { var prefix; return _regenerator()["default"].wrap(function _callee11$(_context11) { while (1) switch (_context11.prev = _context11.next) { case 0: _context11.next = 2; return getGlobalPrefix(config, flags); case 2: prefix = _context11.sent; return _context11.abrupt("return", path.resolve(prefix, 'bin')); case 4: case "end": return _context11.stop(); } }, _callee11); })); return _getBinFolder.apply(this, arguments); } function initUpdateBins(_x7, _x8, _x9) { return _initUpdateBins.apply(this, arguments); } function _initUpdateBins() { _initUpdateBins = (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee13(config, reporter, flags) { var beforeBins, binFolder, throwPermError; return _regenerator()["default"].wrap(function _callee13$(_context13) { while (1) switch (_context13.prev = _context13.next) { case 0: throwPermError = function _throwPermError(err, dest) { if (err.code === 'EACCES') { throw new (_errors().MessageError)(reporter.lang('noPermission', dest)); } else { throw err; } }; _context13.next = 3; return getBins(config); case 3: beforeBins = _context13.sent; _context13.next = 6; return getBinFolder(config, flags); case 6: binFolder = _context13.sent; return _context13.abrupt("return", /*#__PURE__*/(0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee12() { var afterBins, _iterator3, _step3, src, dest, _iterator4, _step4, _src, _dest; return _regenerator()["default"].wrap(function _callee12$(_context12) { while (1) switch (_context12.prev = _context12.next) { case 0: _context12.prev = 0; _context12.next = 3; return fs().mkdirp(binFolder); case 3: _context12.next = 8; break; case 5: _context12.prev = 5; _context12.t0 = _context12["catch"](0); throwPermError(_context12.t0, binFolder); case 8: _context12.next = 10; return getBins(config); case 10: afterBins = _context12.sent; // remove old bins _iterator3 = _createForOfIteratorHelper(beforeBins); _context12.prev = 12; _iterator3.s(); case 14: if ((_step3 = _iterator3.n()).done) { _context12.next = 29; break; } src = _step3.value; if (!afterBins.has(src)) { _context12.next = 18; break; } return _context12.abrupt("continue", 27); case 18: // remove old bin dest = path.join(binFolder, path.basename(src)); _context12.prev = 19; _context12.next = 22; return fs().unlink(dest); case 22: _context12.next = 27; break; case 24: _context12.prev = 24; _context12.t1 = _context12["catch"](19); throwPermError(_context12.t1, dest); case 27: _context12.next = 14; break; case 29: _context12.next = 34; break; case 31: _context12.prev = 31; _context12.t2 = _context12["catch"](12); _iterator3.e(_context12.t2); case 34: _context12.prev = 34; _iterator3.f(); return _context12.finish(34); case 37: // add new bins _iterator4 = _createForOfIteratorHelper(afterBins); _context12.prev = 38; _iterator4.s(); case 40: if ((_step4 = _iterator4.n()).done) { _context12.next = 58; break; } _src = _step4.value; // insert new bin _dest = path.join(binFolder, path.basename(_src)); _context12.prev = 43; _context12.next = 46; return fs().unlink(_dest); case 46: _context12.next = 48; return (0, _packageLinker().linkBin)(_src, _dest); case 48: if (!(process.platform === 'win32' && _dest.indexOf('.cmd') !== -1)) { _context12.next = 51; break; } _context12.next = 51; return fs().rename(_dest + '.cmd', _dest); case 51: _context12.next = 56; break; case 53: _context12.prev = 53; _context12.t3 = _context12["catch"](43); throwPermError(_context12.t3, _dest); case 56: _context12.next = 40; break; case 58: _context12.next = 63; break; case 60: _context12.prev = 60; _context12.t4 = _context12["catch"](38); _iterator4.e(_context12.t4); case 63: _context12.prev = 63; _iterator4.f(); return _context12.finish(63); case 66: case "end": return _context12.stop(); } }, _callee12, null, [[0, 5], [12, 31, 34, 37], [19, 24], [38, 60, 63, 66], [43, 53]]); }))); case 8: case "end": return _context13.stop(); } }, _callee13); })); return _initUpdateBins.apply(this, arguments); } function ls(manifest, reporter, saved) { var bins = manifest.bin ? Object.keys(manifest.bin) : []; var human = "".concat(manifest.name, "@").concat(manifest.version); if (bins.length) { if (saved) { reporter.success(reporter.lang('packageInstalledWithBinaries', human)); } else { reporter.info(reporter.lang('packageHasBinaries', human)); } reporter.list("bins-".concat(manifest.name), bins); } else if (saved) { reporter.warn(reporter.lang('packageHasNoBinaries', human)); } } function _list2(_x10, _x11, _x12, _x13) { return _list.apply(this, arguments); } function _list() { _list = (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee14(config, reporter, flags, args) { var lockfile, install, patterns, _iterator5, _step5, pattern, manifest; return _regenerator()["default"].wrap(function _callee14$(_context14) { while (1) switch (_context14.prev = _context14.next) { case 0: _context14.next = 2; return updateCwd(config); case 2: _context14.next = 4; return _lockfile()["default"].fromDirectory(config.cwd); case 4: lockfile = _context14.sent; install = new (_install().Install)({}, config, new (_baseReporter()["default"])(), lockfile); _context14.next = 8; return install.getFlattenedDeps(); case 8: patterns = _context14.sent; // dump global modules _iterator5 = _createForOfIteratorHelper(patterns); try { for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { pattern = _step5.value; manifest = install.resolver.getStrictResolvedPattern(pattern); ls(manifest, reporter, false); } } catch (err) { _iterator5.e(err); } finally { _iterator5.f(); } case 11: case "end": return _context14.stop(); } }, _callee14); })); return _list.apply(this, arguments); } var _buildSubCommands = (0, _buildSubCommands2()["default"])('global', { add: function add(config, reporter, commander, flags, args) { return (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee() { var updateBins, lockfile, install; return _regenerator()["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return updateCwd(config); case 2: _context.next = 4; return initUpdateBins(config, reporter, flags); case 4: updateBins = _context.sent; if (args.indexOf('yarn') !== -1) { reporter.warn(reporter.lang('packageContainsYarnAsGlobal')); } // install module _context.next = 8; return _lockfile()["default"].fromDirectory(config.cwd); case 8: lockfile = _context.sent; install = new GlobalAdd(args, flags, config, reporter, lockfile); _context.next = 12; return install.init(); case 12: _context.next = 14; return updateBins(); case 14: case "end": return _context.stop(); } }, _callee); }))(); }, bin: function bin(config, reporter, commander, flags, args) { return (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee2() { return _regenerator()["default"].wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.t0 = reporter; _context2.next = 3; return getBinFolder(config, flags); case 3: _context2.t1 = _context2.sent; _context2.t2 = { force: true }; _context2.t0.log.call(_context2.t0, _context2.t1, _context2.t2); case 6: case "end": return _context2.stop(); } }, _callee2); }))(); }, dir: function dir(config, reporter, commander, flags, args) { reporter.log(config.globalFolder, { force: true }); return Promise.resolve(); }, ls: function ls(config, reporter, commander, flags, args) { return (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee3() { return _regenerator()["default"].wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: reporter.warn("`yarn global ls` is deprecated. Please use `yarn global list`."); _context3.next = 3; return _list2(config, reporter, flags, args); case 3: case "end": return _context3.stop(); } }, _callee3); }))(); }, list: function list(config, reporter, commander, flags, args) { return (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee4() { return _regenerator()["default"].wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return _list2(config, reporter, flags, args); case 2: case "end": return _context4.stop(); } }, _callee4); }))(); }, remove: function remove(config, reporter, commander, flags, args) { return (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee5() { var updateBins; return _regenerator()["default"].wrap(function _callee5$(_context5) { while (1) switch (_context5.prev = _context5.next) { case 0: _context5.next = 2; return updateCwd(config); case 2: _context5.next = 4; return initUpdateBins(config, reporter, flags); case 4: updateBins = _context5.sent; _context5.next = 7; return (0, _remove().run)(config, reporter, commander, flags, args); case 7: _context5.next = 9; return updateBins(); case 9: case "end": return _context5.stop(); } }, _callee5); }))(); }, upgrade: function upgrade(config, reporter, commander, flags, args) { return (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee6() { var updateBins; return _regenerator()["default"].wrap(function _callee6$(_context6) { while (1) switch (_context6.prev = _context6.next) { case 0: _context6.next = 2; return updateCwd(config); case 2: _context6.next = 4; return initUpdateBins(config, reporter, flags); case 4: updateBins = _context6.sent; _context6.next = 7; return (0, _upgrade().run)(config, reporter, commander, flags, args); case 7: _context6.next = 9; return updateBins(); case 9: case "end": return _context6.stop(); } }, _callee6); }))(); }, upgradeInteractive: function upgradeInteractive(config, reporter, commander, flags, args) { return (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee7() { var updateBins; return _regenerator()["default"].wrap(function _callee7$(_context7) { while (1) switch (_context7.prev = _context7.next) { case 0: _context7.next = 2; return updateCwd(config); case 2: _context7.next = 4; return initUpdateBins(config, reporter, flags); case 4: updateBins = _context7.sent; _context7.next = 7; return (0, _upgradeInteractive().run)(config, reporter, commander, flags, args); case 7: _context7.next = 9; return updateBins(); case 9: case "end": return _context7.stop(); } }, _callee7); }))(); } }), run = _buildSubCommands.run, _setFlags = _buildSubCommands.setFlags; exports.run = run; function setFlags(commander) { _setFlags(commander); commander.description('Installs packages globally on your operating system.'); commander.option('--prefix <prefix>', 'bin prefix to use to install binaries'); commander.option('--latest', 'upgrade to the latest version of packages'); } //# sourceMappingURL=global.js.map