25 lines
639 B
JavaScript
25 lines
639 B
JavaScript
|
const rechoir = require('rechoir');
|
||
|
|
||
|
module.exports = function(eventEmitter, extensions, configPath, cwd) {
|
||
|
extensions = extensions || {};
|
||
|
|
||
|
if (typeof configPath !== 'string') {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var autoloads = rechoir.prepare(extensions, configPath, cwd, true);
|
||
|
if (autoloads instanceof Error) {
|
||
|
autoloads = autoloads.failures;
|
||
|
}
|
||
|
|
||
|
if (Array.isArray(autoloads)) {
|
||
|
autoloads.forEach(function (attempt) {
|
||
|
if (attempt.error) {
|
||
|
eventEmitter.emit('requireFail', attempt.moduleName, attempt.error);
|
||
|
} else {
|
||
|
eventEmitter.emit('require', attempt.moduleName, attempt.module);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
};
|