46373371b4a5e7a14e16576b95f42e039a44e13b6fca4837d0aa7b577daafd526a4d8a5561b50985e1d2182d3cee9c690b16ad9953a26f7de040d19fd6dc1a 850 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. 'use strict';
  2. const concat = require('../utils').concat;
  3. const formatTitle = require('../utils/colors').formatTitle;
  4. function displayError(severity, error) {
  5. const baseError = formatTitle(severity, severity);
  6. return concat(
  7. `${baseError} ${removeLoaders(error.file)}`,
  8. '',
  9. error.message,
  10. (error.origin ? error.origin : undefined),
  11. '',
  12. error.infos
  13. );
  14. }
  15. function removeLoaders(file) {
  16. if (!file) {
  17. return "";
  18. }
  19. const split = file.split('!');
  20. const filePath = split[split.length - 1];
  21. return `in ${filePath}`;
  22. }
  23. function isDefaultError(error) {
  24. return !error.type;
  25. }
  26. /**
  27. * Format errors without a type
  28. */
  29. function format(errors, type) {
  30. return errors
  31. .filter(isDefaultError)
  32. .reduce((accum, error) => (
  33. accum.concat(displayError(type, error))
  34. ), []);
  35. }
  36. module.exports = format;