@danielsitek/eslint-stats 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -75,6 +75,18 @@ Exports ESLint statistics in Prometheus text exposition format for monitoring an
75
75
  - `eslint_files_clean_total` - Files without violations
76
76
  - `eslint_rules_violated_total` - Unique rules violated
77
77
 
78
+ #### Monorepo support
79
+
80
+ For monorepo setups where ESLint runs from a subdirectory, use `createPrometheusFormatter` with `folderPrefix` to prepend the package name to folder paths:
81
+
82
+ ```js
83
+ import { createPrometheusFormatter } from "@danielsitek/eslint-stats/by-prometheus";
84
+
85
+ export default createPrometheusFormatter({ folderPrefix: "my-package" });
86
+ ```
87
+
88
+ This produces metrics with prefixed folder labels, e.g. `folder="my-package/src/utils"` instead of `folder="src/utils"`.
89
+
78
90
  ## Demo
79
91
 
80
92
  The package includes demo scripts for testing formatters:
@@ -1,4 +1,8 @@
1
1
  import type { LintResult } from "../types/types.js";
2
+ export interface ByPrometheusOptions {
3
+ folderPrefix?: string;
4
+ }
5
+ export declare const createPrometheusFormatter: (options?: ByPrometheusOptions) => ((results: LintResult[]) => string);
2
6
  export declare const byPrometheus: (results: LintResult[]) => string;
3
7
  export default byPrometheus;
4
8
  //# sourceMappingURL=by-prometheus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"by-prometheus.d.ts","sourceRoot":"","sources":["../../src/formatters/by-prometheus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAkKjE,eAAO,MAAM,YAAY,GAAI,SAAS,UAAU,EAAE,KAAG,MAkFpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"by-prometheus.d.ts","sourceRoot":"","sources":["../../src/formatters/by-prometheus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAGjE,MAAM,WAAW,mBAAmB;IASlC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAyQD,eAAO,MAAM,yBAAyB,GACpC,UAAU,mBAAmB,KAC5B,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,MAAM,CAMpC,CAAC;AAMF,eAAO,MAAM,YAAY,GAAI,SAAS,UAAU,EAAE,KAAG,MAEpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -17,11 +17,12 @@ const metricLine = (name, labels, value) => {
17
17
  const metricHeader = (name, help, type) => {
18
18
  return `# HELP ${name} ${help}\n# TYPE ${name} ${type}`;
19
19
  };
