@code-pushup/models 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.
Files changed (63) hide show
  1. package/package.json +6 -5
  2. package/src/index.d.ts +21 -21
  3. package/src/index.js +22 -0
  4. package/src/index.js.map +1 -0
  5. package/src/lib/audit-output.d.ts +24 -0
  6. package/src/lib/audit-output.js +37 -0
  7. package/src/lib/audit-output.js.map +1 -0
  8. package/src/lib/audit.d.ts +16 -0
  9. package/src/lib/audit.js +33 -0
  10. package/src/lib/audit.js.map +1 -0
  11. package/src/lib/category-config.d.ts +24 -0
  12. package/src/lib/category-config.js +47 -0
  13. package/src/lib/category-config.js.map +1 -0
  14. package/src/lib/commit.d.ts +8 -0
  15. package/src/lib/commit.js +16 -0
  16. package/src/lib/commit.js.map +1 -0
  17. package/src/lib/core-config.d.ts +1785 -866
  18. package/src/lib/core-config.js +31 -0
  19. package/src/lib/core-config.js.map +1 -0
  20. package/src/lib/group.d.ts +35 -0
  21. package/src/lib/group.js +41 -0
  22. package/src/lib/group.js.map +1 -0
  23. package/src/lib/implementation/configuration.js +3 -0
  24. package/src/lib/implementation/configuration.js.map +1 -0
  25. package/src/lib/implementation/constants.d.ts +1 -1
  26. package/src/lib/implementation/constants.js +4 -0
  27. package/src/lib/implementation/constants.js.map +1 -0
  28. package/src/lib/implementation/limits.js +5 -0
  29. package/src/lib/implementation/limits.js.map +1 -0
  30. package/src/lib/implementation/schemas.d.ts +31 -13
  31. package/src/lib/implementation/schemas.js +133 -0
  32. package/src/lib/implementation/schemas.js.map +1 -0
  33. package/src/lib/implementation/utils.d.ts +3 -3
  34. package/src/lib/implementation/utils.js +72 -0
  35. package/src/lib/implementation/utils.js.map +1 -0
  36. package/src/lib/issue.d.ts +16 -0
  37. package/src/lib/issue.js +14 -0
  38. package/src/lib/issue.js.map +1 -0
  39. package/src/lib/persist-config.d.ts +16 -0
  40. package/src/lib/persist-config.js +11 -0
  41. package/src/lib/persist-config.js.map +1 -0
  42. package/src/lib/plugin-config.d.ts +68 -0
  43. package/src/lib/plugin-config.js +37 -0
  44. package/src/lib/plugin-config.js.map +1 -0
  45. package/src/lib/report.d.ts +84 -0
  46. package/src/lib/report.js +49 -0
  47. package/src/lib/report.js.map +1 -0
  48. package/src/lib/reports-diff.d.ts +68 -0
  49. package/src/lib/reports-diff.js +79 -0
  50. package/src/lib/reports-diff.js.map +1 -0
  51. package/src/lib/runner-config.d.ts +54 -0
  52. package/src/lib/runner-config.js +31 -0
  53. package/src/lib/runner-config.js.map +1 -0
  54. package/src/lib/source.d.ts +8 -0
  55. package/src/lib/source.js +14 -0
  56. package/src/lib/source.js.map +1 -0
  57. package/src/lib/table.d.ts +48 -0
  58. package/src/lib/table.js +37 -0
  59. package/src/lib/table.js.map +1 -0
  60. package/src/lib/upload-config.d.ts +8 -0
  61. package/src/lib/upload-config.js +16 -0
  62. package/src/lib/upload-config.js.map +1 -0
  63. package/index.js +0 -753
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ import { pluginAuditsSchema } from './audit.js';
3
+ import { groupsSchema } from './group.js';
4
+ import { materialIconSchema, metaSchema, packageVersionSchema, slugSchema, } from './implementation/schemas.js';
5
+ import { errorItems, hasMissingStrings } from './implementation/utils.js';
6
+ import { runnerConfigSchema, runnerFunctionSchema } from './runner-config.js';
7
+ export const pluginMetaSchema = packageVersionSchema()
8
+ .merge(metaSchema({
9
+ titleDescription: 'Descriptive name',
10
+ descriptionDescription: 'Description (markdown)',
11
+ docsUrlDescription: 'Plugin documentation site',
12
+ description: 'Plugin metadata',
13
+ }))
14
+ .merge(z.object({
15
+ slug: slugSchema.describe('Unique plugin slug within core config'),
16
+ icon: materialIconSchema,
17
+ }));
18
+ export const pluginDataSchema = z.object({
19
+ runner: z.union([runnerConfigSchema, runnerFunctionSchema]),
20
+ audits: pluginAuditsSchema,
21
+ groups: groupsSchema,
22
+ });
23
+ export const pluginConfigSchema = pluginMetaSchema
24
+ .merge(pluginDataSchema)
25
+ // every listed group ref points to an audit within the plugin
26
+ .refine(pluginCfg => !getMissingRefsFromGroups(pluginCfg), pluginCfg => ({
27
+ message: missingRefsFromGroupsErrorMsg(pluginCfg),
28
+ }));
29
+ // helper for validator: every listed group ref points to an audit within the plugin
30
+ function missingRefsFromGroupsErrorMsg(pluginCfg) {
31
+ const missingRefs = getMissingRefsFromGroups(pluginCfg);
32
+ return `The following group references need to point to an existing audit in this plugin config: ${errorItems(missingRefs)}`;
33
+ }
34
+ function getMissingRefsFromGroups(pluginCfg) {
35
+ return hasMissingStrings(pluginCfg.groups?.flatMap(({ refs: audits }) => audits.map(({ slug: ref }) => ref)) ?? [], pluginCfg.audits.map(({ slug }) => slug));
36
+ }
37
+ //# sourceMappingURL=plugin-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-config.js","sourceRoot":"","sources":["../../../../../packages/models/src/lib/plugin-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,UAAU,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,EAAE;KACnD,KAAK,CACJ,UAAU,CAAC;IACT,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,2BAA2B;IAC/C,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CACH;KACA,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAClE,IAAI,EAAE,kBAAkB;CACzB,CAAC,CACH,CAAC;AAGJ,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;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB;KAC/C,KAAK,CAAC,gBAAgB,CAAC;IACxB,8DAA8D;KAC7D,MAAM,CACL,SAAS,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,SAAS,CAAC,EACjD,SAAS,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,EAAE,6BAA6B,CAAC,SAAS,CAAC;CAClD,CAAC,CACH,CAAC;AAIJ,oFAAoF;AACpF,SAAS,6BAA6B,CAAC,SAAqB;IAC1D,MAAM,WAAW,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACxD,OAAO,4FAA4F,UAAU,CAC3G,WAAW,CACZ,EAAE,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAqB;IACrD,OAAO,iBAAiB,CACtB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CACnC,IAAI,EAAE,EACP,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CACzC,CAAC;AACJ,CAAC"}