MCPcopy Index your code
hub / github.com/vercel/hyper / findInstallablePackage

Method findInstallablePackage

bin/yarn-standalone.js:102962–103014  ·  view source on GitHub ↗
(workQueue, installed)

Source from the content-addressed store, hash-verified

102960
102961 // find the next package to be installed
102962 findInstallablePackage(workQueue, installed) {
102963 for (var _iterator6 = workQueue, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
102964 var _ref11;
102965
102966 if (_isArray6) {
102967 if (_i6 >= _iterator6.length) break;
102968 _ref11 = _iterator6[_i6++];
102969 } else {
102970 _i6 = _iterator6.next();
102971 if (_i6.done) break;
102972 _ref11 = _i6.value;
102973 }
102974
102975 const pkg = _ref11;
102976
102977 const ref = pkg._reference;
102978 invariant(ref, 'expected reference');
102979 const deps = ref.dependencies;
102980
102981 let dependenciesFulfilled = true;
102982 for (var _iterator7 = deps, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
102983 var _ref12;
102984
102985 if (_isArray7) {
102986 if (_i7 >= _iterator7.length) break;
102987 _ref12 = _iterator7[_i7++];
102988 } else {
102989 _i7 = _iterator7.next();
102990 if (_i7.done) break;
102991 _ref12 = _i7.value;
102992 }
102993
102994 const dep = _ref12;
102995
102996 const pkgDep = this.resolver.getStrictResolvedPattern(dep);
102997 if (!installed.has(pkgDep)) {
102998 dependenciesFulfilled = false;
102999 break;
103000 }
103001 }
103002
103003 // all dependencies are installed
103004 if (dependenciesFulfilled) {
103005 return pkg;
103006 }
103007
103008 // detect circular dependency, mark this pkg as installable to break the circle
103009 if (this.detectCircularDependencies(pkg, new Set(), pkg)) {
103010 return pkg;
103011 }
103012 }
103013 return null;
103014 }
103015
103016 worker(spinner, workQueue, installed, waitQueue) {
103017 var _this5 = this;

Callers 1

workerMethod · 0.80

Calls 5

invariantFunction · 0.85
hasMethod · 0.80
nextMethod · 0.45

Tested by

no test coverage detected