@code-pushup/models 0.69.5 → 0.70.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 (65) hide show
  1. package/package.json +2 -2
  2. package/src/index.d.ts +2 -1
  3. package/src/index.js +2 -1
  4. package/src/index.js.map +1 -1
  5. package/src/lib/audit-output.d.ts +108 -1188
  6. package/src/lib/audit-output.js +18 -24
  7. package/src/lib/audit-output.js.map +1 -1
  8. package/src/lib/audit.d.ts +4 -42
  9. package/src/lib/audit.js +4 -17
  10. package/src/lib/audit.js.map +1 -1
  11. package/src/lib/category-config.d.ts +22 -169
  12. package/src/lib/category-config.js +21 -28
  13. package/src/lib/category-config.js.map +1 -1
  14. package/src/lib/commit.d.ts +2 -12
  15. package/src/lib/commit.js +10 -13
  16. package/src/lib/commit.js.map +1 -1
  17. package/src/lib/configuration.d.ts +24 -0
  18. package/src/lib/configuration.js +16 -0
  19. package/src/lib/configuration.js.map +1 -0
  20. package/src/lib/core-config.d.ts +3104 -14160
  21. package/src/lib/core-config.js +6 -8
  22. package/src/lib/core-config.js.map +1 -1
  23. package/src/lib/group.d.ts +10 -124
  24. package/src/lib/group.js +6 -27
  25. package/src/lib/group.js.map +1 -1
  26. package/src/lib/implementation/checks.d.ts +8 -0
  27. package/src/lib/implementation/checks.js +28 -0
  28. package/src/lib/implementation/checks.js.map +1 -0
  29. package/src/lib/implementation/function.d.ts +22 -0
  30. package/src/lib/implementation/function.js +53 -0
  31. package/src/lib/implementation/function.js.map +1 -0
  32. package/src/lib/implementation/schemas.d.ts +868 -47
  33. package/src/lib/implementation/schemas.js +48 -41
  34. package/src/lib/implementation/schemas.js.map +1 -1
  35. package/src/lib/implementation/utils.d.ts +13 -2
  36. package/src/lib/implementation/utils.js +15 -11
  37. package/src/lib/implementation/utils.js.map +1 -1
  38. package/src/lib/issue.d.ts +13 -55
  39. package/src/lib/issue.js +10 -7
  40. package/src/lib/issue.js.map +1 -1
  41. package/src/lib/persist-config.d.ts +9 -11
  42. package/src/lib/plugin-config.d.ts +2057 -6578
  43. package/src/lib/plugin-config.js +16 -11
  44. package/src/lib/plugin-config.js.map +1 -1
  45. package/src/lib/report.d.ts +1859 -2580
  46. package/src/lib/report.js +7 -17
  47. package/src/lib/report.js.map +1 -1
  48. package/src/lib/reports-diff.d.ts +105 -2641
  49. package/src/lib/reports-diff.js +4 -2
  50. package/src/lib/reports-diff.js.map +1 -1
  51. package/src/lib/runner-config.d.ts +223 -3393
  52. package/src/lib/runner-config.js +15 -16
  53. package/src/lib/runner-config.js.map +1 -1
  54. package/src/lib/source.d.ts +2 -28
  55. package/src/lib/source.js +4 -2
  56. package/src/lib/source.js.map +1 -1
  57. package/src/lib/table.d.ts +39 -57
  58. package/src/lib/table.js +18 -16
  59. package/src/lib/table.js.map +1 -1
  60. package/src/lib/tree.d.ts +17 -211
  61. package/src/lib/tree.js +13 -7
  62. package/src/lib/tree.js.map +1 -1
  63. package/src/lib/upload-config.d.ts +1 -13
  64. package/src/lib/upload-config.js +6 -5
  65. package/src/lib/upload-config.js.map +1 -1
@@ -1,9 +1,14 @@
1
1
  import { z } from 'zod';
2
2
  import { pluginAuditsSchema } from './audit.js';
3
3
  import { groupsSchema } from './group.js';
4
+ import { createCheck } from './implementation/checks.js';
4
5
  import { materialIconSchema, metaSchema, packageVersionSchema, slugSchema, } from './implementation/schemas.js';
5
- import { errorItems, hasMissingStrings } from './implementation/utils.js';
6
+ import { formatSlugsList, hasMissingStrings } from './implementation/utils.js';
6
7
  import { runnerConfigSchema, runnerFunctionSchema } from './runner-config.js';
8
+ export const pluginContextSchema = z
9
+ .record(z.string(), z.unknown())
10
+ .optional()
11
+ .describe('Plugin-specific context data for helpers');
7
12
  export const pluginMetaSchema = packageVersionSchema()
8
13
  .merge(metaSchema({
9
14
  titleDescription: 'Descriptive name',
@@ -19,19 +24,19 @@ export const pluginDataSchema = z.object({
19
24
  runner: z.union([runnerConfigSchema, runnerFunctionSchema]),
20
25
  audits: pluginAuditsSchema,
21
26
  groups: groupsSchema,
27
+ context: pluginContextSchema,
22
28
  });
23
29
  export const pluginConfigSchema = pluginMetaSchema
24
30
  .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)}`;
31
+ .check(createCheck(findMissingSlugsInGroupRefs));
32
+ // every listed group ref points to an audit within the plugin
33
+ export function findMissingSlugsInGroupRefs({ audits, groups = [] }) {
34
+ const missingSlugs = getAuditSlugsFromGroups(audits, groups);
35
+ return (missingSlugs && {
36
+ message: `Group references audits which don't exist in this plugin: ${formatSlugsList(missingSlugs)}`,
37
+ });
33
38
  }
34
- function getMissingRefsFromGroups(pluginCfg) {
35
- return hasMissingStrings(pluginCfg.groups?.flatMap(({ refs: audits }) => audits.map(({ slug: ref }) => ref)) ?? [], pluginCfg.audits.map(({ slug }) => slug));
39
+ function getAuditSlugsFromGroups(audits, groups) {
40
+ return hasMissingStrings(groups.flatMap(({ refs }) => refs.map(({ slug }) => slug)), audits.map(({ slug }) => slug));
36
41
  }
37
42
  //# sourceMappingURL=plugin-config.js.map
@@ -1 +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"}
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,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,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,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;IACpB,OAAO,EAAE,mBAAmB;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB;KAC/C,KAAK,CAAC,gBAAgB,CAAC;KACvB,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"}