@redocly/config 0.4.0 → 0.6.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 (45) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/lib/.tsbuildinfo +1 -1
  3. package/lib/default-theme-config-schema.d.ts +317 -13
  4. package/lib/default-theme-config-schema.js +15 -7
  5. package/lib/default-theme-config-schema.js.map +1 -1
  6. package/lib/portal-shared-types.d.ts +19 -7
  7. package/lib/redoc-config-schema.d.ts +298 -0
  8. package/lib/redoc-config-schema.js +185 -0
  9. package/lib/redoc-config-schema.js.map +1 -0
  10. package/lib/redoc-types.d.ts +84 -0
  11. package/lib/redoc-types.js +3 -0
  12. package/lib/redoc-types.js.map +1 -0
  13. package/lib/remove-property-recursively.d.ts +5 -0
  14. package/lib/remove-property-recursively.js +26 -0
  15. package/lib/remove-property-recursively.js.map +1 -0
  16. package/lib/root-config-schema.d.ts +3419 -1839
  17. package/lib/root-config-schema.js +8 -1
  18. package/lib/root-config-schema.js.map +1 -1
  19. package/lib/types.d.ts +2 -0
  20. package/lib-esm/.tsbuildinfo +1 -1
  21. package/lib-esm/default-theme-config-schema.d.ts +317 -13
  22. package/lib-esm/default-theme-config-schema.js +15 -7
  23. package/lib-esm/default-theme-config-schema.js.map +1 -1
  24. package/lib-esm/portal-shared-types.d.ts +19 -7
  25. package/lib-esm/redoc-config-schema.d.ts +298 -0
  26. package/lib-esm/redoc-config-schema.js +182 -0
  27. package/lib-esm/redoc-config-schema.js.map +1 -0
  28. package/lib-esm/redoc-types.d.ts +84 -0
  29. package/lib-esm/redoc-types.js +2 -0
  30. package/lib-esm/redoc-types.js.map +1 -0
  31. package/lib-esm/remove-property-recursively.d.ts +5 -0
  32. package/lib-esm/remove-property-recursively.js +22 -0
  33. package/lib-esm/remove-property-recursively.js.map +1 -0
  34. package/lib-esm/root-config-schema.d.ts +3419 -1839
  35. package/lib-esm/root-config-schema.js +8 -1
  36. package/lib-esm/root-config-schema.js.map +1 -1
  37. package/lib-esm/types.d.ts +2 -0
  38. package/package.json +4 -4
  39. package/src/default-theme-config-schema.ts +17 -8
  40. package/src/portal-shared-types.ts +22 -11
  41. package/src/redoc-config-schema.ts +183 -0
  42. package/src/redoc-types.ts +80 -0
  43. package/src/remove-property-recursively.ts +39 -0
  44. package/src/root-config-schema.ts +10 -1
  45. package/src/types.ts +2 -0
@@ -1,5 +1,6 @@
1
1
  import { DEFAULT_TEAM_CLAIM_NAME, AuthProviderType, ApigeeDevOnboardingIntegrationAuthType, } from './constants';
2
2
  import { themeConfigSchema } from './default-theme-config-schema';
3
+ import { removePropertyRecursively } from './remove-property-recursively';
3
4
  import { reuniteConfigSchema } from './reunite-config-schema';
