lib/loadRcConfig.js
function loadRcConfig(callback) {
  const sync = typeof callback !== 'function';

  if (sync) {
    const fp = rcLoader.for(this.resourcePath);
    if (typeof fp !== 'string') {
      // no .jshintrc found
      return {};
    }
    this.addDependency(fp);
    const options = loadConfig(fp);
    delete options.dirname;
    return options;
  }

  // eslint-disable-next-line consistent-return
  rcLoader.for(this.resourcePath, (err, fp) => {
    if (typeof fp !== 'string') {
      // no .jshintrc found
      return callback(null, {});
    }

    this.addDependency(fp);
    const options = loadConfig(fp);
    delete options.dirname;
    callback(err, options);
  });
}
function loadRcConfig(callback) {
  const sync = typeof callback !== 'function';

  if (sync) {
    const fp = rcLoader.for(this.resourcePath);
    if (typeof fp !== 'string') {
      // no .jshintrc found
      return {};
    }
    this.addDependency(fp);
    const options = loadConfig(fp);
    delete options.dirname;
    return options;
  }

  // eslint-disable-next-line consistent-return
  rcLoader.for(this.resourcePath, (err, fp) => {
    if (typeof fp !== 'string') {
      // no .jshintrc found
      return callback(null, {});
    }

    this.addDependency(fp);
    const options = loadConfig(fp);
    delete options.dirname;
    callback(err, options);
  });
}
eslint-disable-next-line consistent-return