docs: function ConfigFromPath (superConfig, project, version) {
    ConfigFromPath.super_.call(this, superConfig, project, version);
  
    var strictNS = simpleWrapNS(this.ns);
    strictNS.env = simpleWrapNS(createNamespace(superConfig.getEnvConfig()));
  
    var files = superConfig._resolvePaths(project, version);
    var loaded = {};
  
    var generateLoad = function (f) {
      return function (otherVersion) {
        debug('load(%s) in %s', otherVersion, f);
        var dir = path.dirname(f);
        var otherFile = path.resolve(dir, otherVersion + '.js');
        if (loaded[otherFile]) {
          throw new Error('load(' + version + ') conflict in file ' + f);
        }
        try {
          require(otherFile)(strictNS, generateLoad(otherFile));
        } catch (err) {
          if (err.code === 'MODULE_NOT_FOUND') {
            throw new Error('load(' + version + ') fail in file ' + f);
          } else {
            throw err;
          }
        }
      };
    };
    files.forEach(function (f) {
      debug('load %s', f);
      var init = require(f);
      loaded[f] = true;
      if (typeof init !== 'function') {
        throw new Error('bad config file format, `module.exports` must be a function: ' + f);
      }
      init(strictNS, generateLoad(f));
    });
  
    var loadedFiles = Object.keys(loaded);
    if (loadedFiles.length < 1) {
      throw new Error('cannot find any config files for ' + project + '.' + version);
    } else {
      loadedFiles.forEach(function (f) {
        delete require.cache[f];
      });
    }
  
    this._loadFinish();
    debug('done');
  }