@code-pushup/models 0.81.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.
Files changed (50) hide show
  1. package/README.md +2 -2
  2. package/package.json +4 -3
  3. package/src/index.d.ts +1 -0
  4. package/src/index.js +1 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/audit-output.js +22 -8
  7. package/src/lib/audit-output.js.map +1 -1
  8. package/src/lib/audit.js +7 -3
  9. package/src/lib/audit.js.map +1 -1
  10. package/src/lib/cache-config.js +14 -7
  11. package/src/lib/cache-config.js.map +1 -1
  12. package/src/lib/category-config.js +13 -7
  13. package/src/lib/category-config.js.map +1 -1
  14. package/src/lib/commit.js +10 -5
  15. package/src/lib/commit.js.map +1 -1
  16. package/src/lib/configuration.js +14 -7
  17. package/src/lib/configuration.js.map +1 -1
  18. package/src/lib/core-config.d.ts +3 -3
  19. package/src/lib/core-config.js +1 -1
  20. package/src/lib/core-config.js.map +1 -1
  21. package/src/lib/group.js +9 -4
  22. package/src/lib/group.js.map +1 -1
  23. package/src/lib/implementation/schemas.d.ts +1 -1
  24. package/src/lib/implementation/schemas.js +77 -47
  25. package/src/lib/implementation/schemas.js.map +1 -1
  26. package/src/lib/implementation/validate.d.ts +30 -0
  27. package/src/lib/implementation/validate.js +34 -0
  28. package/src/lib/implementation/validate.js.map +1 -0
  29. package/src/lib/issue.js +9 -5
  30. package/src/lib/issue.js.map +1 -1
  31. package/src/lib/persist-config.js +9 -5
  32. package/src/lib/persist-config.js.map +1 -1
  33. package/src/lib/plugin-config.d.ts +2 -2
  34. package/src/lib/plugin-config.js +20 -8
  35. package/src/lib/plugin-config.js.map +1 -1
  36. package/src/lib/report.d.ts +2 -2
  37. package/src/lib/report.js +14 -5
  38. package/src/lib/report.js.map +1 -1
  39. package/src/lib/reports-diff.js +34 -22
  40. package/src/lib/reports-diff.js.map +1 -1
  41. package/src/lib/runner-config.js +32 -12
  42. package/src/lib/runner-config.js.map +1 -1
  43. package/src/lib/source.js +7 -2
  44. package/src/lib/source.js.map +1 -1
  45. package/src/lib/table.js +26 -13
  46. package/src/lib/table.js.map +1 -1
  47. package/src/lib/tree.js +51 -30
  48. package/src/lib/tree.js.map +1 -1
  49. package/src/lib/upload-config.js +15 -9
  50. package/src/lib/upload-config.js.map +1 -1
@@ -4,7 +4,8 @@ import { MAX_DESCRIPTION_LENGTH, MAX_SLUG_LENGTH, MAX_TITLE_LENGTH, } from './li
4
4
  import { filenameRegex, slugRegex } from './utils.js';
5
5
  export const tableCellValueSchema = z
6
6
  .union([z.string(), z.number(), z.boolean(), z.null()])
7
- .default(null);
7
+ .default(null)
8
+ .meta({ title: 'TableCellValue' });
8
9
  /**
9
10
  * Schema for execution meta date
10
11
  */
@@ -26,15 +27,21 @@ export const slugSchema = z
26
27
  .max(MAX_SLUG_LENGTH, {
27
28
  message: `The slug can be max ${MAX_SLUG_LENGTH} characters long`,
28
29
  })
29
- .describe('Unique ID (human-readable, URL-safe)');
30
+ .meta({
31
+ title: 'Slug',
32
+ description: 'Unique ID (human-readable, URL-safe)',
33
+ });
30
34
  /** Schema for a general description property */
31
35
  export const descriptionSchema = z
32
36
  .string()
33
37
  .max(MAX_DESCRIPTION_LENGTH)
34
- .describe('Description (markdown)')
38
+ .meta({
39
+ title: 'Description',
40
+ description: 'Description (markdown)',
41
+ })
35
42
  .optional();
36
43
  /* Schema for a URL */
37
- export const urlSchema = z.string().url();
44
+ export const urlSchema = z.string().url().meta({ title: 'URL' });
38
45
  /** Schema for a docsUrl */
