@code-pushup/eslint-plugin 0.35.0 → 0.42.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,10 +1,10 @@
1
1
  {
2
2
  "name": "@code-pushup/eslint-plugin",
3
- "version": "0.35.0",
3
+ "version": "0.42.0",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
- "@code-pushup/utils": "0.35.0",
7
- "@code-pushup/models": "0.35.0",
6
+ "@code-pushup/utils": "0.42.0",
7
+ "@code-pushup/models": "0.42.0",
8
8
  "eslint": "^8.46.0",
9
9
  "zod": "^3.22.4"
10
10
  },
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
25
- "url": "https://github.com/code-pushup/cli.git",
25
+ "url": "git+https://github.com/code-pushup/cli.git",
26
26
  "directory": "packages/plugin-eslint"
27
27
  },
28
28
  "contributors": [
@@ -1,6 +1,6 @@
1
1
  import type { ESLint } from 'eslint';
2
2
  import { type ZodType, z } from 'zod';
3
- export declare const eslintPluginConfigSchema: z.ZodObject<{
3
+ export declare const eslintTargetSchema: z.ZodObject<{
4
4
  eslintrc: z.ZodUnion<[z.ZodString, ZodType<ESLint.ConfigData<import("eslint").Linter.RulesRecord>, z.ZodTypeDef, ESLint.ConfigData<import("eslint").Linter.RulesRecord>>]>;
5
5
  patterns: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
6
6
  }, "strip", z.ZodTypeAny, {
@@ -10,9 +10,37 @@ export declare const eslintPluginConfigSchema: z.ZodObject<{
10
10
  eslintrc: (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord>) & (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord> | undefined);
11
11
  patterns: (string | string[]) & (string | string[] | undefined);
12
12
  }>;
13
- export type ESLintPluginConfig = z.infer<typeof eslintPluginConfigSchema>;
13
+ export type ESLintTarget = z.infer<typeof eslintTargetSchema>;
14
+ export declare const eslintPluginConfigSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
15
+ eslintrc: z.ZodUnion<[z.ZodString, ZodType<ESLint.ConfigData<import("eslint").Linter.RulesRecord>, z.ZodTypeDef, ESLint.ConfigData<import("eslint").Linter.RulesRecord>>]>;
16
+ patterns: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ eslintrc: (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord>) & (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord> | undefined);
19
+ patterns: (string | string[]) & (string | string[] | undefined);
20
+ }, {
21
+ eslintrc: (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord>) & (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord> | undefined);
22
+ patterns: (string | string[]) & (string | string[] | undefined);
23
+ }>, z.ZodArray<z.ZodObject<{
24
+ eslintrc: z.ZodUnion<[z.ZodString, ZodType<ESLint.ConfigData<import("eslint").Linter.RulesRecord>, z.ZodTypeDef, ESLint.ConfigData<import("eslint").Linter.RulesRecord>>]>;
25
+ patterns: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ eslintrc: (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord>) & (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord> | undefined);
28
+ patterns: (string | string[]) & (string | string[] | undefined);
29
+ }, {
30
+ eslintrc: (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord>) & (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord> | undefined);
31
+ patterns: (string | string[]) & (string | string[] | undefined);
32
+ }>, "many">]>, {
33
+ eslintrc: (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord>) & (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord> | undefined);
34
+ patterns: (string | string[]) & (string | string[] | undefined);
35
+ }[], {
36
+ eslintrc: (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord>) & (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord> | undefined);
37
+ patterns: (string | string[]) & (string | string[] | undefined);
38
+ } | {
39
+ eslintrc: (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord>) & (string | ESLint.ConfigData<import("eslint").Linter.RulesRecord> | undefined);
40
+ patterns: (string | string[]) & (string | string[] | undefined);
41
+ }[]>;
42
+ export type ESLintPluginConfig = z.input<typeof eslintPluginConfigSchema>;
14
43
  export type ESLintPluginRunnerConfig = {
15
- eslintrc: string;
44
+ targets: ESLintTarget[];
16
45
  slugs: string[];
17
- patterns: string[];
18
46
  };
@@ -1,6 +1,6 @@
1
- import type { ESLint } from 'eslint';
2
1
  import type { Audit, Group } from '@code-pushup/models';
3
- export declare function listAuditsAndGroups(eslint: ESLint, patterns: string | string[]): Promise<{
2
+ import type { ESLintTarget } from '../config';
3
+ export declare function listAuditsAndGroups(targets: ESLintTarget[]): Promise<{
4
4
  audits: Audit[];
5
5
  groups: Group[];
6
6
  }>;
@@ -1,10 +1,11 @@
1
- import type { ESLint, Rule } from 'eslint';
1
+ import type { Rule } from 'eslint';
2
+ import type { ESLintTarget } from '../config';
2
3
  export type RuleData = {
3
4
  ruleId: string;
4
5
  meta: Rule.RuleMetaData;
5
6
  options: unknown[] | undefined;
6
7
  };
7
- export declare function listRules(eslint: ESLint, patterns: string | string[]): Promise<RuleData[]>;
8
+ export declare function listRules(targets: ESLintTarget[]): Promise<RuleData[]>;
8
9
  export declare function parseRuleId(ruleId: string): {
9
10
  plugin?: string;
10
11
  name: string;
@@ -1,4 +1,4 @@
1
- import type { ESLintPluginConfig } from '../config';
1
+ import type { ESLintTarget } from '../config';
2
2
  /**
3
3
  * Finds all Nx projects in workspace and converts their lint configurations to Code PushUp ESLint plugin parameters.
4
4
  *
@@ -20,4 +20,4 @@ import type { ESLintPluginConfig } from '../config';
20
20
  *
21
21
  * @returns ESLint config and patterns, intended to be passed to {@link eslintPlugin}
22
22
  */
23
- export declare function eslintConfigFromNxProjects(): Promise<ESLintPluginConfig>;
23
+ export declare function eslintConfigFromNxProjects(): Promise<ESLintTarget[]>;
@@ -1,4 +1,4 @@
1
- import type { ESLintPluginConfig } from '../config';
1
+ import type { ESLintTarget } from '../config';
2
2
  /**
3
3
  * Accepts a target Nx projects, finds projects it depends on, and converts lint configurations to Code PushUp ESLint plugin parameters.
4
4
  *
@@ -23,4 +23,4 @@ import type { ESLintPluginConfig } from '../config';
23
23
  * @param projectName Nx project serving as main entry point
24
24
  * @returns ESLint config and patterns, intended to be passed to {@link eslintPlugin}
25
25
  */
26
- export declare function eslintConfigFromNxProject(projectName: string): Promise<ESLintPluginConfig>;
26
+ export declare function eslintConfigFromNxProject(projectName: string): Promise<ESLintTarget[]>;
@@ -1,3 +1,3 @@
1
1
  import type { ProjectConfiguration, ProjectGraph } from '@nx/devkit';
2
- import type { ESLintPluginConfig } from '../config';
3
- export declare function nxProjectsToConfig(projectGraph: ProjectGraph, predicate?: (project: ProjectConfiguration) => boolean): Promise<ESLintPluginConfig>;
2
+ import type { ESLintTarget } from '../config';
3
+ export declare function nxProjectsToConfig(projectGraph: ProjectGraph, predicate?: (project: ProjectConfiguration) => boolean): Promise<ESLintTarget[]>;
@@ -1,7 +1,7 @@
1
1
  import type { Audit, RunnerConfig } from '@code-pushup/models';
2
+ import { type ESLintTarget } from '../config';
2
3
  export declare const WORKDIR: string;
3
4
  export declare const RUNNER_OUTPUT_PATH: string;
4
- export declare const ESLINTRC_PATH: string;
5
5
  export declare const PLUGIN_CONFIG_PATH: string;
6
6
  export declare function executeRunner(): Promise<void>;
7
- export declare function createRunnerConfig(scriptPath: string, audits: Audit[], eslintrc: string, patterns: string | string[]): Promise<RunnerConfig>;
7
+ export declare function createRunnerConfig(scriptPath: string, audits: Audit[], targets: ESLintTarget[]): Promise<RunnerConfig>;
@@ -1,3 +1,3 @@
1
- import { ESLintPluginConfig } from '../config';
1
+ import type { ESLintTarget } from '../config';
2
2
  import type { LinterOutput } from './types';
3
- export declare function lint({ eslintrc, patterns, }: ESLintPluginConfig): Promise<LinterOutput>;
3
+ export declare function lint({ eslintrc, patterns, }: ESLintTarget): Promise<LinterOutput>;
@@ -1,3 +1,4 @@
1
1
  import type { AuditOutput } from '@code-pushup/models';
2
2
  import type { LinterOutput } from './types';
3
+ export declare function mergeLinterOutputs(outputs: LinterOutput[]): LinterOutput;
3
4
  export declare function lintResultsToAudits({ results, ruleOptionsPerFile, }: LinterOutput): AuditOutput[];
@@ -1,3 +1,3 @@
1
1
  import { ESLint } from 'eslint';
2
- import { ESLintPluginConfig } from './config';
3
- export declare function setupESLint(eslintrc: ESLintPluginConfig['eslintrc']): ESLint;
2
+ import type { ESLintTarget } from './config';
3
+ export declare function setupESLint(eslintrc: ESLintTarget['eslintrc']): ESLint;