index.js
function use(type, fn, options) {
    if (typeof type === 'string' || Array.isArray(type)) {
      fn = wrap(type, fn);
    } else {
      options = fn;
      fn = type;
    }

    var val = fn.call(this, this, this.base || {}, options || {}, this.env || {});
    if (typeof val === 'function') {
      this.fns.push(val);
    }

    if (typeof this.emit === 'function') {
      this.emit('use', val, this);
    }
    return this;
  }
function use(type, fn, options) {
    if (typeof type === 'string' || Array.isArray(type)) {
      fn = wrap(type, fn);
    } else {
      options = fn;
      fn = type;
    }

    var val = fn.call(this, this, this.base || {}, options || {}, this.env || {});
    if (typeof val === 'function') {
      this.fns.push(val);
    }

    if (typeof this.emit === 'function') {
      this.emit('use', val, this);
    }
    return this;
  }
function use ( type , fn , options ) { if ( typeof type === 'string' || Array . isArray ( type ) ) { fn = wrap ( type , fn ) ; } else { options = fn ; fn = type ; } var val = fn . call ( this , this , this . base || { } , options || { } , this . env || { } ) ; if ( typeof val === 'function' ) { this . fns . push ( val ) ; } if ( typeof this . emit === 'function' ) { this . emit ( 'use' , val , this ) ; } return this ; }
Call plugin `fn`. If a function is returned push it into the
`fns` array to be called by the `run` method.
Call plugin fn . If a function is returned push it into the fns array to be called by the run method .