(workQueue, installed)
| 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; |
no test coverage detected