()
| 50968 | } |
| 50969 | |
| 50970 | resolveRequestOffline() { |
| 50971 | var _this2 = this; |
| 50972 | |
| 50973 | return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { |
| 50974 | const packageDirs = yield _this2.config.getCache('cachedPackages', function () { |
| 50975 | return (0, (_cache || _load_cache()).getCachedPackagesDirs)(_this2.config, _this2.config.cacheFolder); |
| 50976 | }); |
| 50977 | |
| 50978 | const versions = (0, (_map || _load_map()).default)(); |
| 50979 | |
| 50980 | for (var _iterator = packageDirs, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { |
| 50981 | var _ref; |
| 50982 | |
| 50983 | if (_isArray) { |
| 50984 | if (_i >= _iterator.length) break; |
| 50985 | _ref = _iterator[_i++]; |
| 50986 | } else { |
| 50987 | _i = _iterator.next(); |
| 50988 | if (_i.done) break; |
| 50989 | _ref = _i.value; |
| 50990 | } |
| 50991 | |
| 50992 | const dir = _ref; |
| 50993 | |
| 50994 | // check if folder contains the registry prefix |
| 50995 | if (dir.indexOf(`${NPM_REGISTRY_ID}-`) === -1) { |
| 50996 | continue; |
| 50997 | } |
| 50998 | |
| 50999 | // read manifest and validate correct name |
| 51000 | const pkg = yield _this2.config.readManifest(dir, NPM_REGISTRY_ID); |
| 51001 | if (pkg.name !== _this2.name) { |
| 51002 | continue; |
| 51003 | } |
| 51004 | |
| 51005 | // read package metadata |
| 51006 | const metadata = yield _this2.config.readPackageMetadata(dir); |
| 51007 | if (!metadata.remote) { |
| 51008 | continue; // old yarn metadata |
| 51009 | } |
| 51010 | |
| 51011 | versions[pkg.version] = Object.assign({}, pkg, { |
| 51012 | _remote: metadata.remote |
| 51013 | }); |
| 51014 | } |
| 51015 | |
| 51016 | const satisfied = yield _this2.config.resolveConstraints(Object.keys(versions), _this2.range); |
| 51017 | if (satisfied) { |
| 51018 | return versions[satisfied]; |
| 51019 | } else if (!_this2.config.preferOffline) { |
| 51020 | throw new (_errors || _load_errors()).MessageError(_this2.reporter.lang('couldntFindPackageInCache', _this2.name, _this2.range, Object.keys(versions).join(', '))); |
| 51021 | } else { |
| 51022 | return null; |
| 51023 | } |
| 51024 | })(); |
| 51025 | } |
| 51026 | |
| 51027 | cleanRegistry(url) { |
no test coverage detected