4
5
  export const oidcIssuerMetadataSchema = {
5
6
  type: 'object',
@@ -317,6 +318,12 @@ export const redoclyConfigSchema = {
317
318
  type: 'object',
318
319
  additionalProperties: apiConfigSchema,
319
320
  },
321
+ rules: {
322
+ type: 'object',
323
+ additionalProperties: {
324
+ oneOf: [{ type: 'string' }, { type: 'object' }],
325
+ },
326
+ },
320
327
  ssoOnPrem: ssoOnPremConfigSchema,
321
328
  sso: ssoConfigSchema,
322
329
  residency: { type: 'string' },
@@ -336,7 +343,7 @@ export const redoclyConfigSchema = {
336
343
  default: { redirects: {} },
337
344
  additionalProperties: true,
338
345
  };
339
- const environmentSchema = Object.assign(Object.assign({}, redoclyConfigSchema), { additionalProperties: false });
346
+ const environmentSchema = Object.assign(Object.assign({}, removePropertyRecursively(redoclyConfigSchema, 'default')), { additionalProperties: false });
340
347
  export const rootRedoclyConfigSchema = Object.assign(Object.assign({}, redoclyConfigSchema), { properties: Object.assign(Object.assign({ plugins: {
341
348
  type: 'array',
342
349
  items: { type: 'string' },
@@ -1 +1 @@
1
- {"version":3,"file":"root-config-schema.js","sourceRoot":"","sources":["../src/root-config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sCAAsC,GACvC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7B;IACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;IACtD,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE;QACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACzC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;QAClD,aAAa,EAAE,wBAAwB;QACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;QAC1C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;QAC9C,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC3E,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACpD,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,gCAAgC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC9F,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACtF,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KACvD;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC5E,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE;QACvD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;QACxE,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC/E,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KAC3D;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC;CAClD,CAAC;AAEX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE;QACvD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACpD;gBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACtB,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;IACjC,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,EAAE,6BAA6B,CAAC;IAC3F,aAAa,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;CAC/B,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,wBAAwB;CACtC,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC;aACxC;YACD,WAAW,EAAE,IAAI;SAClB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC;SACxC;KACF;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;KACvC;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,oBAAoB;IAC1C,OAAO,EAAE,EAAE;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE;QACtD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACpD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,OAAO;gBAC7C,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,OAAO;aAC9C;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACxD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACrD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QAC1D,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;KAC9D;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;CACV,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,QAAQ,EAAE;YACR,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC1E;QACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;gBAC7B,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAChC,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC9D,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACzD,oBAAoB,EAAE,oBAAoB;QAC1C,GAAG,EAAE,oBAAoB;QACzB,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,oBAAoB;aAC3B;YACD,oBAAoB,EAAE,oBAAoB;SAC3C;KACF;IACD,oBAAoB,EAAE,oBAAoB;CAClC,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;QAC3C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,8BAA8B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACnE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;KACrE;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,CAAC,MAAM,EAAE;QAC9E,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACjC;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,CAAC;CACvD,CAAC;AAEX,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,CAAC,eAAe,EAAE;QACvF,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7C;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,0BAA0B,CAAC;CAC7D,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;QAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;QACpD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC/D,8BAA8B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACnE,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC,6BAA6B,EAAE,qCAAqC,CAAC;YAC7E,aAAa,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;SACxC;KACF;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC;CACtC,CAAC;AAEX,MAAM,CAAC,MAAM,6BAA6B,GAAG,gCACxC,0BAA0B,KAC7B,UAAU,kCACL,0BAA0B,CAAC,UAAU,KACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAExC,CAAC;AAEX,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC,0BAA0B,EAAE,6BAA6B,EAAE,2BAA2B,CAAC;IAC/F,aAAa,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;CAC/B,CAAC;AAEX,MAAM,yBAAyB,GAAG;IAChC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,gCAAgC;SACxC;KACF;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,eAAe,CAAC;CACnB,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B;IACD,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,qBAAqB;QAChC,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,gBAAgB;QACtB,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE;gBACpB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,oBAAoB;aAC5B;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;gBACzF,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBACnD,4BAA4B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBACjE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChC;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,eAAe;SACtC;QACD,SAAS,EAAE,qBAAqB;QAChC,GAAG,EAAE,eAAe;QACpB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,mBAAmB,EAAE,yBAAyB;QAC9C,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;aACf;SACF;QACD,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,mBAAmB;KAC7B;IACD,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC1B,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,MAAM,iBAAiB,GAAG,gCACrB,mBAAmB,KACtB,oBAAoB,EAAE,KAAK,GACnB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAClC,mBAAmB,KACtB,UAAU,gCACR,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,IACE,mBAAmB,CAAC,UAAU,KACjC,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,iBAAiB,EAAE,gFAAgF;SAC1H,KAEH,OAAO,EAAE,EAAE,EACX,oBAAoB,EAAE,KAAK,GACnB,CAAC"}
1
+ {"version":3,"file":"root-config-schema.js","sourceRoot":"","sources":["../src/root-config-schema.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type { FromSchema } from 'json-schema-to-ts';
2
2
  import type { amplitudeAnalyticsConfigSchema, catalogFilterSchema, catalogSchema, googleAnalyticsConfigSchema, gtmAnalyticsConfigSchema, markdownConfigSchema, productConfigSchema, productGoogleAnalyticsConfigSchema, rudderstackAnalyticsConfigSchema, scorecardConfigSchema, segmentAnalyticsConfigSchema, themeConfigSchema } from './default-theme-config-schema';
3
3
  import type { apiConfigSchema, apigeeAdapterAuthOauth2Schema, apigeeAdapterAuthServiceAccountSchema, apigeeEdgeAdapterConfigSchema, apigeeXAdapterConfigSchema, authProviderConfigSchema, basicAuthProviderConfigSchema, devOnboardingAdapterConfigSchema, graviteeAdapterConfigSchema, i18ConfigSchema, oidcIssuerMetadataSchema, oidcProviderConfigSchema, rbacConfigSchema, rbacScopeItemsSchema, redirectConfigSchema, redirectsConfigSchema, rootRedoclyConfigSchema, saml2ProviderConfigSchema, seoConfigSchema, ssoOnPremConfigSchema } from './root-config-schema';
4
+ import type { RedocConfigTypes } from './redoc-types';
4
5
  /**
5
6
  * Theme
6
7
  */
7
8
  export type ThemeConfig = FromSchema<typeof themeConfigSchema>;
9
+ export type RedocConfig = RedocConfigTypes;
8
10
  export type ProductConfig = FromSchema<typeof productConfigSchema>;
9
11
  export type ProductGoogleAnalyticsConfig = FromSchema<typeof productGoogleAnalyticsConfigSchema>;
10
12
  export type MarkdownConfig = FromSchema<typeof markdownConfigSchema>;
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@redocly/config",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "license": "MIT",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib-esm/index.js",
7
7
  "types": "./lib/index.d.ts",
8
- "dependencies": {},
9
8
  "devDependencies": {
10
- "rimraf": "5.0.5",
11
- "json-schema-to-ts": "2.7.2",
12
9
  "@markdoc/markdoc": "0.4.0",
10
+ "@types/react": "18.3.2",
11
+ "json-schema-to-ts": "2.7.2",
12
+ "rimraf": "5.0.5",
13
13
  "typescript": "5.2.2"
14
14
  },
15
15
  "scripts": {
@@ -1,3 +1,5 @@
1
+ import { redocConfigSchema } from './redoc-config-schema';
2
+
1
3
  const logoConfigSchema = {
2
4
  type: 'object',
3
5
  properties: {
@@ -321,7 +323,11 @@ export const catalogFilterSchema = {
321
323
  additionalProperties: false,
322
324
  required: ['title', 'property'],
323
325
  properties: {
324
- type: { type: 'string', enum: ['select', 'checkboxes', 'date-range'] },
326
+ type: {
327
+ type: 'string',
328
+ enum: ['select', 'checkboxes', 'date-range'],
329
+ default: 'checkboxes',
330
+ },
325
331
  title: { type: 'string' },
326
332
  titleTranslationKey: { type: 'string' },
327
333
  property: { type: 'string' },
@@ -553,6 +559,10 @@ export const themeConfigSchema = {
553
559
  type: 'array',
554
560
  items: suggestedPageSchema,
555
561
  },
562
+ fuzzy: {
563
+ type: 'boolean',
564
+ default: false,
565
+ },
556
566
  ...hideConfigSchema.properties,
557
567
  },
558
568
  additionalProperties: false,
@@ -578,7 +588,7 @@ export const themeConfigSchema = {
578
588
  nextButton: {
579
589
  type: 'object',
580
590
  properties: {
581
- text: { type: 'string', default: 'Next to {{label}}' },
591
+ text: { type: 'string', default: 'Next page' },
582
592
  ...hideConfigSchema.properties,
583
593
  },
584
594
  additionalProperties: false,
@@ -587,7 +597,7 @@ export const themeConfigSchema = {
587
597
  previousButton: {
588
598
  type: 'object',
589
599
  properties: {
590
- text: { type: 'string', default: 'Back to {{label}}' },
600
+ text: { type: 'string', default: 'Previous page' },
591
601
  ...hideConfigSchema.properties,
592
602
  },
593
603
  additionalProperties: false,
@@ -641,7 +651,7 @@ export const themeConfigSchema = {
641
651
  default: {},
642
652
  },
643
653
  markdown: markdownConfigSchema,
644
- openapi: { type: 'object', additionalProperties: true }, // TODO: put the real schema here @Viacheslav
654
+ openapi: redocConfigSchema,
645
655
  graphql: { type: 'object', additionalProperties: true },
646
656
  analytics: {
647
657
  type: 'object',
@@ -656,12 +666,10 @@ export const themeConfigSchema = {
656
666
  ga: googleAnalyticsConfigSchema,
657
667
  },
658
668
  },
659
- userProfile: {
669
+ userMenu: {
660
670
  type: 'object',
661
671
  properties: {
662
- loginLabel: { type: 'string', default: 'Login' },
663
- logoutLabel: { type: 'string', default: 'Logout' },
664
- menu: {
672
+ items: {
665
673
  type: 'array',
666
674
  items: {
667
675
  type: 'object',
@@ -675,6 +683,7 @@ export const themeConfigSchema = {
675
683
  },
676
684
  default: [],
677
685
  },
686
+ hideLoginButton: { type: 'boolean' },
678
687
  ...hideConfigSchema.properties,
679
688
  },
680
689
  additionalProperties: false,
@@ -47,10 +47,13 @@ export type ResolvedNavLinkItem = {
47
47
  isDefault?: boolean;
48
48
  versionFolderId?: string;
49
49
 
50
+ badges?: ItemBadge[];
50
51
  httpVerb?: string;
51
52
  separatorLine?: boolean;
53
+ linePosition?: 'top' | 'bottom';
52
54
  routeSlug?: string;
53
55
  active?: boolean;
56
+ deprecated?: boolean;
54
57
  icon?: string;
55
58
  srcSet?: string;
56
59
  [REDOCLY_TEAMS_RBAC]?: RbacScopeItems;
@@ -63,6 +66,12 @@ export type ResolvedNavLinkItem = {
63
66
  languageInsensitive?: boolean;
64
67
  };
65
68
 
69
+ export type ItemBadge = {
70
+ name: string;
71
+ color?: string;
72
+ position?: 'before' | 'after';
73
+ };
74
+
66
75
  export type ResolvedNavGroupItem = {
67
76
  type: 'group';
68
77
  fsPath?: string;
@@ -83,6 +92,7 @@ export type ResolvedNavGroupItem = {
83
92
 
84
93
  menuStyle?: MenuStyle;
85
94
  separatorLine?: boolean;
95
+ linePosition?: 'top' | 'bottom';
86
96
  routeSlug?: string;
87
97
  active?: boolean;
88
98
  icon?: string;
@@ -112,21 +122,21 @@ export type ResolvedNavItem =
112
122
  isDefault?: boolean;
113
123
  versionFolderId?: string;
114
124
 
125
+ variant?: 'primary' | 'secondary';
115
126
  separatorLine?: boolean;
116
127
  linePosition?: 'top' | 'bottom';
117
128
  link?: undefined;
118
129
  items?: ResolvedNavItem[]; // for typescript
119
130
  sidebar?: ResolvedNavItem[]; // for typescript
120
131
  linkedSidebars?: string[]; // for typescript
121
- icon?: string;
122
- srcSet?: string;
132
+ icon?: string; // for typescript
133
+ srcSet?: string; // for typescript
134
+ languageInsensitive?: boolean; // for typescript
123
135
  [REDOCLY_TEAMS_RBAC]?: RbacScopeItems;
124
136
  [REDOCLY_ROUTE_RBAC]?: {
125
137
  slug?: string;
126
138
  fsPath?: string;
127
139
  };
128
-
129
- languageInsensitive?: boolean;
130
140
  }
131
141
  | {
132
142
  type: 'error';
@@ -144,15 +154,14 @@ export type ResolvedNavItem =
144
154
  items?: ResolvedNavItem[]; // for typescript
145
155
  sidebar?: ResolvedNavItem[]; // for typescript
146
156
  linkedSidebars?: string[]; // for typescript
157
+ icon?: string; // for typescript
158
+ srcSet?: string; // for typescript
159
+ languageInsensitive?: boolean; // for typescript
147
160
  [REDOCLY_TEAMS_RBAC]?: RbacScopeItems;
148
161
  [REDOCLY_ROUTE_RBAC]?: {
149
162
  slug?: string;
150
163
  fsPath?: string;
151
164
  };
152
-
153
- icon?: string; // for typescript
154
- srcSet?: string;
155
- languageInsensitive?: boolean;
156
165
  };
157
166
 
158
167
  export type ResolvedNavItemWithLink = (ResolvedNavLinkItem | ResolvedNavGroupItem) & {
@@ -160,7 +169,7 @@ export type ResolvedNavItemWithLink = (ResolvedNavLinkItem | ResolvedNavGroupIte
160
169
  };
161
170
 
162
171
  export type ResolvedSidebar = {
163
- relatedNavbarItem?: Breadcrumb;
172
+ relatedNavbarItem?: BreadcrumbItem;
164
173
  items: ResolvedNavItem[];
165
174
  };
166
175
 
@@ -199,8 +208,10 @@ export interface PageStaticData {
199
208
  export type UserData = {
200
209
  isAuthenticated: boolean;
201
210
  name: string;
211
+ email?: string;
202
212
  picture: string;
203
213
  logoutDisabled?: boolean;
214
+ teams?: string[];
204
215
  };
205
216
 
206
217
  export interface PageData {
@@ -298,9 +309,9 @@ export type OpenAPIOptions = {
298
309
  collapsedSidebar?: boolean;
299
310
  };
300
311
 
301
- export type MenuStyle = 'drilldown';
312
+ export type MenuStyle = 'drilldown' | 'drilldown-header';
302
313
 
303
- export type Breadcrumb = {
314
+ export type BreadcrumbItem = {
304
315
  label: string;
305
316
  link?: string;
306
317
  };
@@ -0,0 +1,183 @@
1
+ const codeSamplesConfigSchema = {
2
+ type: 'object',
3
+ properties: {
4
+ languages: {
5
+ type: 'array',
6
+ items: {
7
+ type: 'object',
8
+ properties: {
9
+ lang: {
10
+ type: 'string',
11
+ enum: [
12
+ 'curl',
13
+ 'JavaScript',
14
+ 'Node.js',
15
+ 'Python',
16
+ 'Java8+Apache',
17
+ 'Java',
18
+ 'C#',
19
+ 'C#+Newtonsoft',
20
+ 'PHP',
21
+ 'Go',
22
+ 'Ruby',
23
+ 'R',
24
+ 'Payload',
25
+ ],
26
+ },
27
+ label: { type: 'string' },
28
+ options: {
29
+ type: 'object',
30
+ properties: {
31
+ indent: { type: 'string' },
32
+ withImports: { type: 'boolean' },
33
+ withComments: { type: 'boolean' },
34
+ binary: { type: 'boolean' },
35
+ credentials: {
36
+ type: 'string',
37
+ enum: ['omit', 'same-origin', 'include'],
38
+ },
39
+ },
40
+ additionalProperties: false,
41
+ },
42
+ },
43
+ required: ['lang'],
44
+ additionalProperties: false,
45
+ },
46
+ },
47
+ skipOptionalParameters: { type: 'boolean' },
48
+ withOAuth2Call: { type: 'boolean' },
49
+ },
50
+ required: ['languages'],
51
+ additionalProperties: false,
52
+ } as const;
53
+
54
+ const downloadUrlsSchema = {
55
+ type: 'array',
56
+ items: {
57
+ type: 'object',
58
+ properties: {
59
+ title: { type: 'string' },
60
+ url: { type: 'string' },
61
+ },
62
+ required: ['url'],
63
+ additionalProperties: false,
64
+ },
65
+ } as const;
66
+
67
+ export const redocConfigSchema = {
68
+ type: 'object',
69
+ properties: {
70
+ licenseKey: { type: 'string' },
71
+ hideLoading: { type: 'boolean' },
72
+ disableRouter: { type: 'boolean' },
73
+ hideSidebar: { type: 'boolean' },
74
+ feedback: {
75
+ type: 'object',
76
+ properties: {
77
+ hide: {
78
+ type: 'boolean',
79
+ default: false,
80
+ },
81
+ type: {
82
+ type: 'string',
83
+ enum: ['rating', 'sentiment', 'comment', 'reasons', 'mood', 'scale'],
84
+ default: 'sentiment',
85
+ },
86
+ settings: {
87
+ type: 'object',
88
+ properties: {
89
+ label: { type: 'string' },
90
+ submitText: { type: 'string' },
91
+ buttonText: { type: 'string' },
92
+ component: {
93
+ type: 'string',
94
+ enum: ['radio', 'checkbox'],
95
+ default: 'checkbox',
96
+ },
97
+ items: { type: 'array', items: { type: 'string' }, minItems: 1 },
98
+ leftScaleLabel: { type: 'string' },
99
+ rightScaleLabel: { type: 'string' },
100
+ reasons: {
101
+ type: 'object',
102
+ properties: {
103
+ hide: {
104
+ type: 'boolean',
105
+ default: false,
106
+ },
107
+ component: {
108
+ type: 'string',
109
+ enum: ['radio', 'checkbox'],
110
+ default: 'checkbox',
111
+ },
112
+ label: { type: 'string' },
113
+ items: { type: 'array', items: { type: 'string' } },
114
+ },
115
+ additionalProperties: false,
116
+ },
117
+ comment: {
118
+ type: 'object',
119
+ properties: {
120
+ hide: {
121
+ type: 'boolean',
122
+ default: false,
123
+ },
124
+ label: { type: 'string' },
125
+ likeLabel: { type: 'string' },
126
+ dislikeLabel: { type: 'string' },
127
+ satisfiedLabel: { type: 'string' },
128
+ neutralLabel: { type: 'string' },
129
+ dissatisfiedLabel: { type: 'string' },
130
+ },
131
+ additionalProperties: false,
132
+ },
133
+ },
134
+ additionalProperties: false,
135
+ },
136
+ },
137
+ additionalProperties: false,
138
+ default: null,
139
+ nullable: true,
140
+ },
141
+ hideReplay: { type: 'boolean' },
142
+ oAuth2RedirectURI: { type: 'string', nullable: true },
143
+ corsProxyUrl: { type: 'string' },
144
+ sortRequiredPropsFirst: { type: 'boolean' },
145
+ sanitize: { type: 'boolean' },
146
+ hideDownloadButtons: { type: 'boolean' },
147
+ downloadUrls: downloadUrlsSchema,
148
+ onlyRequiredInSamples: { type: 'boolean' },
149
+ generatedSamplesMaxDepth: { oneOf: [{ type: 'number' }, { type: 'string' }] },
150
+ showExtensions: {
151
+ oneOf: [
152
+ { type: 'boolean' },
153
+ { type: 'string' },
154
+ { type: 'array', items: { type: 'string' } },
155
+ ],
156
+ },
157
+ hideSchemaTitles: { type: 'boolean' },
158
+ jsonSamplesExpandLevel: { oneOf: [{ type: 'number' }, { type: 'string' }] },
159
+ schemasExpansionLevel: { oneOf: [{ type: 'number' }, { type: 'string' }] },
160
+ mockServer: {
161
+ type: 'object',
162
+ properties: {
163
+ url: { type: 'string' },
164
+ position: { enum: ['first', 'last', 'replace', 'off'] },
165
+ description: { type: 'string' },
166
+ },
167
+ },
168
+ maxDisplayedEnumValues: { type: 'number' },
169
+ schemaDefinitionsTagName: { type: 'string' },
170
+ layout: { type: 'string', enum: ['stacked', 'three-panel'] },
171
+ hideInfoMetadata: { type: 'boolean' },
172
+ events: { type: 'object' },
173
+ skipBundle: { type: 'boolean' },
174
+ routingBasePath: { type: 'string' },
175
+ codeSamples: codeSamplesConfigSchema,
176
+ ignoreNamedSchemas: {
177
+ oneOf: [{ type: 'array', items: { type: 'string' } }, { type: 'string' }],
178
+ },
179
+ hidePropertiesPrefix: { type: 'boolean' },
180
+ excludeFromSearch: { type: 'boolean' },
181
+ },
182
+ additionalProperties: false,
183
+ } as const;
@@ -0,0 +1,80 @@
1
+ import type { ReactElement, ComponentType } from 'react';
2
+ import type { FromSchema } from 'json-schema-to-ts';
3
+ import type { Schema, ConfigFunction } from '@markdoc/markdoc/dist/src/types';
4
+ import type { redocConfigSchema } from './redoc-config-schema';
5
+
6
+ export type RedocConfigTypes = FromSchema<typeof redocConfigSchema> & {
7
+ markdocOptions?: {
8
+ tags: Record<string, Schema>;
9
+ nodes: Record<string, Schema>;
10
+ components: Record<string, ComponentType>;
11
+ variables?: Record<string, any>;
12
+ partials?: Record<string, any>;
13
+ functions?: Record<string, ConfigFunction>;
14
+ };
15
+ onDeepLinkClick?: ((link: string) => void) | undefined | null;
16
+ unstable_hooks?: HooksConfig;
17
+ requestInterceptor?: ((req: Request, operation: OperationModel) => void) | undefined | null;
18
+ unstable_externalCodeSamples?: Unstable_ExternalCodeSample[];
19
+ scrollYOffset?: number | string | (() => number);
20
+ };
21
+
22
+ type HooksConfig = {
23
+ AfterApiTitle?: HookConfig<{ info: OpenAPIInfo }>;
24
+ BeforeOperation?: HookConfig<{ operation: OperationModel }>;
25
+ BeforeOperationSummary?: HookConfig<{ operation: OperationModel }>;
26
+ AfterOperationSummary?: HookConfig<{ operation: OperationModel }>;
27
+ AfterOperation?: HookConfig<{ operation: OperationModel }>;
28
+ onInit?: (args: { store: Record<string, any> }) => void;
29
+ replaceSecurityLink?: (args: { securityRequirementId: string }) => string;
30
+ sanitize?: (raw: string) => string;
31
+ MiddlePanelFooter?: HookConfig<undefined>;
32
+ MiddlePanelHeader?: HookConfig<undefined>;
33
+ };
34
+
35
+ type OpenAPIInfo = {
36
+ title: string;
37
+ version: string;
38
+ description?: string;
39
+ summary?: string;
40
+ termsOfService?: string;
41
+ contact?: Record<string, any>;
42
+ license?: Record<string, any>;
43
+ 'x-logo'?: Record<string, any>;
44
+ 'x-metadata'?: Record<string, any>;
45
+ 'x-seo'?: Record<string, any>;
46
+ };
47
+
48
+ type HookResult =
49
+ | ReactElement
50
+ | {
51
+ html: string;
52
+ }
53
+ | null;
54
+
55
+ type HookConfig<T> = (props: T) => HookResult;
56
+
57
+ type Unstable_ExternalCodeSample = {
58
+ get: (source: ExternalSource) => string;
59
+ lang: string;
60
+ label?: string;
61
+ };
62
+
63
+ type ExternalSource = {
64
+ sample: Unstable_ExternalCodeSample;
65
+ operation: OperationModel;
66
+ exampleName?: string;
67
+ pathParams?: any;
68
+ properties?: any;
69
+ };
70
+
71
+ type OperationModel = {
72
+ id: string;
73
+ name: string;
74
+ description?: string | Record<string, any>;
75
+ href: string;
76
+ pointer: string;
77
+ httpVerb: string;
78
+ deprecated: boolean;
79
+ path: string;
80
+ };
@@ -0,0 +1,39 @@
1
+ type Removed<T, Drop> = T extends Record<string, any>
2
+ ? T extends ArrayLike<any>
3
+ ? Array<Removed<T[number], Drop>>
4
+ : {
5
+ [K in Exclude<keyof T, Drop>]: Removed<T[K], Drop>;
6
+ }
7
+ : T;
8
+
9
+ export function removePropertyRecursively<TObject extends object, TProp extends string>(
10
+ object: TObject,
11
+ propToRemove: TProp,
12
+ ): Removed<TObject, TProp> {
13
+ return Object.fromEntries(
14
+ Object.entries(object)
15
+ .map(([key, value]) => {
16
+ if (key === propToRemove) {
17
+ return undefined;
18
+ }
19
+
20
+ if (typeof value !== 'object' || !value) {
21
+ return [key, value];
22
+ }
23
+
24
+ if (Array.isArray(value)) {
25
+ return [
26
+ key,
27
+ value.map((arrayItem) =>
28
+ typeof arrayItem === 'object'
29
+ ? removePropertyRecursively(arrayItem, propToRemove)
30
+ : arrayItem,
31
+ ),
32
+ ];
33
+ }
34
+
35
+ return [key, removePropertyRecursively(value as Record<string, unknown>, propToRemove)];
36
+ })
37
+ .filter(Boolean) as [string, unknown][],
38
+ ) as Removed<TObject, TProp>;
39
+ }
@@ -4,6 +4,7 @@ import {
4
4
  ApigeeDevOnboardingIntegrationAuthType,
5
5
  } from './constants';
6
6
  import { themeConfigSchema } from './default-theme-config-schema';
7
+ import { removePropertyRecursively } from './remove-property-recursively';
7
8
  import { reuniteConfigSchema } from './reunite-config-schema';
8
9
 
9
10
  export const oidcIssuerMetadataSchema = {
@@ -352,6 +353,12 @@ export const redoclyConfigSchema = {
352
353
  type: 'object',
353
354
  additionalProperties: apiConfigSchema,
354
355
  },
356
+ rules: {
357
+ type: 'object',
358
+ additionalProperties: {
359
+ oneOf: [{ type: 'string' }, { type: 'object' }],
360
+ },
361
+ },
355
362
  ssoOnPrem: ssoOnPremConfigSchema,
356
363
  sso: ssoConfigSchema,
357
364
  residency: { type: 'string' },
@@ -373,7 +380,9 @@ export const redoclyConfigSchema = {
373
380
  } as const;
374
381
 
375
382
  const environmentSchema = {
376
- ...redoclyConfigSchema,
383
+ // We don't want to populate the env override with defaults
384
+ // Because during merge, defaults can override values from the root config
385
+ ...removePropertyRecursively(redoclyConfigSchema, 'default'),
377
386
  additionalProperties: false,
378
387
  } as const;
379
388
 
package/src/types.ts CHANGED
@@ -35,12 +35,14 @@ import type {
35
35
  seoConfigSchema,
36
36
  ssoOnPremConfigSchema,
37
37
  } from './root-config-schema';
38
+ import type { RedocConfigTypes } from './redoc-types';
38
39
 
39
40
  /**
40
41
  * Theme
41
42
  */
42
43
 
43
44
  export type ThemeConfig = FromSchema<typeof themeConfigSchema>;
45
+ export type RedocConfig = RedocConfigTypes;
44
46
  export type ProductConfig = FromSchema<typeof productConfigSchema>;
45
47
  export type ProductGoogleAnalyticsConfig = FromSchema<typeof productGoogleAnalyticsConfigSchema>;
46
48
  export type MarkdownConfig = FromSchema<typeof markdownConfigSchema>;