code: function ParsedArgs (args) {
    /**
     * The command to run ("browserify" or "watchify")
     * @type {string}
     */
    this.cmd = "browserify";
  
    /**
     * The base directory for the entry-file glob pattern.
     * See {@link helpers#getBaseDir} for details.
     * @type {string}
     */
    this.baseDir = "";
  
    /**
     * Options for how the entry-file glob pattern should be parsed.
     * For example if an --exclude argument is specified, then `globOptions.ignore` will be set accordingly.
     * @type {object}
     */
    this.globOptions = { ignore: []};
  
    /**
     * The index of the entry-file glob argument.
     * If there is no entry-file argument, or it's not a glob pattern, then this will be -1.
     * @type {number}
     */
    this.globIndex = -1;
  
    /**
     * The index of the outfile argument.
     * If there is no outfile argument, or it's not a glob pattern, then this will be -1;
     * @type {number}
     */
    this.outfileIndex = -1;
  
    /**
     * The arguments to pass to browserify.
     * If {@link globIndex} or {@link outfileIndex} are set, then the corresponding elements in
     * this array will be the corresponding functions.
     * @type {Array}
     */
    this.args = [];
  
    args = args || [];
    while (args.length > 0) {
      parseOutfile(args, this) ||
      parseExclude(args, this) ||
      parseWatch(args, this) ||
      parseSubArgs(args, this) ||
      parseDashArgs(args, this) ||
      parseGlobs(args, this) ||
      passThrough(args, this);
    }
  }
docs: Parses the command-line arguments and replaces glob patterns with functions to expand those patterns.
  
  @param {string[]} args - All command-line arguments, most of which will simply be passed to Browserify
  @constructor