1 const rechoir = require('rechoir');
2 const isString = require('lodash.isstring');
4 module.exports = function(eventEmitter, extensions, configPath, cwd) {
5 extensions = extensions || {};
7 if (!isString(configPath)) {
11 var autoloads = rechoir.prepare(extensions, configPath, cwd, true);
12 if (autoloads instanceof Error) {
13 autoloads = autoloads.failures;
16 if (Array.isArray(autoloads)) {
17 autoloads.forEach(function (attempt) {
19 eventEmitter.emit('requireFail', attempt.moduleName, attempt.error);
21 eventEmitter.emit('require', attempt.moduleName, attempt.module);