@code-pushup/eslint-plugin 0.82.0 → 0.83.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/eslint-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.83.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Code PushUp plugin for detecting problems in source code using ESLint.📋",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/plugin-eslint#readme",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"type": "module",
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"glob": "^11.0.0",
|
|
42
|
-
"@code-pushup/utils": "0.
|
|
43
|
-
"@code-pushup/models": "0.
|
|
42
|
+
"@code-pushup/utils": "0.83.0",
|
|
43
|
+
"@code-pushup/models": "0.83.0",
|
|
44
44
|
"zod": "^4.0.5"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
package/src/lib/config.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { pluginArtifactOptionsSchema, pluginScoreTargetsSchema, } from '@code-pushup/models';
|
|
3
3
|
import { toArray } from '@code-pushup/utils';
|
|
4
|
-
const patternsSchema = z
|
|
5
|
-
.
|
|
6
|
-
|
|
7
|
-
const eslintrcSchema = z
|
|
4
|
+
const patternsSchema = z.union([z.string(), z.array(z.string()).min(1)]).meta({
|
|
5
|
+
description: 'Lint target files. May contain file paths, directory paths or glob patterns',
|
|
6
|
+
});
|
|
7
|
+
const eslintrcSchema = z
|
|
8
|
+
.string()
|
|
9
|
+
.meta({ description: 'Path to ESLint config file' });
|
|
8
10
|
const eslintTargetObjectSchema = z.object({
|
|
9
11
|
eslintrc: eslintrcSchema.optional(),
|
|
10
12
|
patterns: patternsSchema,
|
|
@@ -13,10 +15,12 @@ export const eslintTargetSchema = z
|
|
|
13
15
|
.union([patternsSchema, eslintTargetObjectSchema])
|
|
14
16
|
.transform((target) => typeof target === 'string' || Array.isArray(target)
|
|
15
17
|
? { patterns: target }
|
|
16
|
-
: target)
|
|
18
|
+
: target)
|
|
19
|
+
.meta({ title: 'ESLintTarget' });
|
|
17
20
|
export const eslintPluginConfigSchema = z
|
|
18
21
|
.union([eslintTargetSchema, z.array(eslintTargetSchema).min(1)])
|
|
19
|
-
.transform(toArray)
|
|
22
|
+
.transform(toArray)
|
|
23
|
+
.meta({ title: 'ESLintPluginConfig' });
|
|
20
24
|
const customGroupRulesSchema = z
|
|
21
25
|
.union([
|
|
22
26
|
z
|
|
@@ -28,17 +32,24 @@ const customGroupRulesSchema = z
|
|
|
28
32
|
error: 'Custom group rules must contain at least 1 element',
|
|
29
33
|
}),
|
|
30
34
|
])
|
|
31
|
-
.
|
|
35
|
+
.meta({
|
|
36
|
+
description: 'Array of rule IDs with equal weights or object mapping rule IDs to specific weights',
|
|
37
|
+
});
|
|
32
38
|
const customGroupSchema = z.object({
|
|
33
|
-
slug: z.string().
|
|
34
|
-
title: z.string().
|
|
35
|
-
description: z.string().
|
|
36
|
-
docsUrl: z
|
|
39
|
+
slug: z.string().meta({ description: 'Unique group identifier' }),
|
|
40
|
+
title: z.string().meta({ description: 'Group display title' }),
|
|
41
|
+
description: z.string().meta({ description: 'Group metadata' }).optional(),
|
|
42
|
+
docsUrl: z
|
|
43
|
+
.string()
|
|
44
|
+
.meta({ description: 'Group documentation site' })
|
|
45
|
+
.optional(),
|
|
37
46
|
rules: customGroupRulesSchema,
|
|
38
47
|
});
|
|
39
|
-
export const eslintPluginOptionsSchema = z
|
|
48
|
+
export const eslintPluginOptionsSchema = z
|
|
49
|
+
.object({
|
|
40
50
|
groups: z.array(customGroupSchema).optional(),
|
|
41
51
|
artifacts: pluginArtifactOptionsSchema.optional(),
|
|
42
52
|
scoreTargets: pluginScoreTargetsSchema,
|
|
43
|
-
})
|
|
53
|
+
})
|
|
54
|
+
.meta({ title: 'ESLintPluginOptions' });
|
|
44
55
|
//# sourceMappingURL=config.js.map
|
package/src/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,cAAc,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,WAAW,EACT,6EAA6E;CAChF,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,IAAI,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;AAEvD,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,KAAK,CAAC,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;KACjD,SAAS,CACR,CAAC,MAAM,EAAsB,EAAE,CAC7B,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;IACtB,CAAC,CAAC,MAAM,CACb;KACA,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;AAInC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D,SAAS,CAAC,OAAO,CAAC;KAClB,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;AASzC,MAAM,sBAAsB,GAAG,CAAC;KAC7B,KAAK,CAAC;IACL,CAAC;SACE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,EAAE,oDAAoD,CAAC;IAC/D,CAAC;SACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAChD,KAAK,EAAE,oDAAoD;KAC5D,CAAC;CACL,CAAC;KACD,IAAI,CAAC;IACJ,WAAW,EACT,qFAAqF;CACxF,CAAC,CAAC;AAEL,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1E,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;SACjD,QAAQ,EAAE;IACb,KAAK,EAAE,sBAAsB;CAC9B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,2BAA2B,CAAC,QAAQ,EAAE;IACjD,YAAY,EAAE,wBAAwB;CACvC,CAAC;KACD,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC"}
|
package/src/lib/eslint-plugin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
import {
|
|
2
|
+
import { validate } from '@code-pushup/models';
|
|
3
3
|
import { eslintPluginConfigSchema, eslintPluginOptionsSchema, } from './config.js';
|
|
4
4
|
import { ESLINT_PLUGIN_SLUG } from './constants.js';
|
|
5
5
|
import { listAuditsAndGroups } from './meta/index.js';
|
|
@@ -26,14 +26,8 @@ import { createRunnerFunction } from './runner/index.js';
|
|
|
26
26
|
* @returns Plugin configuration as a promise.
|
|
27
27
|
*/
|
|
28
28
|
export async function eslintPlugin(config, options) {
|
|
29
|
-
const targets =
|
|
30
|
-
|
|
31
|
-
});
|
|
32
|
-
const { groups: customGroups, artifacts, scoreTargets, } = options
|
|
33
|
-
? parseSchema(eslintPluginOptionsSchema, options, {
|
|
34
|
-
schemaType: 'ESLint plugin options',
|
|
35
|
-
})
|
|
36
|
-
: {};
|
|
29
|
+
const targets = validate(eslintPluginConfigSchema, config);
|
|
30
|
+
const { groups: customGroups, artifacts, scoreTargets, } = options ? validate(eslintPluginOptionsSchema, options) : {};
|
|
37
31
|
const { audits, groups } = await listAuditsAndGroups(targets, customGroups);
|
|
38
32
|
const packageJson = createRequire(import.meta.url)('../../package.json');
|
|
39
33
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-plugin.js","sourceRoot":"","sources":["../../../src/lib/eslint-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"eslint-plugin.js","sourceRoot":"","sources":["../../../src/lib/eslint-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAqB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAGL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,OAA6B;IAE7B,MAAM,OAAO,GAAG,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IAE3D,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,SAAS,EACT,YAAY,GACb,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAChD,oBAAoB,CACkB,CAAC;IAEzC,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,0DAA0D;QACnE,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;QAE5B,MAAM;QACN,MAAM;QAEN,MAAM,EAAE,MAAM,oBAAoB,CAAC;YACjC,MAAM;YACN,OAAO;YACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC;QACF,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC"}
|