loadReporter.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = loadReporter;
  6. var _path = require('path');
  7. var _path2 = _interopRequireDefault(_path);
  8. var _mocha = require('mocha');
  9. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  10. function loadReporter(reporter, cwd) {
  11. // if reporter is already loaded, just return it
  12. if (typeof reporter === 'function') {
  13. return reporter;
  14. }
  15. // try to load built-in reporter like 'spec'
  16. if (typeof _mocha.reporters[reporter] !== 'undefined') {
  17. return _mocha.reporters[reporter];
  18. }
  19. var loadedReporter = null;
  20. try {
  21. // try to load reporter from node_modules
  22. loadedReporter = require(reporter); // eslint-disable-line global-require, import/no-dynamic-require
  23. } catch (e) {
  24. // try to load reporter from cwd
  25. // eslint-disable-next-line global-require, import/no-dynamic-require
  26. loadedReporter = require(_path2.default.resolve(cwd, reporter));
  27. }
  28. return loadedReporter;
  29. }