39
46
  export const docsUrlSchema = urlSchema
40
47
  .optional()
@@ -51,20 +58,22 @@ export const docsUrlSchema = urlSchema
51
58
  }
52
59
  throw new ZodError(ctx.error.issues);
53
60
  })
54
- .describe('Documentation site');
61
+ .meta({ title: 'DocsUrl', description: 'Documentation site' });
55
62
  /** Schema for a title of a plugin, category and audit */
56
- export const titleSchema = z
57
- .string()
58
- .max(MAX_TITLE_LENGTH)
59
- .describe('Descriptive name');
63
+ export const titleSchema = z.string().max(MAX_TITLE_LENGTH).meta({
64
+ title: 'Title',
65
+ description: 'Descriptive name',
66
+ });
60
67
  /** Schema for score of audit, category or group */
61
- export const scoreSchema = z
62
- .number()
63
- .min(0)
64
- .max(1)
65
- .describe('Value between 0 and 1');
68
+ export const scoreSchema = z.number().min(0).max(1).meta({
69
+ title: 'Score',
70
+ description: 'Value between 0 and 1',
71
+ });
66
72
  /** Schema for a property indicating whether an entity is filtered out */
67
- export const isSkippedSchema = z.boolean().optional();
73
+ export const isSkippedSchema = z
74
+ .boolean()
75
+ .optional()
76
+ .meta({ title: 'IsSkipped' });
68
77
  /**
69
78
  * Used for categories, plugins and audits
70
79
  * @param options
@@ -91,62 +100,77 @@ export function metaSchema(options) {
91
100
  export const filePathSchema = z
92
101
  .string()
93
102
  .trim()
94
- .min(1, { message: 'The path is invalid' });
103
+ .min(1)
104
+ .meta({ title: 'FilePath' });
95
105
  /**
96
106
  * Regex for glob patterns - validates file paths and glob patterns
97
107
  * Allows normal paths and paths with glob metacharacters: *, **, {}, [], !, ?
98
108
  * Excludes invalid path characters: <>"|
99
109
  */
