UNPKG

982 BJavaScriptView Raw
1const chalk = require('chalk');
2
3const TYPE = 'stylelint-error';
4
5exports.transformer = (error) => {
6 const { originalStack } = error;
7 const match = originalStack.some(({ fileName }) => (
8 fileName &&
9 fileName.indexOf('stylelint-webpack-plugin') > 0
10 ));
11 if (match) {
12 return Object.assign({}, error, { type: TYPE });
13 }
14 return error;
15};
16
17function severityColor(severity) {
18 switch (severity.toLowerCase()) {
19 case 'success': return 'green';
20 case 'info': return 'blue';
21 case 'note': return 'white';
22 case 'warning': return 'yellow';
23 case 'error': return 'red';
24 default: return 'red';
25 }
26}
27
28exports.formatter = (errors, severity) => {
29 // eslint-disable-next-line no-param-reassign
30 errors = errors.filter(e => e.type === TYPE);
31 if (errors.length > 0) {
32 return [
33 '',
34 chalk`{bgMagenta.white stylelint } {${severityColor(severity)} ${severity}}`,
35 ...errors.map(({ message }) => message),
36 ];
37 }
38 return [];
39};