register_loader.js 675 B

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