100
110
  const globRegex = /^!?[^<>"|]+$/;
101
- export const globPathSchema = z
102
- .string()
103
- .trim()
104
- .min(1, { message: 'The glob pattern is invalid' })
105
- .regex(globRegex, {
106
- message: 'The path must be a valid file path or glob pattern (supports *, **, {}, [], !, ?)',
107
- })
108
- .describe('Schema for a glob pattern (supports wildcards like *, **, {}, !, etc.)');
111
+ export const globPathSchema = z.string().trim().min(1).regex(globRegex).meta({
112
+ title: 'GlobPath',
113
+ description: 'Schema for a glob pattern (supports wildcards like *, **, {}, !, etc.)',
114
+ });
109
115
  /** Schema for a fileNameSchema */
110
116
  export const fileNameSchema = z
111
117
  .string()
112
118
  .trim()
113
- .regex(filenameRegex, {
114
- message: `The filename has to be valid`,
115
- })
116
- .min(1, { message: 'The file name is invalid' });
119
+ .regex(filenameRegex)
120
+ .min(1)
121
+ .meta({ title: 'FileName' });
117
122
  /** Schema for a positiveInt */
118
- export const positiveIntSchema = z.number().int().positive();
119
- export const nonnegativeNumberSchema = z.number().nonnegative();
123
+ export const positiveIntSchema = z
124
+ .number()
125
+ .int()
126
+ .positive()
127
+ .meta({ title: 'PositiveInt' });
128
+ export const nonnegativeNumberSchema = z
129
+ .number()
130
+ .nonnegative()
131
+ .meta({ title: 'NonnegativeNumber' });
120
132
  export function packageVersionSchema(options) {
121
133
  const { versionDescription = 'NPM version of the package', required } = options ?? {};
122
- const packageSchema = z.string().describe('NPM package name');
123
- const versionSchema = z.string().describe(versionDescription);
134
+ const packageSchema = z.string().meta({ description: 'NPM package name' });
135
+ const versionSchema = z.string().meta({ description: versionDescription });
124
136
  return z
125
137
  .object({
126
138
  packageName: required ? packageSchema : packageSchema.optional(),
127
139
  version: required ? versionSchema : versionSchema.optional(),
128
140
  })
129
- .describe('NPM package name and version of a published package');
141
+ .meta({
142
+ description: 'NPM package name and version of a published package',
143
+ });
130
144
  }
131
145
  /** Schema for a binary score threshold */
132
146
  export const scoreTargetSchema = nonnegativeNumberSchema
133
147
  .max(1)
134
- .describe('Pass/fail score threshold (0-1)')
148
+ .meta({
149
+ title: 'ScoreTarget',
150
+ description: 'Pass/fail score threshold (0-1)',
151
+ })
135
152
  .optional();
136
153
  /** Schema for a weight */
137
- export const weightSchema = nonnegativeNumberSchema.describe('Coefficient for the given score (use weight 0 if only for display)');
154
+ export const weightSchema = nonnegativeNumberSchema.meta({
155
+ title: 'Weight',
156
+ description: 'Coefficient for the given score (use weight 0 if only for display)',
157
+ });
138
158
  export function weightedRefSchema(description, slugDescription) {
139
159
  return z
140
160
  .object({
141
- slug: slugSchema.describe(slugDescription),
142
- weight: weightSchema.describe('Weight used to calculate score'),
161
+ slug: slugSchema.meta({ description: slugDescription }),
162
+ weight: weightSchema.meta({
163
+ description: 'Weight used to calculate score',
164
+ }),
143
165
  })
144
- .describe(description);
166
+ .meta({ description });
145
167
  }
146
168
  export function scorableSchema(description, refSchema, duplicateCheckFn) {
147
169
  return z
148
170
  .object({
149
- slug: slugSchema.describe('Human-readable unique ID, e.g. "performance"'),
171
+ slug: slugSchema.meta({
172
+ description: 'Human-readable unique ID, e.g. "performance"',
173
+ }),
150
174
  refs: z
151
175
  .array(refSchema)
152
176
  .min(1, { message: 'In a category, there has to be at least one ref' })
@@ -159,18 +183,24 @@ export function scorableSchema(description, refSchema, duplicateCheckFn) {
159
183
  })
160
184
  .describe(description);
161
185
  }
162
- export const materialIconSchema = z
163
- .enum(MATERIAL_ICONS)
164
- .describe('Icon from VSCode Material Icons extension');
186
+ export const materialIconSchema = z.enum(MATERIAL_ICONS).meta({
187
+ title: 'MaterialIcon',
188
+ description: 'Icon from VSCode Material Icons extension',
189
+ });
165
190
  function hasNonZeroWeightedRef(refs) {
166
191
  return refs.reduce((acc, { weight }) => weight + acc, 0) !== 0;
167
192
  }
168
193
  export const filePositionSchema = z
169
194
  .object({
170
- startLine: positiveIntSchema.describe('Start line'),
171
- startColumn: positiveIntSchema.describe('Start column').optional(),
172
- endLine: positiveIntSchema.describe('End line').optional(),
173
- endColumn: positiveIntSchema.describe('End column').optional(),
195
+ startLine: positiveIntSchema.meta({ description: 'Start line' }),
196
+ startColumn: positiveIntSchema
197
+ .meta({ description: 'Start column' })
198
+ .optional(),
199
+ endLine: positiveIntSchema.meta({ description: 'End line' }).optional(),
200
+ endColumn: positiveIntSchema.meta({ description: 'End column' }).optional(),
174
201
  })
175
- .describe('Location in file');
202
+ .meta({
203
+ title: 'FilePosition',
204
+ description: 'Location in file',
205
+ });
176
206
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/lib/implementation/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/lib/implementation/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { ZodError, type ZodType, z } from 'zod';
2
+ /**
3
+ * Type Definition: `SchemaValidationContext`
4
+ *
5
+ * This type is derived from a Zod schema and represents
6
+ * the validated structure of `SchemaValidationContext` used within the application.
7
+ *
8
+ * @see {@link https://github.com/code-pushup/cli/blob/main/packages/models/docs/models-reference.md#schemavalidationcontext}
9
+ */
10
+ type SchemaValidationContext = {
11
+ filePath?: string;
12
+ };
13
+ /**
14
+ * Autocompletes valid Zod Schema input for convience, but will accept any other data as well
15
+ */
16
+ /**
17
+ * Type Definition: `ZodInputLooseAutocomplete`
18
+ *
19
+ * This type is derived from a Zod schema and represents
20
+ * the validated structure of `ZodInputLooseAutocomplete` used within the application.
21
+ *
22
+ * @see {@link https://github.com/code-pushup/cli/blob/main/packages/models/docs/models-reference.md#zodinputlooseautocomplete}
23
+ */
24
+ type ZodInputLooseAutocomplete<T extends ZodType> = z.input<T> | {} | null | undefined;
25
+ export declare class SchemaValidationError extends Error {
26
+ constructor(error: ZodError, schema: ZodType, { filePath }: SchemaValidationContext);
27
+ }
28
+ export declare function validate<T extends ZodType>(schema: T, data: ZodInputLooseAutocomplete<T>, context?: SchemaValidationContext): z.output<T>;
29
+ export declare function validateAsync<T extends ZodType>(schema: T, data: ZodInputLooseAutocomplete<T>, context?: SchemaValidationContext): Promise<z.output<T>>;
30
+ export {};
@@ -0,0 +1,34 @@
1
+ import ansis from 'ansis';
2
+ import path from 'node:path';
3
+ import { ZodError, z } from 'zod';
4
+ export class SchemaValidationError extends Error {
5
+ constructor(error, schema, { filePath }) {
6
+ const formattedError = z.prettifyError(error);
7
+ const schemaTitle = z.globalRegistry.get(schema)?.title;
8
+ const summary = [
9
+ 'Invalid',
10
+ schemaTitle ? ansis.bold(schemaTitle) : 'data',
11
+ filePath &&
12
+ `in ${ansis.bold(path.relative(process.cwd(), filePath))} file`,
13
+ ]
14
+ .filter(Boolean)
15
+ .join(' ');
16
+ super(`${summary}\n${formattedError}\n`);
17
+ this.name = SchemaValidationError.name;
18
+ }
19
+ }
20
+ export function validate(schema, data, context = {}) {
21
+ const result = schema.safeParse(data);
22
+ if (result.success) {
23
+ return result.data;
24
+ }
25
+ throw new SchemaValidationError(result.error, schema, context);
26
+ }
27
+ export async function validateAsync(schema, data, context = {}) {
28
+ const result = await schema.safeParseAsync(data);
29
+ if (result.success) {
30
+ return result.data;
31
+ }
32
+ throw new SchemaValidationError(result.error, schema, context);
33
+ }
34
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/lib/implementation/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AAehD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YACE,KAAe,EACf,MAAe,EACf,EAAE,QAAQ,EAA2B;QAErC,MAAM,cAAc,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;QACxD,MAAM,OAAO,GAAG;YACd,SAAS;YACT,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;YAC9C,QAAQ;gBACN,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,OAAO;SAClE;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,KAAK,CAAC,GAAG,OAAO,KAAK,cAAc,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;IACzC,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CACtB,MAAS,EACT,IAAkC,EAClC,UAAmC,EAAE;IAErC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAS,EACT,IAAkC,EAClC,UAAmC,EAAE;IAErC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC"}
package/src/lib/issue.js CHANGED
@@ -1,17 +1,21 @@
1
1
  import { z } from 'zod';
2
2
  import { MAX_ISSUE_MESSAGE_LENGTH } from './implementation/limits.js';
3
3
  import { sourceFileLocationSchema } from './source.js';
4
- export const issueSeveritySchema = z
5
- .enum(['info', 'warning', 'error'])
6
- .describe('Severity level');
4
+ export const issueSeveritySchema = z.enum(['info', 'warning', 'error']).meta({
5
+ title: 'IssueSeverity',
6
+ description: 'Severity level',
7
+ });
7
8
  export const issueSchema = z
8
9
  .object({
9
10
  message: z
10
11
  .string()
11
12
  .max(MAX_ISSUE_MESSAGE_LENGTH)
12
- .describe('Descriptive error message'),
13
+ .meta({ description: 'Descriptive error message' }),
13
14
  severity: issueSeveritySchema,
14
15
  source: sourceFileLocationSchema.optional(),
15
16
  })
16
- .describe('Issue information');
17
+ .meta({
18
+ title: 'Issue',
19
+ description: 'Issue information',
20
+ });
17
21
  //# sourceMappingURL=issue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/lib/issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KAClC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAG9B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,wBAAwB,CAAC;SAC7B,QAAQ,CAAC,2BAA2B,CAAC;IACxC,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,QAAQ,CAAC,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/lib/issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,gBAAgB;CAC9B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,wBAAwB,CAAC;SAC7B,IAAI,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IACrD,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,IAAI,CAAC;IACJ,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,mBAAmB;CACjC,CAAC,CAAC"}
@@ -1,12 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  import { fileNameSchema, filePathSchema } from './implementation/schemas.js';
3
- export const formatSchema = z.enum(['json', 'md']);
4
- export const persistConfigSchema = z.object({
5
- outputDir: filePathSchema.describe('Artifacts folder').optional(),
3
+ export const formatSchema = z.enum(['json', 'md']).meta({ title: 'Format' });
4
+ export const persistConfigSchema = z
5
+ .object({
6
+ outputDir: filePathSchema
7
+ .meta({ description: 'Artifacts folder' })
8
+ .optional(),
6
9
  filename: fileNameSchema
7
- .describe('Artifacts file name (without extension)')
10
+ .meta({ description: 'Artifacts file name (without extension)' })
8
11
  .optional(),
9
12
  format: z.array(formatSchema).optional(),
10
13
  skipReports: z.boolean().optional(),
11
- });
14
+ })
15
+ .meta({ title: 'PersistConfig' });
12
16
  //# sourceMappingURL=persist-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persist-config.js","sourceRoot":"","sources":["../../../src/lib/persist-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAGnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACjE,QAAQ,EAAE,cAAc;SACrB,QAAQ,CAAC,yCAAyC,CAAC;SACnD,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC"}
1
+ {"version":3,"file":"persist-config.js","sourceRoot":"","sources":["../../../src/lib/persist-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAG7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,SAAS,EAAE,cAAc;SACtB,IAAI,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;SACzC,QAAQ,EAAE;IACb,QAAQ,EAAE,cAAc;SACrB,IAAI,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;SAChE,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC"}
@@ -23,6 +23,7 @@ export declare const pluginMetaSchema: z.ZodObject<{
23
23
  key: "key";
24
24
  slug: "slug";
25
25
  file: "file";
26
+ url: "url";
26
27
  search: "search";
27
28
  blink: "blink";
28
29
  table: "table";
@@ -447,7 +448,6 @@ export declare const pluginMetaSchema: z.ZodObject<{
447
448
  go: "go";
448
449
  python: "python";
449
450
  "python-misc": "python-misc";
450
- url: "url";
451
451
  console: "console";
452
452
  powershell: "powershell";
453
453
  gradle: "gradle";
@@ -1186,6 +1186,7 @@ export declare const pluginConfigSchema: z.ZodObject<{
1186
1186
  key: "key";
1187
1187
  slug: "slug";
1188
1188
  file: "file";
1189
+ url: "url";
1189
1190
  search: "search";
1190
1191
  blink: "blink";
1191
1192
  table: "table";
@@ -1610,7 +1611,6 @@ export declare const pluginConfigSchema: z.ZodObject<{
1610
1611
  go: "go";
1611
1612
  python: "python";
1612
1613
  "python-misc": "python-misc";
1613
- url: "url";
1614
1614
  console: "console";
1615
1615
  powershell: "powershell";
1616
1616
  gradle: "gradle";
@@ -8,7 +8,10 @@ import { runnerConfigSchema, runnerFunctionSchema } from './runner-config.js';
8
8
  export const pluginContextSchema = z
9
9
  .record(z.string(), z.unknown())
10
10
  .optional()
11
- .describe('Plugin-specific context data for helpers');
11
+ .meta({
12
+ title: 'PluginContext',
13
+ description: 'Plugin-specific context data for helpers',
14
+ });
12
15
  export const pluginMetaSchema = packageVersionSchema()
13
16
  .extend(metaSchema({
14
17
  titleDescription: 'Descriptive name',
@@ -17,26 +20,35 @@ export const pluginMetaSchema = packageVersionSchema()
17
20
  description: 'Plugin metadata',
18
21
  }).shape)
19
22
  .extend({
20
- slug: slugSchema.describe('Unique plugin slug within core config'),
23
+ slug: slugSchema.meta({
24
+ description: 'Unique plugin slug within core config',
25
+ }),
21
26
  icon: materialIconSchema,
22
- });
27
+ })
28
+ .meta({ title: 'PluginMeta' });
23
29
  export const pluginScoreTargetsSchema = z
24
30
  .union([
25
31
  scoreTargetSchema,
26
32
  z.record(z.string(), scoreTargetSchema.nonoptional()),
27
33
  ])
28
- .describe('Score targets that trigger a perfect score. Number for all audits or record { slug: target } for specific audits')
29
- .optional();
30
- export const pluginDataSchema = z.object({
34
+ .optional()
35
+ .meta({
36
+ title: 'PluginScoreTargets',
37
+ description: 'Score targets that trigger a perfect score. Number for all audits or record { slug: target } for specific audits',
38
+ });
39
+ export const pluginDataSchema = z
40
+ .object({
31
41
  runner: z.union([runnerConfigSchema, runnerFunctionSchema]),
32
42
  audits: pluginAuditsSchema,
33
43
  groups: groupsSchema,
34
44
  scoreTargets: pluginScoreTargetsSchema,
35
45
  context: pluginContextSchema,
36
- });
46
+ })
47
+ .meta({ title: 'PluginData' });
37
48
  export const pluginConfigSchema = pluginMetaSchema
38
49
  .extend(pluginDataSchema.shape)
39
- .check(createCheck(findMissingSlugsInGroupRefs));
50
+ .check(createCheck(findMissingSlugsInGroupRefs))
51
+ .meta({ title: 'PluginConfig' });
40
52
  // every listed group ref points to an audit within the plugin
41
53
  export function findMissingSlugsInGroupRefs({ audits, groups = [] }) {
42
54
  const missingSlugs = getAuditSlugsFromGroups(audits, groups);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-config.js","sourceRoot":"","sources":["../../../src/lib/plugin-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAc,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAc,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC/B,QAAQ,EAAE;KACV,QAAQ,CAAC,0CAA0C,CAAC,CAAC;AAGxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,EAAE;KACnD,MAAM,CACL,UAAU,CAAC;IACT,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,2BAA2B;IAC/C,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC,KAAK,CACT;KACA,MAAM,CAAC;IACN,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAClE,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAGL,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,KAAK,CAAC;IACL,iBAAiB;IACjB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,WAAW,EAAE,CAAC;CACtD,CAAC;KACD,QAAQ,CACP,kHAAkH,CACnH;KACA,QAAQ,EAAE,CAAC;AAId,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAC3D,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,YAAY;IACpB,YAAY,EAAE,wBAAwB;IACtC,OAAO,EAAE,mBAAmB;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB;KAC/C,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;KAC9B,KAAK,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAInD,8DAA8D;AAC9D,MAAM,UAAU,2BAA2B,CAEzC,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,EAAK;IAC1B,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,CACL,YAAY,IAAI;QACd,OAAO,EAAE,6DAA6D,eAAe,CACnF,YAAY,CACb,EAAE;KACJ,CACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAe,EAAE,MAAe;IAC/D,OAAO,iBAAiB,CACtB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugin-config.js","sourceRoot":"","sources":["../../../src/lib/plugin-config.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,7 @@ export declare const pluginReportSchema: z.ZodObject<{
84
84
  key: "key";
85
85
  slug: "slug";
86
86
  file: "file";
87
+ url: "url";
87
88
  search: "search";
88
89
  blink: "blink";
89
90
  table: "table";
@@ -508,7 +509,6 @@ export declare const pluginReportSchema: z.ZodObject<{
508
509
  go: "go";
509
510
  python: "python";
510
511
  "python-misc": "python-misc";
511
- url: "url";
512
512
  console: "console";
513
513
  powershell: "powershell";
514
514
  gradle: "gradle";
@@ -1044,6 +1044,7 @@ export declare const reportSchema: z.ZodObject<{
1044
1044
  key: "key";
1045
1045
  slug: "slug";
1046
1046
  file: "file";
1047
+ url: "url";
1047
1048
  search: "search";
1048
1049
  blink: "blink";
1049
1050
  table: "table";
@@ -1468,7 +1469,6 @@ export declare const reportSchema: z.ZodObject<{
1468
1469
  go: "go";
1469
1470
  python: "python";
1470
1471
  "python-misc": "python-misc";
1471
- url: "url";
1472
1472
  console: "console";
1473
1473
  powershell: "powershell";
1474
1474
  gradle: "gradle";
package/src/lib/report.js CHANGED
@@ -8,7 +8,9 @@ import { createCheck } from './implementation/checks.js';
8
8
  import { executionMetaSchema, packageVersionSchema, } from './implementation/schemas.js';
9
9
  import { findMissingSlugsInCategoryRefs } from './implementation/utils.js';
10
10
  import { findMissingSlugsInGroupRefs, pluginMetaSchema, } from './plugin-config.js';
11
- export const auditReportSchema = auditSchema.merge(auditOutputSchema);
11
+ export const auditReportSchema = auditSchema
12
+ .merge(auditOutputSchema)
13
+ .meta({ title: 'AuditReport' });
12
14
  export const pluginReportSchema = pluginMetaSchema
13
15
  .merge(executionMetaSchema({
14
16
  descriptionDate: 'Start date and time of plugin run',
@@ -18,7 +20,8 @@ export const pluginReportSchema = pluginMetaSchema
18
20
  audits: z.array(auditReportSchema).min(1),
19
21
  groups: z.array(groupSchema).optional(),
20
22
  }))
21
- .check(createCheck(findMissingSlugsInGroupRefs));
23
+ .check(createCheck(findMissingSlugsInGroupRefs))
24
+ .meta({ title: 'PluginReport' });
22
25
  export const reportSchema = packageVersionSchema({
23
26
  versionDescription: 'NPM version of the CLI',
24
27
  required: true,
@@ -31,10 +34,16 @@ export const reportSchema = packageVersionSchema({
31
34
  plugins: z.array(pluginReportSchema).min(1),
32
35
  categories: z.array(categoryConfigSchema).optional(),
33
36
  commit: commitSchema
34
- .describe('Git commit for which report was collected')
37
+ .meta({ description: 'Git commit for which report was collected' })
35
38
  .nullable(),
36
- label: z.string().optional().describe('Label (e.g. project name)'),
39
+ label: z
40
+ .string()
41
+ .optional()
42
+ .meta({ description: 'Label (e.g. project name)' }),
37
43
  }))
38
44
  .check(createCheck(findMissingSlugsInCategoryRefs))
39
- .describe('Collect output data');
45
+ .meta({
46
+ title: 'Report',
47
+ description: 'Collect output data',
48
+ });
40
49
  //# sourceMappingURL=report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/lib/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAGtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB;KAC/C,KAAK,CACJ,mBAAmB,CAAC;IAClB,eAAe,EAAE,mCAAmC;IACpD,mBAAmB,EAAE,kCAAkC;CACxD,CAAC,CACH;KACA,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CACH;KACA,KAAK,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAInD,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;IAC/C,kBAAkB,EAAE,wBAAwB;IAC5C,QAAQ,EAAE,IAAI;CACf,CAAC;KACC,KAAK,CACJ,mBAAmB,CAAC;IAClB,eAAe,EAAE,wCAAwC;IACzD,mBAAmB,EAAE,mCAAmC;CACzD,CAAC,CACH;KACA,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IACpD,MAAM,EAAE,YAAY;SACjB,QAAQ,CAAC,2CAA2C,CAAC;SACrD,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CACnE,CAAC,CACH;KACA,KAAK,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;KAClD,QAAQ,CAAC,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/lib/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW;KACzC,KAAK,CAAC,iBAAiB,CAAC;KACxB,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;AAIlC,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB;KAC/C,KAAK,CACJ,mBAAmB,CAAC;IAClB,eAAe,EAAE,mCAAmC;IACpD,mBAAmB,EAAE,kCAAkC;CACxD,CAAC,CACH;KACA,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CACH;KACA,KAAK,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;KAC/C,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;AAInC,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;IAC/C,kBAAkB,EAAE,wBAAwB;IAC5C,QAAQ,EAAE,IAAI;CACf,CAAC;KACC,KAAK,CACJ,mBAAmB,CAAC;IAClB,eAAe,EAAE,wCAAwC;IACzD,mBAAmB,EAAE,mCAAmC;CACzD,CAAC,CACH;KACA,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IACpD,MAAM,EAAE,YAAY;SACjB,IAAI,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;SAClE,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,IAAI,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;CACtD,CAAC,CACH;KACA,KAAK,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;KAClD,IAAI,CAAC;IACJ,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,qBAAqB;CACnC,CAAC,CAAC"}