function parseArgs(args) {
  return yargs
      .command('*', 'Utility for Closure Library dependency calculation.')
      .option('file', {
        alias: 'f',
        default: [],
        array: true,
        description:
            'One or more input files to calculate dependencies for. The ' +
            'namespaces in these files will be combined with those given ' +
            'with the --root flag to form the set of namespaces to find ' +
            'dependencies for. If this is a file that contains repeated ' +
            'calls to goog.addDependency, then the calls will be used as ' +
            'forward declarations. e.g. if you include Closure Library\'s ' +
            'deps.js file, then there is no need to include ' +
            'closure/goog/array/array.js as an input file as well. ' +
            'If you wish to merge these deps files in the output, see the ' +
            '--merge-deps option.',
      })
      .option('root', {
        alias: 'r',
        default: [],
        array: true,

        description:
            'Directories to scan for JavaScript (.js) files to include as ' +
            'inputs. These directories are scanned recursively.',
      })
      .option('exclude', {
        alias: 'e',
        default: [],
        array: true,
        description:
            'One or more path globs to ignore. Useful when combined with the ' +
            '--root flag to ignore specific subfiles or subdirectories.'
      })
      .option('closure-path', {
        default: undefined,
        string: true,
        description:
            'Path to the Closure Library (folder containing the base.js ' +
            'file). Required unless the path can be determined ' +
            'automatically by base.js ' +
            'being included among the input files.',
      })
      .option('validate', {
        default: true,
        boolean: true,
        description:
            'Enables validation the dependency graph before generating the ' +
            'dependency file.'
      })
      .option('merge-deps', {
        default: false,
        boolean: true,
        description: 'If true, then any deps files (files with calls to ' +
            'goog.addDependency) included in the input wll be also included ' +
            'in the output.'
      })
      .parse(args);
}
@param {string|undefined} args
@return {!Arguments}