20
- const processFolderStats = (folderStats) => {
20
+ const processFolderStats = (folderStats, folderPrefix) => {
21
21
  const lines = [];
22
22
  const severityTotals = { error: 0, warning: 0 };
23
23
  const uniqueRules = new Set();
24
- for (const [folder, ruleStats] of Object.entries(folderStats)) {
24
+ for (const [rawFolder, ruleStats] of Object.entries(folderStats)) {
25
+ const folder = folderPrefix ? `${folderPrefix}/${rawFolder}` : rawFolder;
25
26
  for (const [rule, severityStats] of Object.entries(ruleStats)) {
26
27
  uniqueRules.add(rule);
27
28
  if (severityStats.error) {
@@ -66,9 +67,9 @@ const generateFileMetrics = (results) => {
66
67
  metricLine("eslint_files_clean_total", {}, cleanFiles),
67
68
  ];
68
69
  };
69
- export const byPrometheus = (results) => {
70
+ const formatPrometheus = (results, folderPrefix) => {
70
71
  const folderStats = byFolderAndRule(results);
71
- const { lines: ruleViolationsLines, severityTotals, uniqueRulesCount, } = processFolderStats(folderStats);
72
+ const { lines: ruleViolationsLines, severityTotals, uniqueRulesCount, } = processFolderStats(folderStats, folderPrefix);
72
73
  const sections = [];
73
74
  if (ruleViolationsLines.length > 0) {
74
75
  const ruleViolationsHeader = metricHeader("eslint_rule_violations_total", "Total number of ESLint rule violations", "counter");
@@ -98,5 +99,14 @@ export const byPrometheus = (results) => {
98
99
  ].join("\n"));
99
100
  return sections.join("\n\n") + "\n";
100
101
  };
102
+ export const createPrometheusFormatter = (options) => {
103
+ const folderPrefix = options?.folderPrefix;
104
+ return (results) => {
105
+ return formatPrometheus(results, folderPrefix);
106
+ };
107
+ };
108
+ export const byPrometheus = (results) => {
109
+ return formatPrometheus(results);
110
+ };
101
111
  export default byPrometheus;
102
112
  //# sourceMappingURL=by-prometheus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"by-prometheus.js","sourceRoot":"","sources":["../../src/formatters/by-prometheus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"by-prometheus.js","sourceRoot":"","sources":["../../src/formatters/by-prometheus.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/utils/stats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAEV,SAAS,EACT,WAAW,EACX,aAAa,EACd,MAAM,mBAAmB,CAAC;AA0C3B,eAAO,MAAM,MAAM,GACjB,SAAS,UAAU,EAAE,EACrB,WAAW,aAAa,KACvB,SAQF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,SAAS,UAAU,EAAE,EACrB,WAAW,aAAa,KACvB,WAkBF,CAAC"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/utils/stats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAEV,SAAS,EACT,WAAW,EACX,aAAa,EACd,MAAM,mBAAmB,CAAC;AA8C3B,eAAO,MAAM,MAAM,GACjB,SAAS,UAAU,EAAE,EACrB,WAAW,aAAa,KACvB,SAQF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,SAAS,UAAU,EAAE,EACrB,WAAW,aAAa,KACvB,WAkBF,CAAC"}
@@ -22,8 +22,11 @@ const loopOverMessages = (objectStats, result, severity) => {
22
22
  }
23
23
  };
24
24
  const getDirName = (result) => {
25
- const dirname = path.dirname(result.filePath);
26
- return dirname === "." ? "Base Folder" : dirname;
25
+ const dirname = path.relative(process.cwd(), path.dirname(result.filePath));
26
+ if (dirname === "" || dirname === ".") {
27
+ return ".";
28
+ }
29
+ return dirname;
27
30
  };
28
31
  export const byRule = (results, severity) => {
29
32
  const stats = {};
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/utils/stats.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAQ7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,eAAe,GAAG,CAAC,OAAoB,EAAW,EAAE;IACxD,OAAO,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,WAAsB,EACtB,MAAkB,EAClB,QAAwB,EAClB,EAAE;IACR,MAAM,YAAY,GAAG,QAAQ,KAAK,SAAS,CAAC;IAE5C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClD,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAO,CAAC;QAC/B,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAGpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAU,EAAE;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9C,OAAO,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,OAAqB,EACrB,QAAwB,EACb,EAAE;IACb,MAAM,KAAK,GAAc,EAAE,CAAC;IAE5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAqB,EACrB,QAAwB,EACX,EAAE;IACf,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/utils/stats.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAQ7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,eAAe,GAAG,CAAC,OAAoB,EAAW,EAAE;IACxD,OAAO,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,WAAsB,EACtB,MAAkB,EAClB,QAAwB,EAClB,EAAE;IACR,MAAM,YAAY,GAAG,QAAQ,KAAK,SAAS,CAAC;IAE5C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClD,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAO,CAAC;QAC/B,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAGpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAU,EAAE;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5E,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,OAAqB,EACrB,QAAwB,EACb,EAAE;IACb,MAAM,KAAK,GAAc,EAAE,CAAC;IAE5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAqB,EACrB,QAAwB,EACX,EAAE;IACf,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsitek/eslint-stats",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Modern TypeScript formatters for ESLint with aggregated error/warning statistics and visual graphs - Zero dependencies",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",