hydrate(ignoreUnusedPatterns) {
    var _this12 = this;

    return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () {
      const request = yield _this12.fetchRequestFromCwd([], ignoreUnusedPatterns);
      const depRequests = request.requests,
            rawPatterns = request.patterns,
            ignorePatterns = request.ignorePatterns,
            workspaceLayout = request.workspaceLayout;


      yield _this12.resolver.init(depRequests, {
        isFlat: _this12.flags.flat,
        isFrozen: _this12.flags.frozenLockfile,
        workspaceLayout
      });
      yield _this12.flatten(rawPatterns);
      _this12.markIgnored(ignorePatterns);

      // fetch packages, should hit cache most of the time
      const manifests = yield (_packageFetcher || _load_packageFetcher()).fetch(_this12.resolver.getManifests(), _this12.config);
      _this12.resolver.updateManifests(manifests);
      yield (_packageCompatibility || _load_packageCompatibility()).check(_this12.resolver.getManifests(), _this12.config, _this12.flags.ignoreEngines);

      // expand minimal manifests
      for (var _iterator15 = _this12.resolver.getManifests(), _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) {
        var _ref28;

        if (_isArray15) {
          if (_i15 >= _iterator15.length) break;
          _ref28 = _iterator15[_i15++];
        } else {
          _i15 = _iterator15.next();
          if (_i15.done) break;
          _ref28 = _i15.value;
        }

        const manifest = _ref28;

        const ref = manifest._reference;
        invariant(ref, 'expected reference');
        const type = ref.remote.type;
        // link specifier won't ever hit cache

        let loc = '';
        if (type === 'link') {
          continue;
        } else if (type === 'workspace') {
          if (!ref.remote.reference) {
            continue;
          }
          loc = ref.remote.reference;
        } else {
          loc = _this12.config.generateModuleCachePath(ref);
        }
        const newPkg = yield _this12.config.readManifest(loc);
        yield _this12.resolver.updateManifest(ref, newPkg);
      }

      return request;
    })();
  }
Load the dependency graph of the current install. Only does package resolving and wont write to the cwd.