@redocly/config 0.5.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 +7 -1
  2. package/lib/.tsbuildinfo +1 -1
  3. package/lib/default-theme-config-schema.d.ts +305 -13
  4. package/lib/default-theme-config-schema.js +12 -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 +3413 -1845
  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 +305 -13
  22. package/lib-esm/default-theme-config-schema.js +12 -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 +3413 -1845
  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 +13 -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":"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"}
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.5.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' },
@@ -582,7 +588,7 @@ export const themeConfigSchema = {
582
588
  nextButton: {
583
589
  type: 'object',
584
590
  properties: {
585
- text: { type: 'string', default: 'Next to {{label}}' },
591
+ text: { type: 'string', default: 'Next page' },
586
592
  ...hideConfigSchema.properties,
587
593
  },
588
594
  additionalProperties: false,
@@ -591,7 +597,7 @@ export const themeConfigSchema = {
591
597
  previousButton: {
592
598
  type: 'object',
593
599
  properties: {
594
- text: { type: 'string', default: 'Back to {{label}}' },
600
+ text: { type: 'string', default: 'Previous page' },
595
601
  ...hideConfigSchema.properties,
596
602
  },
597
603
  additionalProperties: false,
@@ -645,7 +651,7 @@ export const themeConfigSchema = {
645
651
  default: {},
646
652
  },
647
653
  markdown: markdownConfigSchema,
648
- openapi: { type: 'object', additionalProperties: true }, // TODO: put the real schema here @Viacheslav
654
+ openapi: redocConfigSchema,
649
655
  graphql: { type: 'object', additionalProperties: true },
650
656
  analytics: {
651
657
  type: 'object',
@@ -660,12 +666,10 @@ export const themeConfigSchema = {
660
666
  ga: googleAnalyticsConfigSchema,
661
667
  },
662
668
  },
663
- userProfile: {
669
+ userMenu: {
664
670
  type: 'object',
665
671
  properties: {
666
- loginLabel: { type: 'string', default: 'Login' },
667
- logoutLabel: { type: 'string', default: 'Logout' },
668
- menu: {
672
+ items: {
669
673
  type: 'array',
670
674
  items: {
671
675
  type: 'object',
@@ -679,6 +683,7 @@ export const themeConfigSchema = {
679
683
  },
680
684
  default: [],
681
685
  },
686
+ hideLoginButton: { type: 'boolean' },
682
687
  ...hideConfigSchema.properties,
683
688
  },
684
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>;