stats-formatter.js 1.2 KB

12345678910111213141516171819202122232425262728
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.statsFormatter = void 0;
  7. const chalk_1 = __importDefault(require("chalk"));
  8. // mimics webpack's stats summary formatter
  9. function statsFormatter(issues, stats) {
  10. const errorsNumber = issues.filter((issue) => issue.severity === 'error').length;
  11. const warningsNumber = issues.filter((issue) => issue.severity === 'warning').length;
  12. const errorsFormatted = errorsNumber
  13. ? chalk_1.default.red.bold(`${errorsNumber} ${errorsNumber === 1 ? 'error' : 'errors'}`)
  14. : '';
  15. const warningsFormatted = warningsNumber
  16. ? chalk_1.default.yellow.bold(`${warningsNumber} ${warningsNumber === 1 ? 'warning' : 'warnings'}`)
  17. : '';
  18. const timeFormatted = Math.round(Date.now() - stats.startTime);
  19. return [
  20. 'Found ',
  21. errorsFormatted,
  22. errorsFormatted && warningsFormatted ? ' and ' : '',
  23. warningsFormatted,
  24. ` in ${timeFormatted} ms`,
  25. '.',
  26. ].join('');
  27. }
  28. exports.statsFormatter = statsFormatter;