MCPcopy
hub / github.com/vercel/hyper / resolveRequestOffline

Method resolveRequestOffline

bin/yarn-standalone.js:50970–51025  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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) {

Callers 1

resolveRequestMethod · 0.80

Calls 11

_load_asyncToGeneratorFunction · 0.85
_load_cacheFunction · 0.85
_load_mapFunction · 0.85
_load_errorsFunction · 0.85
getCacheMethod · 0.80
indexOfMethod · 0.80
readManifestMethod · 0.80
readPackageMetadataMethod · 0.80
resolveConstraintsMethod · 0.80
nextMethod · 0.45
langMethod · 0.45

Tested by

no test coverage detected