@html-validate/stylish 4.2.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/browser.js +15 -22
- package/dist/cjs/browser.js.map +3 -3
- package/dist/cjs/node.js +15 -22
- package/dist/cjs/node.js.map +3 -3
- package/dist/esm/browser.js +11 -18
- package/dist/esm/browser.js.map +2 -2
- package/dist/esm/node.js +11 -18
- package/dist/esm/node.js.map +2 -2
- package/package.json +3 -3
package/dist/cjs/browser.js
CHANGED
|
@@ -32,10 +32,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
32
32
|
|
|
33
33
|
// node_modules/text-table/index.js
|
|
34
34
|
var require_text_table = __commonJS({
|
|
35
|
-
"node_modules/text-table/index.js"(
|
|
35
|
+
"node_modules/text-table/index.js"(exports2, module2) {
|
|
36
36
|
module2.exports = function(rows_, opts) {
|
|
37
|
-
if (!opts)
|
|
38
|
-
opts = {};
|
|
37
|
+
if (!opts) opts = {};
|
|
39
38
|
var hsep = opts.hsep === void 0 ? " " : opts.hsep;
|
|
40
39
|
var align = opts.align || [];
|
|
41
40
|
var stringLength = opts.stringLength || function(s) {
|
|
@@ -44,8 +43,7 @@ var require_text_table = __commonJS({
|
|
|
44
43
|
var dotsizes = reduce(rows_, function(acc, row) {
|
|
45
44
|
forEach(row, function(c, ix) {
|
|
46
45
|
var n = dotindex(c);
|
|
47
|
-
if (!acc[ix] || n > acc[ix])
|
|
48
|
-
acc[ix] = n;
|
|
46
|
+
if (!acc[ix] || n > acc[ix]) acc[ix] = n;
|
|
49
47
|
});
|
|
50
48
|
return acc;
|
|
51
49
|
}, []);
|
|
@@ -56,15 +54,13 @@ var require_text_table = __commonJS({
|
|
|
56
54
|
var index = dotindex(c);
|
|
57
55
|
var size = dotsizes[ix] + (/\./.test(c) ? 1 : 2) - (stringLength(c) - index);
|
|
58
56
|
return c + Array(size).join(" ");
|
|
59
|
-
} else
|
|
60
|
-
return c;
|
|
57
|
+
} else return c;
|
|
61
58
|
});
|
|
62
59
|
});
|
|
63
60
|
var sizes = reduce(rows, function(acc, row) {
|
|
64
61
|
forEach(row, function(c, ix) {
|
|
65
62
|
var n = stringLength(c);
|
|
66
|
-
if (!acc[ix] || n > acc[ix])
|
|
67
|
-
acc[ix] = n;
|
|
63
|
+
if (!acc[ix] || n > acc[ix]) acc[ix] = n;
|
|
68
64
|
});
|
|
69
65
|
return acc;
|
|
70
66
|
}, []);
|
|
@@ -87,8 +83,7 @@ var require_text_table = __commonJS({
|
|
|
87
83
|
return m ? m.index + 1 : c.length;
|
|
88
84
|
}
|
|
89
85
|
function reduce(xs, f, init) {
|
|
90
|
-
if (xs.reduce)
|
|
91
|
-
return xs.reduce(f, init);
|
|
86
|
+
if (xs.reduce) return xs.reduce(f, init);
|
|
92
87
|
var i = 0;
|
|
93
88
|
var acc = arguments.length >= 3 ? init : xs[i++];
|
|
94
89
|
for (; i < xs.length; i++) {
|
|
@@ -97,15 +92,13 @@ var require_text_table = __commonJS({
|
|
|
97
92
|
return acc;
|
|
98
93
|
}
|
|
99
94
|
function forEach(xs, f) {
|
|
100
|
-
if (xs.forEach)
|
|
101
|
-
return xs.forEach(f);
|
|
95
|
+
if (xs.forEach) return xs.forEach(f);
|
|
102
96
|
for (var i = 0; i < xs.length; i++) {
|
|
103
97
|
f.call(xs, xs[i], i);
|
|
104
98
|
}
|
|
105
99
|
}
|
|
106
100
|
function map(xs, f) {
|
|
107
|
-
if (xs.map)
|
|
108
|
-
return xs.map(f);
|
|
101
|
+
if (xs.map) return xs.map(f);
|
|
109
102
|
var res = [];
|
|
110
103
|
for (var i = 0; i < xs.length; i++) {
|
|
111
104
|
res.push(f.call(xs, xs[i], i));
|
|
@@ -116,12 +109,12 @@ var require_text_table = __commonJS({
|
|
|
116
109
|
});
|
|
117
110
|
|
|
118
111
|
// src/index.ts
|
|
119
|
-
var
|
|
120
|
-
__export(
|
|
112
|
+
var index_exports = {};
|
|
113
|
+
__export(index_exports, {
|
|
121
114
|
Severity: () => Severity,
|
|
122
115
|
stylish: () => stylish
|
|
123
116
|
});
|
|
124
|
-
module.exports = __toCommonJS(
|
|
117
|
+
module.exports = __toCommonJS(index_exports);
|
|
125
118
|
|
|
126
119
|
// src/stylish.ts
|
|
127
120
|
var import_text_table = __toESM(require_text_table());
|
|
@@ -153,7 +146,7 @@ function centerLineColumn(el) {
|
|
|
153
146
|
return el.replace(/(\d+)\s+(\d+)/u, (_m, p1, p2) => dim(`${p1}:${p2}`));
|
|
154
147
|
}
|
|
155
148
|
function stripAnsi(text) {
|
|
156
|
-
return text.
|
|
149
|
+
return text.replaceAll(/\u001B\[[\d;]*m/g, "");
|
|
157
150
|
}
|
|
158
151
|
function stylish(results) {
|
|
159
152
|
let output = "\n";
|
|
@@ -162,10 +155,10 @@ function stylish(results) {
|
|
|
162
155
|
let fixableErrorCount = 0;
|
|
163
156
|
let fixableWarningCount = 0;
|
|
164
157
|
let summaryColor = yellow;
|
|
165
|
-
|
|
158
|
+
for (const result of results) {
|
|
166
159
|
const messages = result.messages;
|
|
167
160
|
if (messages.length === 0) {
|
|
168
|
-
|
|
161
|
+
continue;
|
|
169
162
|
}
|
|
170
163
|
errorCount += result.errorCount;
|
|
171
164
|
warningCount += result.warningCount;
|
|
@@ -200,7 +193,7 @@ function stylish(results) {
|
|
|
200
193
|
output += `${formattedTable}
|
|
201
194
|
|
|
202
195
|
`;
|
|
203
|
-
}
|
|
196
|
+
}
|
|
204
197
|
const total = errorCount + warningCount;
|
|
205
198
|
if (total > 0) {
|
|
206
199
|
output += summaryColor(
|
package/dist/cjs/browser.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../node_modules/text-table/index.js", "../../src/index.ts", "../../src/stylish.ts", "../../src/colors-browser.ts", "../../src/severity.ts"],
|
|
4
|
-
"sourcesContent": ["module.exports = function (rows_, opts) {\n if (!opts) opts = {};\n var hsep = opts.hsep === undefined ? ' ' : opts.hsep;\n var align = opts.align || [];\n var stringLength = opts.stringLength\n || function (s) { return String(s).length; }\n ;\n \n var dotsizes = reduce(rows_, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = dotindex(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n var rows = map(rows_, function (row) {\n return map(row, function (c_, ix) {\n var c = String(c_);\n if (align[ix] === '.') {\n var index = dotindex(c);\n var size = dotsizes[ix] + (/\\./.test(c) ? 1 : 2)\n - (stringLength(c) - index)\n ;\n return c + Array(size).join(' ');\n }\n else return c;\n });\n });\n \n var sizes = reduce(rows, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = stringLength(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n return map(rows, function (row) {\n return map(row, function (c, ix) {\n var n = (sizes[ix] - stringLength(c)) || 0;\n var s = Array(Math.max(n + 1, 1)).join(' ');\n if (align[ix] === 'r' || align[ix] === '.') {\n return s + c;\n }\n if (align[ix] === 'c') {\n return Array(Math.ceil(n / 2 + 1)).join(' ')\n + c + Array(Math.floor(n / 2 + 1)).join(' ')\n ;\n }\n \n return c + s;\n }).join(hsep).replace(/\\s+$/, '');\n }).join('\\n');\n};\n\nfunction dotindex (c) {\n var m = /\\.[^.]*$/.exec(c);\n return m ? m.index + 1 : c.length;\n}\n\nfunction reduce (xs, f, init) {\n if (xs.reduce) return xs.reduce(f, init);\n var i = 0;\n var acc = arguments.length >= 3 ? init : xs[i++];\n for (; i < xs.length; i++) {\n f(acc, xs[i], i);\n }\n return acc;\n}\n\nfunction forEach (xs, f) {\n if (xs.forEach) return xs.forEach(f);\n for (var i = 0; i < xs.length; i++) {\n f.call(xs, xs[i], i);\n }\n}\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f.call(xs, xs[i], i));\n }\n return res;\n}\n", "export { stylish } from \"./stylish\";\nexport { Severity } from \"./severity\";\n", "import table, { type Options } from \"text-table\";\nimport * as colors from \"./colors-node\";\nimport { type Result } from \"./result\";\nimport { Severity } from \"./severity\";\n\n/**\n * Given a word and a count, append an s if count is not one.\n * @param word - A word in its singular form.\n * @param count - A number controlling whether word should be pluralized.\n * @returns - The original word with an s on the end if count is not one.\n */\nfunction pluralize(word: string, count: number): string {\n\treturn count === 1 ? word : `${word}s`;\n}\n\n/**\n * Given a line with \" $\\{line\\} $\\{column\\} \" where line is right-aligned and\n * column is left-aligned it replaces the delimiter with a colon.\n */\nfunction centerLineColumn(el: string): string {\n\treturn el.replace(/(\\d+)\\s+(\\d+)/u, (_m, p1: string, p2: string) => colors.dim(`${p1}:${p2}`));\n}\n\n/**\n * Strip ANSI color escape sequences from text.\n */\nfunction stripAnsi(text: string): string {\n\t/* eslint-disable-next-line no-control-regex -- expected to match control characters */\n\treturn text.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,
|
|
6
|
-
"names": ["module", "Severity", "table"]
|
|
4
|
+
"sourcesContent": ["module.exports = function (rows_, opts) {\n if (!opts) opts = {};\n var hsep = opts.hsep === undefined ? ' ' : opts.hsep;\n var align = opts.align || [];\n var stringLength = opts.stringLength\n || function (s) { return String(s).length; }\n ;\n \n var dotsizes = reduce(rows_, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = dotindex(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n var rows = map(rows_, function (row) {\n return map(row, function (c_, ix) {\n var c = String(c_);\n if (align[ix] === '.') {\n var index = dotindex(c);\n var size = dotsizes[ix] + (/\\./.test(c) ? 1 : 2)\n - (stringLength(c) - index)\n ;\n return c + Array(size).join(' ');\n }\n else return c;\n });\n });\n \n var sizes = reduce(rows, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = stringLength(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n return map(rows, function (row) {\n return map(row, function (c, ix) {\n var n = (sizes[ix] - stringLength(c)) || 0;\n var s = Array(Math.max(n + 1, 1)).join(' ');\n if (align[ix] === 'r' || align[ix] === '.') {\n return s + c;\n }\n if (align[ix] === 'c') {\n return Array(Math.ceil(n / 2 + 1)).join(' ')\n + c + Array(Math.floor(n / 2 + 1)).join(' ')\n ;\n }\n \n return c + s;\n }).join(hsep).replace(/\\s+$/, '');\n }).join('\\n');\n};\n\nfunction dotindex (c) {\n var m = /\\.[^.]*$/.exec(c);\n return m ? m.index + 1 : c.length;\n}\n\nfunction reduce (xs, f, init) {\n if (xs.reduce) return xs.reduce(f, init);\n var i = 0;\n var acc = arguments.length >= 3 ? init : xs[i++];\n for (; i < xs.length; i++) {\n f(acc, xs[i], i);\n }\n return acc;\n}\n\nfunction forEach (xs, f) {\n if (xs.forEach) return xs.forEach(f);\n for (var i = 0; i < xs.length; i++) {\n f.call(xs, xs[i], i);\n }\n}\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f.call(xs, xs[i], i));\n }\n return res;\n}\n", "export { stylish } from \"./stylish\";\nexport { Severity } from \"./severity\";\n", "import table, { type Options } from \"text-table\";\nimport * as colors from \"./colors-node\";\nimport { type Result } from \"./result\";\nimport { Severity } from \"./severity\";\n\n/**\n * Given a word and a count, append an s if count is not one.\n * @param word - A word in its singular form.\n * @param count - A number controlling whether word should be pluralized.\n * @returns - The original word with an s on the end if count is not one.\n */\nfunction pluralize(word: string, count: number): string {\n\treturn count === 1 ? word : `${word}s`;\n}\n\n/**\n * Given a line with \" $\\{line\\} $\\{column\\} \" where line is right-aligned and\n * column is left-aligned it replaces the delimiter with a colon.\n */\nfunction centerLineColumn(el: string): string {\n\t/* eslint-disable-next-line sonarjs/slow-regex -- false positive? unless I'm missing something here */\n\treturn el.replace(/(\\d+)\\s+(\\d+)/u, (_m, p1: string, p2: string) => colors.dim(`${p1}:${p2}`));\n}\n\n/**\n * Strip ANSI color escape sequences from text.\n */\nfunction stripAnsi(text: string): string {\n\t/* eslint-disable-next-line no-control-regex -- expected to match control characters */\n\treturn text.replaceAll(/\\u001B\\[[\\d;]*m/g, \"\");\n}\n\nexport function stylish(results: Result[]): string {\n\tlet output = \"\\n\";\n\tlet errorCount = 0;\n\tlet warningCount = 0;\n\tlet fixableErrorCount = 0;\n\tlet fixableWarningCount = 0;\n\tlet summaryColor: colors.Colorize = colors.yellow;\n\n\tfor (const result of results) {\n\t\tconst messages = result.messages;\n\n\t\tif (messages.length === 0) {\n\t\t\tcontinue;\n\t\t}\n\n\t\terrorCount += result.errorCount;\n\t\twarningCount += result.warningCount;\n\t\tfixableErrorCount += result.fixableErrorCount;\n\t\tfixableWarningCount += result.fixableWarningCount;\n\n\t\t/* eslint-disable-next-line no-loop-func -- technical debt */\n\t\tconst rows = messages.map((message) => {\n\t\t\tlet messageType;\n\n\t\t\tif (Boolean(message.fatal) || message.severity === Severity.ERROR) {\n\t\t\t\tmessageType = colors.red(\"error\");\n\t\t\t\tsummaryColor = colors.red;\n\t\t\t} else {\n\t\t\t\tmessageType = colors.yellow(\"warning\");\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t\"\",\n\t\t\t\tmessage.line ?? 0,\n\t\t\t\tmessage.column ?? 0,\n\t\t\t\tmessageType,\n\t\t\t\tmessage.message.replace(/([^ ])\\.$/u, \"$1\"),\n\t\t\t\tmessage.ruleId ? colors.dim(message.ruleId) : \"\",\n\t\t\t];\n\t\t});\n\n\t\tconst options: Options = {\n\t\t\talign: [\"l\", \"r\", \"l\"],\n\t\t\tstringLength(str: string): number {\n\t\t\t\treturn stripAnsi(str).length;\n\t\t\t},\n\t\t};\n\t\tconst formattedTable = table(rows, options).split(\"\\n\").map(centerLineColumn).join(\"\\n\");\n\n\t\toutput += `${colors.underline(result.filePath)}\\n`;\n\t\toutput += `${formattedTable}\\n\\n`;\n\t}\n\n\tconst total = errorCount + warningCount;\n\n\tif (total > 0) {\n\t\toutput += summaryColor(\n\t\t\tcolors.bold(\n\t\t\t\t[\n\t\t\t\t\t\"\\u2716 \",\n\t\t\t\t\ttotal,\n\t\t\t\t\tpluralize(\" problem\", total),\n\t\t\t\t\t\" (\",\n\t\t\t\t\terrorCount,\n\t\t\t\t\tpluralize(\" error\", errorCount),\n\t\t\t\t\t\", \",\n\t\t\t\t\twarningCount,\n\t\t\t\t\tpluralize(\" warning\", warningCount),\n\t\t\t\t\t\")\\n\",\n\t\t\t\t].join(\"\"),\n\t\t\t),\n\t\t);\n\n\t\tif (fixableErrorCount > 0 || fixableWarningCount > 0) {\n\t\t\toutput += summaryColor(\n\t\t\t\tcolors.bold(\n\t\t\t\t\t[\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\tfixableErrorCount,\n\t\t\t\t\t\tpluralize(\" error\", fixableErrorCount),\n\t\t\t\t\t\t\" and \",\n\t\t\t\t\t\tfixableWarningCount,\n\t\t\t\t\t\tpluralize(\" warning\", fixableWarningCount),\n\t\t\t\t\t\t\" potentially fixable with the `--fix` option.\\n\",\n\t\t\t\t\t].join(\"\"),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Resets output color, for prevent change on top level\n\treturn total > 0 ? colors.reset(output) : \"\";\n}\n", "function passtru(value: string): string {\n\treturn value;\n}\n\nexport const reset = passtru;\nexport const bold = passtru;\nexport const dim = passtru;\nexport const underline = passtru;\n\nexport const yellow = passtru;\nexport const red = passtru;\n", "export enum Severity {\n\tOFF = 0,\n\tWARN = 1,\n\tERROR = 2,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["exports", "module", "Severity", "table"]
|
|
7
7
|
}
|
package/dist/cjs/node.js
CHANGED
|
@@ -32,10 +32,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
32
32
|
|
|
33
33
|
// node_modules/text-table/index.js
|
|
34
34
|
var require_text_table = __commonJS({
|
|
35
|
-
"node_modules/text-table/index.js"(
|
|
35
|
+
"node_modules/text-table/index.js"(exports2, module2) {
|
|
36
36
|
module2.exports = function(rows_, opts) {
|
|
37
|
-
if (!opts)
|
|
38
|
-
opts = {};
|
|
37
|
+
if (!opts) opts = {};
|
|
39
38
|
var hsep = opts.hsep === void 0 ? " " : opts.hsep;
|
|
40
39
|
var align = opts.align || [];
|
|
41
40
|
var stringLength = opts.stringLength || function(s) {
|
|
@@ -44,8 +43,7 @@ var require_text_table = __commonJS({
|
|
|
44
43
|
var dotsizes = reduce(rows_, function(acc, row) {
|
|
45
44
|
forEach(row, function(c, ix) {
|
|
46
45
|
var n = dotindex(c);
|
|
47
|
-
if (!acc[ix] || n > acc[ix])
|
|
48
|
-
acc[ix] = n;
|
|
46
|
+
if (!acc[ix] || n > acc[ix]) acc[ix] = n;
|
|
49
47
|
});
|
|
50
48
|
return acc;
|
|
51
49
|
}, []);
|
|
@@ -56,15 +54,13 @@ var require_text_table = __commonJS({
|
|
|
56
54
|
var index = dotindex(c);
|
|
57
55
|
var size = dotsizes[ix] + (/\./.test(c) ? 1 : 2) - (stringLength(c) - index);
|
|
58
56
|
return c + Array(size).join(" ");
|
|
59
|
-
} else
|
|
60
|
-
return c;
|
|
57
|
+
} else return c;
|
|
61
58
|
});
|
|
62
59
|
});
|
|
63
60
|
var sizes = reduce(rows, function(acc, row) {
|
|
64
61
|
forEach(row, function(c, ix) {
|
|
65
62
|
var n = stringLength(c);
|
|
66
|
-
if (!acc[ix] || n > acc[ix])
|
|
67
|
-
acc[ix] = n;
|
|
63
|
+
if (!acc[ix] || n > acc[ix]) acc[ix] = n;
|
|
68
64
|
});
|
|
69
65
|
return acc;
|
|
70
66
|
}, []);
|
|
@@ -87,8 +83,7 @@ var require_text_table = __commonJS({
|
|
|
87
83
|
return m ? m.index + 1 : c.length;
|
|
88
84
|
}
|
|
89
85
|
function reduce(xs, f, init) {
|
|
90
|
-
if (xs.reduce)
|
|
91
|
-
return xs.reduce(f, init);
|
|
86
|
+
if (xs.reduce) return xs.reduce(f, init);
|
|
92
87
|
var i = 0;
|
|
93
88
|
var acc = arguments.length >= 3 ? init : xs[i++];
|
|
94
89
|
for (; i < xs.length; i++) {
|
|
@@ -97,15 +92,13 @@ var require_text_table = __commonJS({
|
|
|
97
92
|
return acc;
|
|
98
93
|
}
|
|
99
94
|
function forEach(xs, f) {
|
|
100
|
-
if (xs.forEach)
|
|
101
|
-
return xs.forEach(f);
|
|
95
|
+
if (xs.forEach) return xs.forEach(f);
|
|
102
96
|
for (var i = 0; i < xs.length; i++) {
|
|
103
97
|
f.call(xs, xs[i], i);
|
|
104
98
|
}
|
|
105
99
|
}
|
|
106
100
|
function map(xs, f) {
|
|
107
|
-
if (xs.map)
|
|
108
|
-
return xs.map(f);
|
|
101
|
+
if (xs.map) return xs.map(f);
|
|
109
102
|
var res = [];
|
|
110
103
|
for (var i = 0; i < xs.length; i++) {
|
|
111
104
|
res.push(f.call(xs, xs[i], i));
|
|
@@ -116,12 +109,12 @@ var require_text_table = __commonJS({
|
|
|
116
109
|
});
|
|
117
110
|
|
|
118
111
|
// src/index.ts
|
|
119
|
-
var
|
|
120
|
-
__export(
|
|
112
|
+
var index_exports = {};
|
|
113
|
+
__export(index_exports, {
|
|
121
114
|
Severity: () => Severity,
|
|
122
115
|
stylish: () => stylish
|
|
123
116
|
});
|
|
124
|
-
module.exports = __toCommonJS(
|
|
117
|
+
module.exports = __toCommonJS(index_exports);
|
|
125
118
|
|
|
126
119
|
// src/stylish.ts
|
|
127
120
|
var import_text_table = __toESM(require_text_table());
|
|
@@ -151,7 +144,7 @@ function centerLineColumn(el) {
|
|
|
151
144
|
return el.replace(/(\d+)\s+(\d+)/u, (_m, p1, p2) => dim2(`${p1}:${p2}`));
|
|
152
145
|
}
|
|
153
146
|
function stripAnsi(text) {
|
|
154
|
-
return text.
|
|
147
|
+
return text.replaceAll(/\u001B\[[\d;]*m/g, "");
|
|
155
148
|
}
|
|
156
149
|
function stylish(results) {
|
|
157
150
|
let output = "\n";
|
|
@@ -160,10 +153,10 @@ function stylish(results) {
|
|
|
160
153
|
let fixableErrorCount = 0;
|
|
161
154
|
let fixableWarningCount = 0;
|
|
162
155
|
let summaryColor = yellow2;
|
|
163
|
-
|
|
156
|
+
for (const result of results) {
|
|
164
157
|
const messages = result.messages;
|
|
165
158
|
if (messages.length === 0) {
|
|
166
|
-
|
|
159
|
+
continue;
|
|
167
160
|
}
|
|
168
161
|
errorCount += result.errorCount;
|
|
169
162
|
warningCount += result.warningCount;
|
|
@@ -198,7 +191,7 @@ function stylish(results) {
|
|
|
198
191
|
output += `${formattedTable}
|
|
199
192
|
|
|
200
193
|
`;
|
|
201
|
-
}
|
|
194
|
+
}
|
|
202
195
|
const total = errorCount + warningCount;
|
|
203
196
|
if (total > 0) {
|
|
204
197
|
output += summaryColor(
|
package/dist/cjs/node.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../node_modules/text-table/index.js", "../../src/index.ts", "../../src/stylish.ts", "../../src/colors-node.ts", "../../src/severity.ts"],
|
|
4
|
-
"sourcesContent": ["module.exports = function (rows_, opts) {\n if (!opts) opts = {};\n var hsep = opts.hsep === undefined ? ' ' : opts.hsep;\n var align = opts.align || [];\n var stringLength = opts.stringLength\n || function (s) { return String(s).length; }\n ;\n \n var dotsizes = reduce(rows_, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = dotindex(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n var rows = map(rows_, function (row) {\n return map(row, function (c_, ix) {\n var c = String(c_);\n if (align[ix] === '.') {\n var index = dotindex(c);\n var size = dotsizes[ix] + (/\\./.test(c) ? 1 : 2)\n - (stringLength(c) - index)\n ;\n return c + Array(size).join(' ');\n }\n else return c;\n });\n });\n \n var sizes = reduce(rows, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = stringLength(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n return map(rows, function (row) {\n return map(row, function (c, ix) {\n var n = (sizes[ix] - stringLength(c)) || 0;\n var s = Array(Math.max(n + 1, 1)).join(' ');\n if (align[ix] === 'r' || align[ix] === '.') {\n return s + c;\n }\n if (align[ix] === 'c') {\n return Array(Math.ceil(n / 2 + 1)).join(' ')\n + c + Array(Math.floor(n / 2 + 1)).join(' ')\n ;\n }\n \n return c + s;\n }).join(hsep).replace(/\\s+$/, '');\n }).join('\\n');\n};\n\nfunction dotindex (c) {\n var m = /\\.[^.]*$/.exec(c);\n return m ? m.index + 1 : c.length;\n}\n\nfunction reduce (xs, f, init) {\n if (xs.reduce) return xs.reduce(f, init);\n var i = 0;\n var acc = arguments.length >= 3 ? init : xs[i++];\n for (; i < xs.length; i++) {\n f(acc, xs[i], i);\n }\n return acc;\n}\n\nfunction forEach (xs, f) {\n if (xs.forEach) return xs.forEach(f);\n for (var i = 0; i < xs.length; i++) {\n f.call(xs, xs[i], i);\n }\n}\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f.call(xs, xs[i], i));\n }\n return res;\n}\n", "export { stylish } from \"./stylish\";\nexport { Severity } from \"./severity\";\n", "import table, { type Options } from \"text-table\";\nimport * as colors from \"./colors-node\";\nimport { type Result } from \"./result\";\nimport { Severity } from \"./severity\";\n\n/**\n * Given a word and a count, append an s if count is not one.\n * @param word - A word in its singular form.\n * @param count - A number controlling whether word should be pluralized.\n * @returns - The original word with an s on the end if count is not one.\n */\nfunction pluralize(word: string, count: number): string {\n\treturn count === 1 ? word : `${word}s`;\n}\n\n/**\n * Given a line with \" $\\{line\\} $\\{column\\} \" where line is right-aligned and\n * column is left-aligned it replaces the delimiter with a colon.\n */\nfunction centerLineColumn(el: string): string {\n\treturn el.replace(/(\\d+)\\s+(\\d+)/u, (_m, p1: string, p2: string) => colors.dim(`${p1}:${p2}`));\n}\n\n/**\n * Strip ANSI color escape sequences from text.\n */\nfunction stripAnsi(text: string): string {\n\t/* eslint-disable-next-line no-control-regex -- expected to match control characters */\n\treturn text.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,
|
|
6
|
-
"names": ["module", "reset", "bold", "dim", "underline", "yellow", "red", "Severity", "dim", "yellow", "red", "table", "underline", "bold", "reset"]
|
|
4
|
+
"sourcesContent": ["module.exports = function (rows_, opts) {\n if (!opts) opts = {};\n var hsep = opts.hsep === undefined ? ' ' : opts.hsep;\n var align = opts.align || [];\n var stringLength = opts.stringLength\n || function (s) { return String(s).length; }\n ;\n \n var dotsizes = reduce(rows_, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = dotindex(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n var rows = map(rows_, function (row) {\n return map(row, function (c_, ix) {\n var c = String(c_);\n if (align[ix] === '.') {\n var index = dotindex(c);\n var size = dotsizes[ix] + (/\\./.test(c) ? 1 : 2)\n - (stringLength(c) - index)\n ;\n return c + Array(size).join(' ');\n }\n else return c;\n });\n });\n \n var sizes = reduce(rows, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = stringLength(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n return map(rows, function (row) {\n return map(row, function (c, ix) {\n var n = (sizes[ix] - stringLength(c)) || 0;\n var s = Array(Math.max(n + 1, 1)).join(' ');\n if (align[ix] === 'r' || align[ix] === '.') {\n return s + c;\n }\n if (align[ix] === 'c') {\n return Array(Math.ceil(n / 2 + 1)).join(' ')\n + c + Array(Math.floor(n / 2 + 1)).join(' ')\n ;\n }\n \n return c + s;\n }).join(hsep).replace(/\\s+$/, '');\n }).join('\\n');\n};\n\nfunction dotindex (c) {\n var m = /\\.[^.]*$/.exec(c);\n return m ? m.index + 1 : c.length;\n}\n\nfunction reduce (xs, f, init) {\n if (xs.reduce) return xs.reduce(f, init);\n var i = 0;\n var acc = arguments.length >= 3 ? init : xs[i++];\n for (; i < xs.length; i++) {\n f(acc, xs[i], i);\n }\n return acc;\n}\n\nfunction forEach (xs, f) {\n if (xs.forEach) return xs.forEach(f);\n for (var i = 0; i < xs.length; i++) {\n f.call(xs, xs[i], i);\n }\n}\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f.call(xs, xs[i], i));\n }\n return res;\n}\n", "export { stylish } from \"./stylish\";\nexport { Severity } from \"./severity\";\n", "import table, { type Options } from \"text-table\";\nimport * as colors from \"./colors-node\";\nimport { type Result } from \"./result\";\nimport { Severity } from \"./severity\";\n\n/**\n * Given a word and a count, append an s if count is not one.\n * @param word - A word in its singular form.\n * @param count - A number controlling whether word should be pluralized.\n * @returns - The original word with an s on the end if count is not one.\n */\nfunction pluralize(word: string, count: number): string {\n\treturn count === 1 ? word : `${word}s`;\n}\n\n/**\n * Given a line with \" $\\{line\\} $\\{column\\} \" where line is right-aligned and\n * column is left-aligned it replaces the delimiter with a colon.\n */\nfunction centerLineColumn(el: string): string {\n\t/* eslint-disable-next-line sonarjs/slow-regex -- false positive? unless I'm missing something here */\n\treturn el.replace(/(\\d+)\\s+(\\d+)/u, (_m, p1: string, p2: string) => colors.dim(`${p1}:${p2}`));\n}\n\n/**\n * Strip ANSI color escape sequences from text.\n */\nfunction stripAnsi(text: string): string {\n\t/* eslint-disable-next-line no-control-regex -- expected to match control characters */\n\treturn text.replaceAll(/\\u001B\\[[\\d;]*m/g, \"\");\n}\n\nexport function stylish(results: Result[]): string {\n\tlet output = \"\\n\";\n\tlet errorCount = 0;\n\tlet warningCount = 0;\n\tlet fixableErrorCount = 0;\n\tlet fixableWarningCount = 0;\n\tlet summaryColor: colors.Colorize = colors.yellow;\n\n\tfor (const result of results) {\n\t\tconst messages = result.messages;\n\n\t\tif (messages.length === 0) {\n\t\t\tcontinue;\n\t\t}\n\n\t\terrorCount += result.errorCount;\n\t\twarningCount += result.warningCount;\n\t\tfixableErrorCount += result.fixableErrorCount;\n\t\tfixableWarningCount += result.fixableWarningCount;\n\n\t\t/* eslint-disable-next-line no-loop-func -- technical debt */\n\t\tconst rows = messages.map((message) => {\n\t\t\tlet messageType;\n\n\t\t\tif (Boolean(message.fatal) || message.severity === Severity.ERROR) {\n\t\t\t\tmessageType = colors.red(\"error\");\n\t\t\t\tsummaryColor = colors.red;\n\t\t\t} else {\n\t\t\t\tmessageType = colors.yellow(\"warning\");\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t\"\",\n\t\t\t\tmessage.line ?? 0,\n\t\t\t\tmessage.column ?? 0,\n\t\t\t\tmessageType,\n\t\t\t\tmessage.message.replace(/([^ ])\\.$/u, \"$1\"),\n\t\t\t\tmessage.ruleId ? colors.dim(message.ruleId) : \"\",\n\t\t\t];\n\t\t});\n\n\t\tconst options: Options = {\n\t\t\talign: [\"l\", \"r\", \"l\"],\n\t\t\tstringLength(str: string): number {\n\t\t\t\treturn stripAnsi(str).length;\n\t\t\t},\n\t\t};\n\t\tconst formattedTable = table(rows, options).split(\"\\n\").map(centerLineColumn).join(\"\\n\");\n\n\t\toutput += `${colors.underline(result.filePath)}\\n`;\n\t\toutput += `${formattedTable}\\n\\n`;\n\t}\n\n\tconst total = errorCount + warningCount;\n\n\tif (total > 0) {\n\t\toutput += summaryColor(\n\t\t\tcolors.bold(\n\t\t\t\t[\n\t\t\t\t\t\"\\u2716 \",\n\t\t\t\t\ttotal,\n\t\t\t\t\tpluralize(\" problem\", total),\n\t\t\t\t\t\" (\",\n\t\t\t\t\terrorCount,\n\t\t\t\t\tpluralize(\" error\", errorCount),\n\t\t\t\t\t\", \",\n\t\t\t\t\twarningCount,\n\t\t\t\t\tpluralize(\" warning\", warningCount),\n\t\t\t\t\t\")\\n\",\n\t\t\t\t].join(\"\"),\n\t\t\t),\n\t\t);\n\n\t\tif (fixableErrorCount > 0 || fixableWarningCount > 0) {\n\t\t\toutput += summaryColor(\n\t\t\t\tcolors.bold(\n\t\t\t\t\t[\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\tfixableErrorCount,\n\t\t\t\t\t\tpluralize(\" error\", fixableErrorCount),\n\t\t\t\t\t\t\" and \",\n\t\t\t\t\t\tfixableWarningCount,\n\t\t\t\t\t\tpluralize(\" warning\", fixableWarningCount),\n\t\t\t\t\t\t\" potentially fixable with the `--fix` option.\\n\",\n\t\t\t\t\t].join(\"\"),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Resets output color, for prevent change on top level\n\treturn total > 0 ? colors.reset(output) : \"\";\n}\n", "import * as kleur from \"kleur/colors\";\n\nexport type Colorize = kleur.Colorize;\n\nexport const reset = kleur.reset;\nexport const bold = kleur.bold;\nexport const dim = kleur.dim;\nexport const underline = kleur.underline;\n\nexport const yellow = kleur.yellow;\nexport const red = kleur.red;\n", "export enum Severity {\n\tOFF = 0,\n\tWARN = 1,\n\tERROR = 2,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["exports", "module", "reset", "bold", "dim", "underline", "yellow", "red", "Severity", "dim", "yellow", "red", "table", "underline", "bold", "reset"]
|
|
7
7
|
}
|
package/dist/esm/browser.js
CHANGED
|
@@ -28,8 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var require_text_table = __commonJS({
|
|
29
29
|
"node_modules/text-table/index.js"(exports, module) {
|
|
30
30
|
module.exports = function(rows_, opts) {
|
|
31
|
-
if (!opts)
|
|
32
|
-
opts = {};
|
|
31
|
+
if (!opts) opts = {};
|
|
33
32
|
var hsep = opts.hsep === void 0 ? " " : opts.hsep;
|
|
34
33
|
var align = opts.align || [];
|
|
35
34
|
var stringLength = opts.stringLength || function(s) {
|
|
@@ -38,8 +37,7 @@ var require_text_table = __commonJS({
|
|
|
38
37
|
var dotsizes = reduce(rows_, function(acc, row) {
|
|
39
38
|
forEach(row, function(c, ix) {
|
|
40
39
|
var n = dotindex(c);
|
|
41
|
-
if (!acc[ix] || n > acc[ix])
|
|
42
|
-
acc[ix] = n;
|
|
40
|
+
if (!acc[ix] || n > acc[ix]) acc[ix] = n;
|
|
43
41
|
});
|
|
44
42
|
return acc;
|
|
45
43
|
}, []);
|
|
@@ -50,15 +48,13 @@ var require_text_table = __commonJS({
|
|
|
50
48
|
var index = dotindex(c);
|
|
51
49
|
var size = dotsizes[ix] + (/\./.test(c) ? 1 : 2) - (stringLength(c) - index);
|
|
52
50
|
return c + Array(size).join(" ");
|
|
53
|
-
} else
|
|
54
|
-
return c;
|
|
51
|
+
} else return c;
|
|
55
52
|
});
|
|
56
53
|
});
|
|
57
54
|
var sizes = reduce(rows, function(acc, row) {
|
|
58
55
|
forEach(row, function(c, ix) {
|
|
59
56
|
var n = stringLength(c);
|
|
60
|
-
if (!acc[ix] || n > acc[ix])
|
|
61
|
-
acc[ix] = n;
|
|
57
|
+
if (!acc[ix] || n > acc[ix]) acc[ix] = n;
|
|
62
58
|
});
|
|
63
59
|
return acc;
|
|
64
60
|
}, []);
|
|
@@ -81,8 +77,7 @@ var require_text_table = __commonJS({
|
|
|
81
77
|
return m ? m.index + 1 : c.length;
|
|
82
78
|
}
|
|
83
79
|
function reduce(xs, f, init) {
|
|
84
|
-
if (xs.reduce)
|
|
85
|
-
return xs.reduce(f, init);
|
|
80
|
+
if (xs.reduce) return xs.reduce(f, init);
|
|
86
81
|
var i = 0;
|
|
87
82
|
var acc = arguments.length >= 3 ? init : xs[i++];
|
|
88
83
|
for (; i < xs.length; i++) {
|
|
@@ -91,15 +86,13 @@ var require_text_table = __commonJS({
|
|
|
91
86
|
return acc;
|
|
92
87
|
}
|
|
93
88
|
function forEach(xs, f) {
|
|
94
|
-
if (xs.forEach)
|
|
95
|
-
return xs.forEach(f);
|
|
89
|
+
if (xs.forEach) return xs.forEach(f);
|
|
96
90
|
for (var i = 0; i < xs.length; i++) {
|
|
97
91
|
f.call(xs, xs[i], i);
|
|
98
92
|
}
|
|
99
93
|
}
|
|
100
94
|
function map(xs, f) {
|
|
101
|
-
if (xs.map)
|
|
102
|
-
return xs.map(f);
|
|
95
|
+
if (xs.map) return xs.map(f);
|
|
103
96
|
var res = [];
|
|
104
97
|
for (var i = 0; i < xs.length; i++) {
|
|
105
98
|
res.push(f.call(xs, xs[i], i));
|
|
@@ -139,7 +132,7 @@ function centerLineColumn(el) {
|
|
|
139
132
|
return el.replace(/(\d+)\s+(\d+)/u, (_m, p1, p2) => dim(`${p1}:${p2}`));
|
|
140
133
|
}
|
|
141
134
|
function stripAnsi(text) {
|
|
142
|
-
return text.
|
|
135
|
+
return text.replaceAll(/\u001B\[[\d;]*m/g, "");
|
|
143
136
|
}
|
|
144
137
|
function stylish(results) {
|
|
145
138
|
let output = "\n";
|
|
@@ -148,10 +141,10 @@ function stylish(results) {
|
|
|
148
141
|
let fixableErrorCount = 0;
|
|
149
142
|
let fixableWarningCount = 0;
|
|
150
143
|
let summaryColor = yellow;
|
|
151
|
-
|
|
144
|
+
for (const result of results) {
|
|
152
145
|
const messages = result.messages;
|
|
153
146
|
if (messages.length === 0) {
|
|
154
|
-
|
|
147
|
+
continue;
|
|
155
148
|
}
|
|
156
149
|
errorCount += result.errorCount;
|
|
157
150
|
warningCount += result.warningCount;
|
|
@@ -186,7 +179,7 @@ function stylish(results) {
|
|
|
186
179
|
output += `${formattedTable}
|
|
187
180
|
|
|
188
181
|
`;
|
|
189
|
-
}
|
|
182
|
+
}
|
|
190
183
|
const total = errorCount + warningCount;
|
|
191
184
|
if (total > 0) {
|
|
192
185
|
output += summaryColor(
|
package/dist/esm/browser.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../node_modules/text-table/index.js", "../../src/stylish.ts", "../../src/colors-browser.ts", "../../src/severity.ts"],
|
|
4
|
-
"sourcesContent": ["module.exports = function (rows_, opts) {\n if (!opts) opts = {};\n var hsep = opts.hsep === undefined ? ' ' : opts.hsep;\n var align = opts.align || [];\n var stringLength = opts.stringLength\n || function (s) { return String(s).length; }\n ;\n \n var dotsizes = reduce(rows_, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = dotindex(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n var rows = map(rows_, function (row) {\n return map(row, function (c_, ix) {\n var c = String(c_);\n if (align[ix] === '.') {\n var index = dotindex(c);\n var size = dotsizes[ix] + (/\\./.test(c) ? 1 : 2)\n - (stringLength(c) - index)\n ;\n return c + Array(size).join(' ');\n }\n else return c;\n });\n });\n \n var sizes = reduce(rows, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = stringLength(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n return map(rows, function (row) {\n return map(row, function (c, ix) {\n var n = (sizes[ix] - stringLength(c)) || 0;\n var s = Array(Math.max(n + 1, 1)).join(' ');\n if (align[ix] === 'r' || align[ix] === '.') {\n return s + c;\n }\n if (align[ix] === 'c') {\n return Array(Math.ceil(n / 2 + 1)).join(' ')\n + c + Array(Math.floor(n / 2 + 1)).join(' ')\n ;\n }\n \n return c + s;\n }).join(hsep).replace(/\\s+$/, '');\n }).join('\\n');\n};\n\nfunction dotindex (c) {\n var m = /\\.[^.]*$/.exec(c);\n return m ? m.index + 1 : c.length;\n}\n\nfunction reduce (xs, f, init) {\n if (xs.reduce) return xs.reduce(f, init);\n var i = 0;\n var acc = arguments.length >= 3 ? init : xs[i++];\n for (; i < xs.length; i++) {\n f(acc, xs[i], i);\n }\n return acc;\n}\n\nfunction forEach (xs, f) {\n if (xs.forEach) return xs.forEach(f);\n for (var i = 0; i < xs.length; i++) {\n f.call(xs, xs[i], i);\n }\n}\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f.call(xs, xs[i], i));\n }\n return res;\n}\n", "import table, { type Options } from \"text-table\";\nimport * as colors from \"./colors-node\";\nimport { type Result } from \"./result\";\nimport { Severity } from \"./severity\";\n\n/**\n * Given a word and a count, append an s if count is not one.\n * @param word - A word in its singular form.\n * @param count - A number controlling whether word should be pluralized.\n * @returns - The original word with an s on the end if count is not one.\n */\nfunction pluralize(word: string, count: number): string {\n\treturn count === 1 ? word : `${word}s`;\n}\n\n/**\n * Given a line with \" $\\{line\\} $\\{column\\} \" where line is right-aligned and\n * column is left-aligned it replaces the delimiter with a colon.\n */\nfunction centerLineColumn(el: string): string {\n\treturn el.replace(/(\\d+)\\s+(\\d+)/u, (_m, p1: string, p2: string) => colors.dim(`${p1}:${p2}`));\n}\n\n/**\n * Strip ANSI color escape sequences from text.\n */\nfunction stripAnsi(text: string): string {\n\t/* eslint-disable-next-line no-control-regex -- expected to match control characters */\n\treturn text.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,WAAO,UAAU,SAAU,OAAO,MAAM;AACpC,UAAI,CAAC
|
|
4
|
+
"sourcesContent": ["module.exports = function (rows_, opts) {\n if (!opts) opts = {};\n var hsep = opts.hsep === undefined ? ' ' : opts.hsep;\n var align = opts.align || [];\n var stringLength = opts.stringLength\n || function (s) { return String(s).length; }\n ;\n \n var dotsizes = reduce(rows_, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = dotindex(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n var rows = map(rows_, function (row) {\n return map(row, function (c_, ix) {\n var c = String(c_);\n if (align[ix] === '.') {\n var index = dotindex(c);\n var size = dotsizes[ix] + (/\\./.test(c) ? 1 : 2)\n - (stringLength(c) - index)\n ;\n return c + Array(size).join(' ');\n }\n else return c;\n });\n });\n \n var sizes = reduce(rows, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = stringLength(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n return map(rows, function (row) {\n return map(row, function (c, ix) {\n var n = (sizes[ix] - stringLength(c)) || 0;\n var s = Array(Math.max(n + 1, 1)).join(' ');\n if (align[ix] === 'r' || align[ix] === '.') {\n return s + c;\n }\n if (align[ix] === 'c') {\n return Array(Math.ceil(n / 2 + 1)).join(' ')\n + c + Array(Math.floor(n / 2 + 1)).join(' ')\n ;\n }\n \n return c + s;\n }).join(hsep).replace(/\\s+$/, '');\n }).join('\\n');\n};\n\nfunction dotindex (c) {\n var m = /\\.[^.]*$/.exec(c);\n return m ? m.index + 1 : c.length;\n}\n\nfunction reduce (xs, f, init) {\n if (xs.reduce) return xs.reduce(f, init);\n var i = 0;\n var acc = arguments.length >= 3 ? init : xs[i++];\n for (; i < xs.length; i++) {\n f(acc, xs[i], i);\n }\n return acc;\n}\n\nfunction forEach (xs, f) {\n if (xs.forEach) return xs.forEach(f);\n for (var i = 0; i < xs.length; i++) {\n f.call(xs, xs[i], i);\n }\n}\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f.call(xs, xs[i], i));\n }\n return res;\n}\n", "import table, { type Options } from \"text-table\";\nimport * as colors from \"./colors-node\";\nimport { type Result } from \"./result\";\nimport { Severity } from \"./severity\";\n\n/**\n * Given a word and a count, append an s if count is not one.\n * @param word - A word in its singular form.\n * @param count - A number controlling whether word should be pluralized.\n * @returns - The original word with an s on the end if count is not one.\n */\nfunction pluralize(word: string, count: number): string {\n\treturn count === 1 ? word : `${word}s`;\n}\n\n/**\n * Given a line with \" $\\{line\\} $\\{column\\} \" where line is right-aligned and\n * column is left-aligned it replaces the delimiter with a colon.\n */\nfunction centerLineColumn(el: string): string {\n\t/* eslint-disable-next-line sonarjs/slow-regex -- false positive? unless I'm missing something here */\n\treturn el.replace(/(\\d+)\\s+(\\d+)/u, (_m, p1: string, p2: string) => colors.dim(`${p1}:${p2}`));\n}\n\n/**\n * Strip ANSI color escape sequences from text.\n */\nfunction stripAnsi(text: string): string {\n\t/* eslint-disable-next-line no-control-regex -- expected to match control characters */\n\treturn text.replaceAll(/\\u001B\\[[\\d;]*m/g, \"\");\n}\n\nexport function stylish(results: Result[]): string {\n\tlet output = \"\\n\";\n\tlet errorCount = 0;\n\tlet warningCount = 0;\n\tlet fixableErrorCount = 0;\n\tlet fixableWarningCount = 0;\n\tlet summaryColor: colors.Colorize = colors.yellow;\n\n\tfor (const result of results) {\n\t\tconst messages = result.messages;\n\n\t\tif (messages.length === 0) {\n\t\t\tcontinue;\n\t\t}\n\n\t\terrorCount += result.errorCount;\n\t\twarningCount += result.warningCount;\n\t\tfixableErrorCount += result.fixableErrorCount;\n\t\tfixableWarningCount += result.fixableWarningCount;\n\n\t\t/* eslint-disable-next-line no-loop-func -- technical debt */\n\t\tconst rows = messages.map((message) => {\n\t\t\tlet messageType;\n\n\t\t\tif (Boolean(message.fatal) || message.severity === Severity.ERROR) {\n\t\t\t\tmessageType = colors.red(\"error\");\n\t\t\t\tsummaryColor = colors.red;\n\t\t\t} else {\n\t\t\t\tmessageType = colors.yellow(\"warning\");\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t\"\",\n\t\t\t\tmessage.line ?? 0,\n\t\t\t\tmessage.column ?? 0,\n\t\t\t\tmessageType,\n\t\t\t\tmessage.message.replace(/([^ ])\\.$/u, \"$1\"),\n\t\t\t\tmessage.ruleId ? colors.dim(message.ruleId) : \"\",\n\t\t\t];\n\t\t});\n\n\t\tconst options: Options = {\n\t\t\talign: [\"l\", \"r\", \"l\"],\n\t\t\tstringLength(str: string): number {\n\t\t\t\treturn stripAnsi(str).length;\n\t\t\t},\n\t\t};\n\t\tconst formattedTable = table(rows, options).split(\"\\n\").map(centerLineColumn).join(\"\\n\");\n\n\t\toutput += `${colors.underline(result.filePath)}\\n`;\n\t\toutput += `${formattedTable}\\n\\n`;\n\t}\n\n\tconst total = errorCount + warningCount;\n\n\tif (total > 0) {\n\t\toutput += summaryColor(\n\t\t\tcolors.bold(\n\t\t\t\t[\n\t\t\t\t\t\"\\u2716 \",\n\t\t\t\t\ttotal,\n\t\t\t\t\tpluralize(\" problem\", total),\n\t\t\t\t\t\" (\",\n\t\t\t\t\terrorCount,\n\t\t\t\t\tpluralize(\" error\", errorCount),\n\t\t\t\t\t\", \",\n\t\t\t\t\twarningCount,\n\t\t\t\t\tpluralize(\" warning\", warningCount),\n\t\t\t\t\t\")\\n\",\n\t\t\t\t].join(\"\"),\n\t\t\t),\n\t\t);\n\n\t\tif (fixableErrorCount > 0 || fixableWarningCount > 0) {\n\t\t\toutput += summaryColor(\n\t\t\t\tcolors.bold(\n\t\t\t\t\t[\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\tfixableErrorCount,\n\t\t\t\t\t\tpluralize(\" error\", fixableErrorCount),\n\t\t\t\t\t\t\" and \",\n\t\t\t\t\t\tfixableWarningCount,\n\t\t\t\t\t\tpluralize(\" warning\", fixableWarningCount),\n\t\t\t\t\t\t\" potentially fixable with the `--fix` option.\\n\",\n\t\t\t\t\t].join(\"\"),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Resets output color, for prevent change on top level\n\treturn total > 0 ? colors.reset(output) : \"\";\n}\n", "function passtru(value: string): string {\n\treturn value;\n}\n\nexport const reset = passtru;\nexport const bold = passtru;\nexport const dim = passtru;\nexport const underline = passtru;\n\nexport const yellow = passtru;\nexport const red = passtru;\n", "export enum Severity {\n\tOFF = 0,\n\tWARN = 1,\n\tERROR = 2,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Severity", "table"]
|
|
7
7
|
}
|
package/dist/esm/node.js
CHANGED
|
@@ -28,8 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var require_text_table = __commonJS({
|
|
29
29
|
"node_modules/text-table/index.js"(exports, module) {
|
|
30
30
|
module.exports = function(rows_, opts) {
|
|
31
|
-
if (!opts)
|
|
32
|
-
opts = {};
|
|
31
|
+
if (!opts) opts = {};
|
|
33
32
|
var hsep = opts.hsep === void 0 ? " " : opts.hsep;
|
|
34
33
|
var align = opts.align || [];
|
|
35
34
|
var stringLength = opts.stringLength || function(s) {
|
|
@@ -38,8 +37,7 @@ var require_text_table = __commonJS({
|
|
|
38
37
|
var dotsizes = reduce(rows_, function(acc, row) {
|
|
39
38
|
forEach(row, function(c, ix) {
|
|
40
39
|
var n = dotindex(c);
|
|
41
|
-
if (!acc[ix] || n > acc[ix])
|
|
42
|
-
acc[ix] = n;
|
|
40
|
+
if (!acc[ix] || n > acc[ix]) acc[ix] = n;
|
|
43
41
|
});
|
|
44
42
|
return acc;
|
|
45
43
|
}, []);
|
|
@@ -50,15 +48,13 @@ var require_text_table = __commonJS({
|
|
|
50
48
|
var index = dotindex(c);
|
|
51
49
|
var size = dotsizes[ix] + (/\./.test(c) ? 1 : 2) - (stringLength(c) - index);
|
|
52
50
|
return c + Array(size).join(" ");
|
|
53
|
-
} else
|
|
54
|
-
return c;
|
|
51
|
+
} else return c;
|
|
55
52
|
});
|
|
56
53
|
});
|
|
57
54
|
var sizes = reduce(rows, function(acc, row) {
|
|
58
55
|
forEach(row, function(c, ix) {
|
|
59
56
|
var n = stringLength(c);
|
|
60
|
-
if (!acc[ix] || n > acc[ix])
|
|
61
|
-
acc[ix] = n;
|
|
57
|
+
if (!acc[ix] || n > acc[ix]) acc[ix] = n;
|
|
62
58
|
});
|
|
63
59
|
return acc;
|
|
64
60
|
}, []);
|
|
@@ -81,8 +77,7 @@ var require_text_table = __commonJS({
|
|
|
81
77
|
return m ? m.index + 1 : c.length;
|
|
82
78
|
}
|
|
83
79
|
function reduce(xs, f, init) {
|
|
84
|
-
if (xs.reduce)
|
|
85
|
-
return xs.reduce(f, init);
|
|
80
|
+
if (xs.reduce) return xs.reduce(f, init);
|
|
86
81
|
var i = 0;
|
|
87
82
|
var acc = arguments.length >= 3 ? init : xs[i++];
|
|
88
83
|
for (; i < xs.length; i++) {
|
|
@@ -91,15 +86,13 @@ var require_text_table = __commonJS({
|
|
|
91
86
|
return acc;
|
|
92
87
|
}
|
|
93
88
|
function forEach(xs, f) {
|
|
94
|
-
if (xs.forEach)
|
|
95
|
-
return xs.forEach(f);
|
|
89
|
+
if (xs.forEach) return xs.forEach(f);
|
|
96
90
|
for (var i = 0; i < xs.length; i++) {
|
|
97
91
|
f.call(xs, xs[i], i);
|
|
98
92
|
}
|
|
99
93
|
}
|
|
100
94
|
function map(xs, f) {
|
|
101
|
-
if (xs.map)
|
|
102
|
-
return xs.map(f);
|
|
95
|
+
if (xs.map) return xs.map(f);
|
|
103
96
|
var res = [];
|
|
104
97
|
for (var i = 0; i < xs.length; i++) {
|
|
105
98
|
res.push(f.call(xs, xs[i], i));
|
|
@@ -137,7 +130,7 @@ function centerLineColumn(el) {
|
|
|
137
130
|
return el.replace(/(\d+)\s+(\d+)/u, (_m, p1, p2) => dim2(`${p1}:${p2}`));
|
|
138
131
|
}
|
|
139
132
|
function stripAnsi(text) {
|
|
140
|
-
return text.
|
|
133
|
+
return text.replaceAll(/\u001B\[[\d;]*m/g, "");
|
|
141
134
|
}
|
|
142
135
|
function stylish(results) {
|
|
143
136
|
let output = "\n";
|
|
@@ -146,10 +139,10 @@ function stylish(results) {
|
|
|
146
139
|
let fixableErrorCount = 0;
|
|
147
140
|
let fixableWarningCount = 0;
|
|
148
141
|
let summaryColor = yellow2;
|
|
149
|
-
|
|
142
|
+
for (const result of results) {
|
|
150
143
|
const messages = result.messages;
|
|
151
144
|
if (messages.length === 0) {
|
|
152
|
-
|
|
145
|
+
continue;
|
|
153
146
|
}
|
|
154
147
|
errorCount += result.errorCount;
|
|
155
148
|
warningCount += result.warningCount;
|
|
@@ -184,7 +177,7 @@ function stylish(results) {
|
|
|
184
177
|
output += `${formattedTable}
|
|
185
178
|
|
|
186
179
|
`;
|
|
187
|
-
}
|
|
180
|
+
}
|
|
188
181
|
const total = errorCount + warningCount;
|
|
189
182
|
if (total > 0) {
|
|
190
183
|
output += summaryColor(
|
package/dist/esm/node.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../node_modules/text-table/index.js", "../../src/stylish.ts", "../../src/colors-node.ts", "../../src/severity.ts"],
|
|
4
|
-
"sourcesContent": ["module.exports = function (rows_, opts) {\n if (!opts) opts = {};\n var hsep = opts.hsep === undefined ? ' ' : opts.hsep;\n var align = opts.align || [];\n var stringLength = opts.stringLength\n || function (s) { return String(s).length; }\n ;\n \n var dotsizes = reduce(rows_, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = dotindex(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n var rows = map(rows_, function (row) {\n return map(row, function (c_, ix) {\n var c = String(c_);\n if (align[ix] === '.') {\n var index = dotindex(c);\n var size = dotsizes[ix] + (/\\./.test(c) ? 1 : 2)\n - (stringLength(c) - index)\n ;\n return c + Array(size).join(' ');\n }\n else return c;\n });\n });\n \n var sizes = reduce(rows, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = stringLength(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n return map(rows, function (row) {\n return map(row, function (c, ix) {\n var n = (sizes[ix] - stringLength(c)) || 0;\n var s = Array(Math.max(n + 1, 1)).join(' ');\n if (align[ix] === 'r' || align[ix] === '.') {\n return s + c;\n }\n if (align[ix] === 'c') {\n return Array(Math.ceil(n / 2 + 1)).join(' ')\n + c + Array(Math.floor(n / 2 + 1)).join(' ')\n ;\n }\n \n return c + s;\n }).join(hsep).replace(/\\s+$/, '');\n }).join('\\n');\n};\n\nfunction dotindex (c) {\n var m = /\\.[^.]*$/.exec(c);\n return m ? m.index + 1 : c.length;\n}\n\nfunction reduce (xs, f, init) {\n if (xs.reduce) return xs.reduce(f, init);\n var i = 0;\n var acc = arguments.length >= 3 ? init : xs[i++];\n for (; i < xs.length; i++) {\n f(acc, xs[i], i);\n }\n return acc;\n}\n\nfunction forEach (xs, f) {\n if (xs.forEach) return xs.forEach(f);\n for (var i = 0; i < xs.length; i++) {\n f.call(xs, xs[i], i);\n }\n}\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f.call(xs, xs[i], i));\n }\n return res;\n}\n", "import table, { type Options } from \"text-table\";\nimport * as colors from \"./colors-node\";\nimport { type Result } from \"./result\";\nimport { Severity } from \"./severity\";\n\n/**\n * Given a word and a count, append an s if count is not one.\n * @param word - A word in its singular form.\n * @param count - A number controlling whether word should be pluralized.\n * @returns - The original word with an s on the end if count is not one.\n */\nfunction pluralize(word: string, count: number): string {\n\treturn count === 1 ? word : `${word}s`;\n}\n\n/**\n * Given a line with \" $\\{line\\} $\\{column\\} \" where line is right-aligned and\n * column is left-aligned it replaces the delimiter with a colon.\n */\nfunction centerLineColumn(el: string): string {\n\treturn el.replace(/(\\d+)\\s+(\\d+)/u, (_m, p1: string, p2: string) => colors.dim(`${p1}:${p2}`));\n}\n\n/**\n * Strip ANSI color escape sequences from text.\n */\nfunction stripAnsi(text: string): string {\n\t/* eslint-disable-next-line no-control-regex -- expected to match control characters */\n\treturn text.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,WAAO,UAAU,SAAU,OAAO,MAAM;AACpC,UAAI,CAAC
|
|
4
|
+
"sourcesContent": ["module.exports = function (rows_, opts) {\n if (!opts) opts = {};\n var hsep = opts.hsep === undefined ? ' ' : opts.hsep;\n var align = opts.align || [];\n var stringLength = opts.stringLength\n || function (s) { return String(s).length; }\n ;\n \n var dotsizes = reduce(rows_, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = dotindex(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n var rows = map(rows_, function (row) {\n return map(row, function (c_, ix) {\n var c = String(c_);\n if (align[ix] === '.') {\n var index = dotindex(c);\n var size = dotsizes[ix] + (/\\./.test(c) ? 1 : 2)\n - (stringLength(c) - index)\n ;\n return c + Array(size).join(' ');\n }\n else return c;\n });\n });\n \n var sizes = reduce(rows, function (acc, row) {\n forEach(row, function (c, ix) {\n var n = stringLength(c);\n if (!acc[ix] || n > acc[ix]) acc[ix] = n;\n });\n return acc;\n }, []);\n \n return map(rows, function (row) {\n return map(row, function (c, ix) {\n var n = (sizes[ix] - stringLength(c)) || 0;\n var s = Array(Math.max(n + 1, 1)).join(' ');\n if (align[ix] === 'r' || align[ix] === '.') {\n return s + c;\n }\n if (align[ix] === 'c') {\n return Array(Math.ceil(n / 2 + 1)).join(' ')\n + c + Array(Math.floor(n / 2 + 1)).join(' ')\n ;\n }\n \n return c + s;\n }).join(hsep).replace(/\\s+$/, '');\n }).join('\\n');\n};\n\nfunction dotindex (c) {\n var m = /\\.[^.]*$/.exec(c);\n return m ? m.index + 1 : c.length;\n}\n\nfunction reduce (xs, f, init) {\n if (xs.reduce) return xs.reduce(f, init);\n var i = 0;\n var acc = arguments.length >= 3 ? init : xs[i++];\n for (; i < xs.length; i++) {\n f(acc, xs[i], i);\n }\n return acc;\n}\n\nfunction forEach (xs, f) {\n if (xs.forEach) return xs.forEach(f);\n for (var i = 0; i < xs.length; i++) {\n f.call(xs, xs[i], i);\n }\n}\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f.call(xs, xs[i], i));\n }\n return res;\n}\n", "import table, { type Options } from \"text-table\";\nimport * as colors from \"./colors-node\";\nimport { type Result } from \"./result\";\nimport { Severity } from \"./severity\";\n\n/**\n * Given a word and a count, append an s if count is not one.\n * @param word - A word in its singular form.\n * @param count - A number controlling whether word should be pluralized.\n * @returns - The original word with an s on the end if count is not one.\n */\nfunction pluralize(word: string, count: number): string {\n\treturn count === 1 ? word : `${word}s`;\n}\n\n/**\n * Given a line with \" $\\{line\\} $\\{column\\} \" where line is right-aligned and\n * column is left-aligned it replaces the delimiter with a colon.\n */\nfunction centerLineColumn(el: string): string {\n\t/* eslint-disable-next-line sonarjs/slow-regex -- false positive? unless I'm missing something here */\n\treturn el.replace(/(\\d+)\\s+(\\d+)/u, (_m, p1: string, p2: string) => colors.dim(`${p1}:${p2}`));\n}\n\n/**\n * Strip ANSI color escape sequences from text.\n */\nfunction stripAnsi(text: string): string {\n\t/* eslint-disable-next-line no-control-regex -- expected to match control characters */\n\treturn text.replaceAll(/\\u001B\\[[\\d;]*m/g, \"\");\n}\n\nexport function stylish(results: Result[]): string {\n\tlet output = \"\\n\";\n\tlet errorCount = 0;\n\tlet warningCount = 0;\n\tlet fixableErrorCount = 0;\n\tlet fixableWarningCount = 0;\n\tlet summaryColor: colors.Colorize = colors.yellow;\n\n\tfor (const result of results) {\n\t\tconst messages = result.messages;\n\n\t\tif (messages.length === 0) {\n\t\t\tcontinue;\n\t\t}\n\n\t\terrorCount += result.errorCount;\n\t\twarningCount += result.warningCount;\n\t\tfixableErrorCount += result.fixableErrorCount;\n\t\tfixableWarningCount += result.fixableWarningCount;\n\n\t\t/* eslint-disable-next-line no-loop-func -- technical debt */\n\t\tconst rows = messages.map((message) => {\n\t\t\tlet messageType;\n\n\t\t\tif (Boolean(message.fatal) || message.severity === Severity.ERROR) {\n\t\t\t\tmessageType = colors.red(\"error\");\n\t\t\t\tsummaryColor = colors.red;\n\t\t\t} else {\n\t\t\t\tmessageType = colors.yellow(\"warning\");\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t\"\",\n\t\t\t\tmessage.line ?? 0,\n\t\t\t\tmessage.column ?? 0,\n\t\t\t\tmessageType,\n\t\t\t\tmessage.message.replace(/([^ ])\\.$/u, \"$1\"),\n\t\t\t\tmessage.ruleId ? colors.dim(message.ruleId) : \"\",\n\t\t\t];\n\t\t});\n\n\t\tconst options: Options = {\n\t\t\talign: [\"l\", \"r\", \"l\"],\n\t\t\tstringLength(str: string): number {\n\t\t\t\treturn stripAnsi(str).length;\n\t\t\t},\n\t\t};\n\t\tconst formattedTable = table(rows, options).split(\"\\n\").map(centerLineColumn).join(\"\\n\");\n\n\t\toutput += `${colors.underline(result.filePath)}\\n`;\n\t\toutput += `${formattedTable}\\n\\n`;\n\t}\n\n\tconst total = errorCount + warningCount;\n\n\tif (total > 0) {\n\t\toutput += summaryColor(\n\t\t\tcolors.bold(\n\t\t\t\t[\n\t\t\t\t\t\"\\u2716 \",\n\t\t\t\t\ttotal,\n\t\t\t\t\tpluralize(\" problem\", total),\n\t\t\t\t\t\" (\",\n\t\t\t\t\terrorCount,\n\t\t\t\t\tpluralize(\" error\", errorCount),\n\t\t\t\t\t\", \",\n\t\t\t\t\twarningCount,\n\t\t\t\t\tpluralize(\" warning\", warningCount),\n\t\t\t\t\t\")\\n\",\n\t\t\t\t].join(\"\"),\n\t\t\t),\n\t\t);\n\n\t\tif (fixableErrorCount > 0 || fixableWarningCount > 0) {\n\t\t\toutput += summaryColor(\n\t\t\t\tcolors.bold(\n\t\t\t\t\t[\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\tfixableErrorCount,\n\t\t\t\t\t\tpluralize(\" error\", fixableErrorCount),\n\t\t\t\t\t\t\" and \",\n\t\t\t\t\t\tfixableWarningCount,\n\t\t\t\t\t\tpluralize(\" warning\", fixableWarningCount),\n\t\t\t\t\t\t\" potentially fixable with the `--fix` option.\\n\",\n\t\t\t\t\t].join(\"\"),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Resets output color, for prevent change on top level\n\treturn total > 0 ? colors.reset(output) : \"\";\n}\n", "import * as kleur from \"kleur/colors\";\n\nexport type Colorize = kleur.Colorize;\n\nexport const reset = kleur.reset;\nexport const bold = kleur.bold;\nexport const dim = kleur.dim;\nexport const underline = kleur.underline;\n\nexport const yellow = kleur.yellow;\nexport const red = kleur.red;\n", "export enum Severity {\n\tOFF = 0,\n\tWARN = 1,\n\tERROR = 2,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["reset", "bold", "dim", "underline", "yellow", "red", "Severity", "dim", "yellow", "red", "table", "underline", "bold", "reset"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@html-validate/stylish",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "ESLint compatible stylish formatter",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"stylish",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
15
|
-
"url": "https://gitlab.com/html-validate/stylish.git"
|
|
15
|
+
"url": "git+https://gitlab.com/html-validate/stylish.git"
|
|
16
16
|
},
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"author": "David Sveningsson <ext@sidvind.com>",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"kleur": "^4.0.0"
|
|
41
41
|
},
|
|
42
42
|
"engines": {
|
|
43
|
-
"node": ">= 16"
|
|
43
|
+
"node": "^20.11 || >= 22.16"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|