@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.
@@ -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"(exports, module2) {
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 src_exports = {};
120
- __export(src_exports, {
112
+ var index_exports = {};
113
+ __export(index_exports, {
121
114
  Severity: () => Severity,
122
115
  stylish: () => stylish
123
116
  });
124
- module.exports = __toCommonJS(src_exports);
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.replace(/\u001B\[[0-9;]*m/g, "");
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
- results.forEach((result) => {
158
+ for (const result of results) {
166
159
  const messages = result.messages;
167
160
  if (messages.length === 0) {
168
- return;
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(
@@ -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.replace(/\\u001B\\[[0-9;]*m/g, \"\");\n}\n\n/* eslint-disable-next-line sonarjs/cognitive-complexity -- technical debt */\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\tresults.forEach((result) => {\n\t\tconst messages = result.messages;\n\n\t\tif (messages.length === 0) {\n\t\t\treturn;\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\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": ["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"(exports, module2) {
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 src_exports = {};
120
- __export(src_exports, {
112
+ var index_exports = {};
113
+ __export(index_exports, {
121
114
  Severity: () => Severity,
122
115
  stylish: () => stylish
123
116
  });
124
- module.exports = __toCommonJS(src_exports);
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.replace(/\u001B\[[0-9;]*m/g, "");
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
- results.forEach((result) => {
156
+ for (const result of results) {
164
157
  const messages = result.messages;
165
158
  if (messages.length === 0) {
166
- return;
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(
@@ -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.replace(/\\u001B\\[[0-9;]*m/g, \"\");\n}\n\n/* eslint-disable-next-line sonarjs/cognitive-complexity -- technical debt */\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\tresults.forEach((result) => {\n\t\tconst messages = result.messages;\n\n\t\tif (messages.length === 0) {\n\t\t\treturn;\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\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": ["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
  }
@@ -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.replace(/\u001B\[[0-9;]*m/g, "");
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
- results.forEach((result) => {
144
+ for (const result of results) {
152
145
  const messages = result.messages;
153
146
  if (messages.length === 0) {
154
- return;
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(
@@ -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.replace(/\\u001B\\[[0-9;]*m/g, \"\");\n}\n\n/* eslint-disable-next-line sonarjs/cognitive-complexity -- technical debt */\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\tresults.forEach((result) => {\n\t\tconst messages = result.messages;\n\n\t\tif (messages.length === 0) {\n\t\t\treturn;\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\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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",
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.replace(/\u001B\[[0-9;]*m/g, "");
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
- results.forEach((result) => {
142
+ for (const result of results) {
150
143
  const messages = result.messages;
151
144
  if (messages.length === 0) {
152
- return;
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(
@@ -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.replace(/\\u001B\\[[0-9;]*m/g, \"\");\n}\n\n/* eslint-disable-next-line sonarjs/cognitive-complexity -- technical debt */\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\tresults.forEach((result) => {\n\t\tconst messages = result.messages;\n\n\t\tif (messages.length === 0) {\n\t\t\treturn;\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\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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",
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": "4.2.0",
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"