Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

verboseFormatter.js 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. 'use strict';
  2. const _ = require('lodash');
  3. const chalk = require('chalk');
  4. const stringFormatter = require('./stringFormatter');
  5. /**
  6. * @type {import('stylelint').Formatter}
  7. */
  8. module.exports = function (results) {
  9. let output = stringFormatter(results);
  10. if (output === '') {
  11. output = '\n';
  12. }
  13. const sourceWord = results.length > 1 ? 'sources' : 'source';
  14. const ignoredCount = results.filter((result) => result.ignored).length;
  15. const checkedDisplay = ignoredCount
  16. ? `${results.length - ignoredCount} of ${results.length}`
  17. : results.length;
  18. output += chalk.underline(`${checkedDisplay} ${sourceWord} checked\n`);
  19. results.forEach((result) => {
  20. let formatting = 'green';
  21. if (result.errored) {
  22. formatting = 'red';
  23. } else if (result.warnings.length) {
  24. formatting = 'yellow';
  25. } else if (result.ignored) {
  26. formatting = 'dim';
  27. }
  28. let sourceText = `${result.source}`;
  29. if (result.ignored) {
  30. sourceText += ' (ignored)';
  31. }
  32. output += _.get(chalk, formatting)(` ${sourceText}\n`);
  33. });
  34. const warnings = _.flatten(results.map((r) => r.warnings));
  35. const warningsBySeverity = _.groupBy(warnings, 'severity');
  36. const problemWord = warnings.length === 1 ? 'problem' : 'problems';
  37. output += chalk.underline(`\n${warnings.length} ${problemWord} found\n`);
  38. for (const [severityLevel, warningList] of Object.entries(warningsBySeverity)) {
  39. const warningsByRule = _.groupBy(warningList, 'rule');
  40. output += ` severity level "${severityLevel}": ${warningList.length}\n`;
  41. for (const [rule, list] of Object.entries(warningsByRule)) {
  42. output += chalk.dim(` ${rule}: ${list.length}\n`);
  43. }
  44. }
  45. return `${output}\n`;
  46. };