@html-validate/stylish 4.1.0 → 4.3.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());
@@ -173,7 +166,7 @@ function stylish(results) {
173
166
  fixableWarningCount += result.fixableWarningCount;
174
167
  const rows = messages.map((message) => {
175
168
  let messageType;
176
- if (message.fatal || message.severity === 2 /* ERROR */) {
169
+ if (Boolean(message.fatal) || message.severity === 2 /* ERROR */) {
177
170
  messageType = red("error");
178
171
  summaryColor = red;
179
172
  } else {
@@ -181,8 +174,8 @@ function stylish(results) {
181
174
  }
182
175
  return [
183
176
  "",
184
- message.line || 0,
185
- message.column || 0,
177
+ message.line ?? 0,
178
+ message.column ?? 0,
186
179
  messageType,
187
180
  message.message.replace(/([^ ])\.$/u, "$1"),
188
181
  message.ruleId ? dim(message.ruleId) : ""
@@ -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 (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.replace(/\\u001B\\[[0-9;]*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\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": ["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());
@@ -171,7 +164,7 @@ function stylish(results) {
171
164
  fixableWarningCount += result.fixableWarningCount;
172
165
  const rows = messages.map((message) => {
173
166
  let messageType;
174
- if (message.fatal || message.severity === 2 /* ERROR */) {
167
+ if (Boolean(message.fatal) || message.severity === 2 /* ERROR */) {
175
168
  messageType = red2("error");
176
169
  summaryColor = red2;
177
170
  } else {
@@ -179,8 +172,8 @@ function stylish(results) {
179
172
  }
180
173
  return [
181
174
  "",
182
- message.line || 0,
183
- message.column || 0,
175
+ message.line ?? 0,
176
+ message.column ?? 0,
184
177
  messageType,
185
178
  message.message.replace(/([^ ])\.$/u, "$1"),
186
179
  message.ruleId ? dim2(message.ruleId) : ""
@@ -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 (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.replace(/\\u001B\\[[0-9;]*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\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": ["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));
@@ -159,7 +152,7 @@ function stylish(results) {
159
152
  fixableWarningCount += result.fixableWarningCount;
160
153
  const rows = messages.map((message) => {
161
154
  let messageType;
162
- if (message.fatal || message.severity === 2 /* ERROR */) {
155
+ if (Boolean(message.fatal) || message.severity === 2 /* ERROR */) {
163
156
  messageType = red("error");
164
157
  summaryColor = red;
165
158
  } else {
@@ -167,8 +160,8 @@ function stylish(results) {
167
160
  }
168
161
  return [
169
162
  "",
170
- message.line || 0,
171
- message.column || 0,
163
+ message.line ?? 0,
164
+ message.column ?? 0,
172
165
  messageType,
173
166
  message.message.replace(/([^ ])\.$/u, "$1"),
174
167
  message.ruleId ? dim(message.ruleId) : ""
@@ -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 (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.replace(/\\u001B\\[[0-9;]*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\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
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));
@@ -157,7 +150,7 @@ function stylish(results) {
157
150
  fixableWarningCount += result.fixableWarningCount;
158
151
  const rows = messages.map((message) => {
159
152
  let messageType;
160
- if (message.fatal || message.severity === 2 /* ERROR */) {
153
+ if (Boolean(message.fatal) || message.severity === 2 /* ERROR */) {
161
154
  messageType = red2("error");
162
155
  summaryColor = red2;
163
156
  } else {
@@ -165,8 +158,8 @@ function stylish(results) {
165
158
  }
166
159
  return [
167
160
  "",
168
- message.line || 0,
169
- message.column || 0,
161
+ message.line ?? 0,
162
+ message.column ?? 0,
170
163
  messageType,
171
164
  message.message.replace(/([^ ])\.$/u, "$1"),
172
165
  message.ruleId ? dim2(message.ruleId) : ""
@@ -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 (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.replace(/\\u001B\\[[0-9;]*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\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
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.1.0",
3
+ "version": "4.3.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": ">= 14.0"
43
+ "node": ">= 18"
44
44
  },
45
45
  "publishConfig": {
46
46
  "access": "public"