code: function getClosureDep(deps, args) {
    let closureDep = deps.find(d => d.closureSymbols.indexOf('goog') >= 0);
  
    // We need the path to Closure Library to be able to write a dependency file.
    // Note that if we find base.js via a dependency file (like Closure's deps.js)
    // it doesn't help us - we need the actual path of base.js, but the dependency
    // only knows the relative path from Closure Library to base.js, which is
    // always "base.js".
    if (!args.closurePath && (!closureDep || closureDep.isParsedFromDepsFile())) {
      throw new Error(
          'Could not find path to Closure. Closure\'s base.js either needs to ' +
          'be included or --closure-path provided.');
    }
  
    if (args.closurePath && closureDep && !closureDep.isParsedFromDepsFile()) {
      throw new Error(
          'Both --closure-path and Closure\'s base.js file should not be ' +
          'inputs.');
    }
  
    if (args.closurePath && closureDep && closureDep.isParsedFromDepsFile()) {
      closureDep.setClosurePath(args.closurePath);
    }
  
    if (!closureDep) {
      closureDep = new depGraph.Dependency(
          depGraph.DependencyType.SCRIPT, path.join(args.closurePath, 'base.js'),
          ['goog'], []);
      deps.push(closureDep);
    }
  
    return closureDep;
  }
docs: Finds or creates a dependency for Closure's base.js (which provides the
  `goog` symbol).
  
  @param {!Array<!depGraph.Dependency>} deps
  @param {!Arguments} args
  @return {!depGraph.Dependency}