@code-pushup/eslint-plugin 0.56.0 → 0.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/package.json +9 -7
- package/src/bin.js +6 -0
- package/src/bin.js.map +1 -0
- package/src/index.d.ts +3 -3
- package/src/index.js +4 -0
- package/src/index.js.map +1 -0
- package/src/lib/config.d.ts +59 -0
- package/src/lib/config.js +40 -0
- package/src/lib/config.js.map +1 -0
- package/src/lib/eslint-plugin.d.ts +3 -2
- package/src/lib/eslint-plugin.js +54 -0
- package/src/lib/eslint-plugin.js.map +1 -0
- package/src/lib/meta/groups.d.ts +8 -1
- package/src/lib/meta/groups.js +112 -0
- package/src/lib/meta/groups.js.map +1 -0
- package/src/lib/meta/hash.d.ts +2 -0
- package/src/lib/meta/hash.js +19 -0
- package/src/lib/meta/hash.js.map +1 -0
- package/src/lib/meta/index.d.ts +4 -3
- package/src/lib/meta/index.js +19 -0
- package/src/lib/meta/index.js.map +1 -0
- package/src/lib/meta/parse.d.ts +2 -1
- package/src/lib/meta/parse.js +36 -0
- package/src/lib/meta/parse.js.map +1 -0
- package/src/lib/meta/rules.d.ts +3 -2
- package/src/lib/meta/rules.js +26 -0
- package/src/lib/meta/rules.js.map +1 -0
- package/src/lib/meta/transform.d.ts +2 -2
- package/src/lib/meta/transform.js +21 -0
- package/src/lib/meta/transform.js.map +1 -0
- package/src/lib/meta/versions/detect.d.ts +1 -1
- package/src/lib/meta/versions/detect.js +22 -0
- package/src/lib/meta/versions/detect.js.map +1 -0
- package/src/lib/meta/versions/flat.d.ts +2 -2
- package/src/lib/meta/versions/flat.js +81 -0
- package/src/lib/meta/versions/flat.js.map +1 -0
- package/src/lib/meta/versions/formats.js +2 -0
- package/src/lib/meta/versions/formats.js.map +1 -0
- package/src/lib/meta/versions/index.d.ts +5 -5
- package/src/lib/meta/versions/index.js +12 -0
- package/src/lib/meta/versions/index.js.map +1 -0
- package/src/lib/meta/versions/legacy.d.ts +2 -2
- package/src/lib/meta/versions/legacy.js +36 -0
- package/src/lib/meta/versions/legacy.js.map +1 -0
- package/src/lib/nx/filter-project-graph.js +12 -0
- package/src/lib/nx/filter-project-graph.js.map +1 -0
- package/src/lib/nx/find-all-projects.d.ts +1 -1
- package/src/lib/nx/find-all-projects.js +40 -0
- package/src/lib/nx/find-all-projects.js.map +1 -0
- package/src/lib/nx/find-project-with-deps.d.ts +1 -1
- package/src/lib/nx/find-project-with-deps.js +35 -0
- package/src/lib/nx/find-project-with-deps.js.map +1 -0
- package/src/lib/nx/find-project-without-deps.d.ts +1 -1
- package/src/lib/nx/find-project-without-deps.js +36 -0
- package/src/lib/nx/find-project-without-deps.js.map +1 -0
- package/src/lib/nx/index.d.ts +3 -3
- package/src/lib/nx/index.js +4 -0
- package/src/lib/nx/index.js.map +1 -0
- package/src/lib/nx/projects-to-config.d.ts +1 -1
- package/src/lib/nx/projects-to-config.js +18 -0
- package/src/lib/nx/projects-to-config.js.map +1 -0
- package/src/lib/nx/traverse-graph.js +21 -0
- package/src/lib/nx/traverse-graph.js.map +1 -0
- package/src/lib/nx/utils.d.ts +1 -1
- package/src/lib/nx/utils.js +75 -0
- package/src/lib/nx/utils.js.map +1 -0
- package/src/lib/runner/index.d.ts +3 -6
- package/src/lib/runner/index.js +38 -0
- package/src/lib/runner/index.js.map +1 -0
- package/src/lib/runner/lint.d.ts +2 -2
- package/src/lib/runner/lint.js +49 -0
- package/src/lib/runner/lint.js.map +1 -0
- package/src/lib/runner/transform.d.ts +1 -1
- package/src/lib/runner/transform.js +74 -0
- package/src/lib/runner/transform.js.map +1 -0
- package/src/lib/runner/types.js +2 -0
- package/src/lib/runner/types.js.map +1 -0
- package/src/lib/setup.d.ts +1 -1
- package/src/lib/setup.js +17 -0
- package/src/lib/setup.js.map +1 -0
- package/bin.js +0 -1129
- package/index.js +0 -1413
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { platform } from 'node:os';
|
|
2
|
+
import { distinct, executeProcess, filePathToCliArg, toArray, } from '@code-pushup/utils';
|
|
3
|
+
import { setupESLint } from '../setup.js';
|
|
4
|
+
export async function lint({ eslintrc, patterns, }) {
|
|
5
|
+
const results = await executeLint({ eslintrc, patterns });
|
|
6
|
+
const eslint = await setupESLint(eslintrc);
|
|
7
|
+
const ruleOptionsPerFile = await loadRuleOptionsPerFile(eslint, results);
|
|
8
|
+
return { results, ruleOptionsPerFile };
|
|
9
|
+
}
|
|
10
|
+
async function executeLint({ eslintrc, patterns, }) {
|
|
11
|
+
// running as CLI because ESLint#lintFiles() runs out of memory
|
|
12
|
+
const { stdout } = await executeProcess({
|
|
13
|
+
command: 'npx',
|
|
14
|
+
args: [
|
|
15
|
+
'eslint',
|
|
16
|
+
...(eslintrc ? [`--config=${filePathToCliArg(eslintrc)}`] : []),
|
|
17
|
+
...(typeof eslintrc === 'object' ? ['--no-eslintrc'] : []),
|
|
18
|
+
'--no-error-on-unmatched-pattern',
|
|
19
|
+
'--format=json',
|
|
20
|
+
...toArray(patterns).map(pattern =>
|
|
21
|
+
// globs need to be escaped on Unix
|
|
22
|
+
platform() === 'win32' ? pattern : `'${pattern}'`),
|
|
23
|
+
],
|
|
24
|
+
ignoreExitCode: true,
|
|
25
|
+
cwd: process.cwd(),
|
|
26
|
+
});
|
|
27
|
+
return JSON.parse(stdout);
|
|
28
|
+
}
|
|
29
|
+
function loadRuleOptionsPerFile(eslint, results) {
|
|
30
|
+
return results.reduce(async (acc, { filePath, messages }) => {
|
|
31
|
+
const filesMap = await acc;
|
|
32
|
+
const config = (await eslint.calculateConfigForFile(filePath));
|
|
33
|
+
const ruleIds = distinct(messages
|
|
34
|
+
.map(({ ruleId }) => ruleId)
|
|
35
|
+
.filter((ruleId) => ruleId != null));
|
|
36
|
+
const rulesMap = Object.fromEntries(ruleIds.map(ruleId => [
|
|
37
|
+
ruleId,
|
|
38
|
+
toArray(config.rules?.[ruleId] ?? []).slice(1),
|
|
39
|
+
]));
|
|
40
|
+
return {
|
|
41
|
+
...filesMap,
|
|
42
|
+
[filePath]: {
|
|
43
|
+
...filesMap[filePath],
|
|
44
|
+
...rulesMap,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}, Promise.resolve({}));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../../../../packages/plugin-eslint/src/lib/runner/lint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,OAAO,GACR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EACzB,QAAQ,EACR,QAAQ,GACK;IACb,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,EACzB,QAAQ,EACR,QAAQ,GACK;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC;QACtC,OAAO,EAAE,KAAK;QACd,IAAI,EAAE;YACJ,QAAQ;YACR,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,iCAAiC;YACjC,eAAe;YACf,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACjC,mCAAmC;YACnC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAClD;SACF;QACD,cAAc,EAAE,IAAI;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KACnB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAwB,CAAC;AACnD,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAc,EACd,OAA4B;IAE5B,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,CACjD,QAAQ,CACT,CAAkB,CAAC;QACpB,MAAM,OAAO,GAAG,QAAQ,CACtB,QAAQ;aACL,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;aAC3B,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CACxD,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,MAAM;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/C,CAAC,CACH,CAAC;QACF,OAAO;YACL,GAAG,QAAQ;YACX,CAAC,QAAQ,CAAC,EAAE;gBACV,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACrB,GAAG,QAAQ;aACZ;SACF,CAAC;IACJ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAqB,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { AuditOutput } from '@code-pushup/models';
|
|
2
|
-
import type { LinterOutput } from './types';
|
|
2
|
+
import type { LinterOutput } from './types.js';
|
|
3
3
|
export declare function mergeLinterOutputs(outputs: LinterOutput[]): LinterOutput;
|
|
4
4
|
export declare function lintResultsToAudits({ results, ruleOptionsPerFile, }: LinterOutput): AuditOutput[];
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { compareIssueSeverity, countOccurrences, objectToEntries, pluralizeToken, truncateIssueMessage, ui, } from '@code-pushup/utils';
|
|
2
|
+
import { ruleIdToSlug } from '../meta/index.js';
|
|
3
|
+
export function mergeLinterOutputs(outputs) {
|
|
4
|
+
return outputs.reduce((acc, { results, ruleOptionsPerFile }) => ({
|
|
5
|
+
results: [...acc.results, ...results],
|
|
6
|
+
ruleOptionsPerFile: { ...acc.ruleOptionsPerFile, ...ruleOptionsPerFile },
|
|
7
|
+
}), { results: [], ruleOptionsPerFile: {} });
|
|
8
|
+
}
|
|
9
|
+
export function lintResultsToAudits({ results, ruleOptionsPerFile, }) {
|
|
10
|
+
const issuesPerAudit = results
|
|
11
|
+
.flatMap(({ messages, filePath }) => messages.map((message) => ({ ...message, filePath })))
|
|
12
|
+
.reduce((acc, issue) => {
|
|
13
|
+
const { ruleId, message, filePath } = issue;
|
|
14
|
+
if (!ruleId) {
|
|
15
|
+
ui().logger.warning(`ESLint core error - ${message} (file: ${filePath})`);
|
|
16
|
+
return acc;
|
|
17
|
+
}
|
|
18
|
+
const options = ruleOptionsPerFile[filePath]?.[ruleId] ?? [];
|
|
19
|
+
const auditSlug = ruleIdToSlug(ruleId, options);
|
|
20
|
+
return { ...acc, [auditSlug]: [...(acc[auditSlug] ?? []), issue] };
|
|
21
|
+
}, {});
|
|
22
|
+
return Object.entries(issuesPerAudit).map(entry => toAudit(...entry));
|
|
23
|
+
}
|
|
24
|
+
function toAudit(slug, issues) {
|
|
25
|
+
const auditIssues = issues.map(convertIssue);
|
|
26
|
+
const severityCounts = countOccurrences(auditIssues.map(({ severity }) => severity));
|
|
27
|
+
const severities = objectToEntries(severityCounts);
|
|
28
|
+
const summaryText = severities
|
|
29
|
+
.toSorted((a, b) => -compareIssueSeverity(a[0], b[0]))
|
|
30
|
+
.map(([severity, count = 0]) => pluralizeToken(severity, count))
|
|
31
|
+
.join(', ');
|
|
32
|
+
return {
|
|
33
|
+
slug,
|
|
34
|
+
score: Number(auditIssues.length === 0),
|
|
35
|
+
value: auditIssues.length,
|
|
36
|
+
displayValue: summaryText,
|
|
37
|
+
details: {
|
|
38
|
+
issues: auditIssues,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function convertIssue(issue) {
|
|
43
|
+
return {
|
|
44
|
+
message: truncateIssueMessage(issue.message),
|
|
45
|
+
severity: convertSeverity(issue.severity),
|
|
46
|
+
source: {
|
|
47
|
+
file: issue.filePath,
|
|
48
|
+
...(issue.line > 0 && {
|
|
49
|
+
position: {
|
|
50
|
+
startLine: issue.line,
|
|
51
|
+
...(issue.column > 0 && { startColumn: issue.column }),
|
|
52
|
+
...(issue.endLine &&
|
|
53
|
+
issue.endLine > 0 && {
|
|
54
|
+
endLine: issue.endLine,
|
|
55
|
+
}),
|
|
56
|
+
...(issue.endColumn &&
|
|
57
|
+
issue.endColumn > 0 && { endColumn: issue.endColumn }),
|
|
58
|
+
},
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function convertSeverity(severity) {
|
|
64
|
+
switch (severity) {
|
|
65
|
+
case 2:
|
|
66
|
+
return 'error';
|
|
67
|
+
case 1:
|
|
68
|
+
return 'warning';
|
|
69
|
+
case 0:
|
|
70
|
+
// shouldn't happen
|
|
71
|
+
throw new Error(`Unexpected severity ${severity} in ESLint results`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../../packages/plugin-eslint/src/lib/runner/transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugin-eslint/src/lib/runner/types.ts"],"names":[],"mappings":""}
|
package/src/lib/setup.d.ts
CHANGED
package/src/lib/setup.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ESLint } from 'eslint';
|
|
2
|
+
export async function setupESLint(eslintrc) {
|
|
3
|
+
const eslintConstructor = await loadESLint();
|
|
4
|
+
return new eslintConstructor({
|
|
5
|
+
overrideConfigFile: eslintrc,
|
|
6
|
+
errorOnUnmatchedPattern: false,
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
async function loadESLint() {
|
|
10
|
+
const eslint = await import('eslint');
|
|
11
|
+
// loadESLint added to public API in v9, selects ESLint or LegacyESLint based on environment
|
|
12
|
+
if ('loadESLint' in eslint && typeof eslint.loadESLint === 'function') {
|
|
13
|
+
return (await eslint.loadESLint());
|
|
14
|
+
}
|
|
15
|
+
return ESLint;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../packages/plugin-eslint/src/lib/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAkC;IAClE,MAAM,iBAAiB,GAAG,MAAM,UAAU,EAAE,CAAC;IAC7C,OAAO,IAAI,iBAAiB,CAAC;QAC3B,kBAAkB,EAAE,QAAQ;QAC5B,uBAAuB,EAAE,KAAK;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,4FAA4F;IAC5F,IAAI,YAAY,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACtE,OAAO,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAkB,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|