@redocly/openapi-core 1.0.2 → 1.2.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 (80) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/bundle.d.ts +2 -2
  3. package/lib/bundle.js +24 -22
  4. package/lib/config/builtIn.js +4 -0
  5. package/lib/config/config-resolvers.js +19 -6
  6. package/lib/config/config.d.ts +9 -9
  7. package/lib/config/config.js +32 -17
  8. package/lib/config/rules.d.ts +2 -2
  9. package/lib/config/types.d.ts +9 -3
  10. package/lib/format/codeframes.d.ts +1 -1
  11. package/lib/index.d.ts +1 -1
  12. package/lib/index.js +7 -6
  13. package/lib/lint.js +10 -16
  14. package/lib/oas-types.d.ts +16 -10
  15. package/lib/oas-types.js +52 -26
  16. package/lib/rules/async2/channels-kebab-case.d.ts +2 -0
  17. package/lib/rules/async2/channels-kebab-case.js +19 -0
  18. package/lib/rules/async2/index.d.ts +12 -0
  19. package/lib/rules/async2/index.js +22 -0
  20. package/lib/rules/async2/no-channel-trailing-slash.d.ts +2 -0
  21. package/lib/rules/async2/no-channel-trailing-slash.js +16 -0
  22. package/lib/rules/common/no-path-trailing-slash.js +2 -2
  23. package/lib/rules/common/scalar-property-missing-example.js +1 -1
  24. package/lib/rules/common/spec.d.ts +2 -2
  25. package/lib/rules/common/spec.js +3 -3
  26. package/lib/rules/common/tags-alphabetical.js +5 -2
  27. package/lib/rules/oas2/index.js +1 -1
  28. package/lib/rules/oas2/remove-unused-components.js +4 -1
  29. package/lib/rules/oas3/index.js +1 -1
  30. package/lib/rules/oas3/remove-unused-components.js +4 -1
  31. package/lib/rules/utils.d.ts +1 -1
  32. package/lib/types/asyncapi.d.ts +2 -0
  33. package/lib/types/asyncapi.js +1027 -0
  34. package/lib/types/portal-config-schema.d.ts +2533 -0
  35. package/lib/types/portal-config-schema.js +304 -0
  36. package/lib/types/redocly-yaml.js +26 -20
  37. package/lib/types/{config-external-schemas.d.ts → theme-config.d.ts} +140 -575
  38. package/lib/types/{config-external-schemas.js → theme-config.js} +55 -261
  39. package/lib/typings/asyncapi.d.ts +21 -0
  40. package/lib/typings/asyncapi.js +2 -0
  41. package/lib/visitors.d.ts +12 -0
  42. package/lib/walk.d.ts +3 -3
  43. package/package.json +3 -2
  44. package/src/__tests__/lint.test.ts +38 -6
  45. package/src/bundle.ts +27 -28
  46. package/src/config/__tests__/__snapshots__/config.test.ts.snap +24 -0
  47. package/src/config/__tests__/config.test.ts +15 -4
  48. package/src/config/builtIn.ts +4 -0
  49. package/src/config/config-resolvers.ts +25 -6
  50. package/src/config/config.ts +51 -27
  51. package/src/config/rules.ts +2 -2
  52. package/src/config/types.ts +14 -4
  53. package/src/index.ts +7 -1
  54. package/src/lint.ts +13 -22
  55. package/src/oas-types.ts +59 -21
  56. package/src/rules/async2/__tests__/channels-kebab-case.test.ts +141 -0
  57. package/src/rules/async2/__tests__/no-channel-trailing-slash.test.ts +97 -0
  58. package/src/rules/async2/channels-kebab-case.ts +18 -0
  59. package/src/rules/async2/index.ts +22 -0
  60. package/src/rules/async2/no-channel-trailing-slash.ts +15 -0
  61. package/src/rules/common/__tests__/no-path-trailing-slash.test.ts +41 -0
  62. package/src/rules/common/__tests__/tags-alphabetical.test.ts +58 -0
  63. package/src/rules/common/no-path-trailing-slash.ts +2 -2
  64. package/src/rules/common/scalar-property-missing-example.ts +2 -2
  65. package/src/rules/common/spec.ts +2 -2
  66. package/src/rules/common/tags-alphabetical.ts +8 -4
  67. package/src/rules/oas2/__tests__/remove-unused-components.test.ts +155 -0
  68. package/src/rules/oas2/index.ts +2 -2
  69. package/src/rules/oas2/remove-unused-components.ts +6 -1
  70. package/src/rules/oas3/__tests__/remove-unused-components.test.ts +171 -0
  71. package/src/rules/oas3/index.ts +2 -2
  72. package/src/rules/oas3/remove-unused-components.ts +6 -1
  73. package/src/types/asyncapi.ts +1136 -0
  74. package/src/types/portal-config-schema.ts +343 -0
  75. package/src/types/redocly-yaml.ts +23 -34
  76. package/src/types/{config-external-schemas.ts → theme-config.ts} +60 -294
  77. package/src/typings/asyncapi.ts +26 -0
  78. package/src/visitors.ts +22 -0
  79. package/src/walk.ts +3 -3
  80. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rootRedoclyConfigSchema = exports.environmentSchema = exports.redoclyConfigSchema = exports.apiConfigSchema = exports.ssoConfigSchema = void 0;
4
+ const config_1 = require("../config");
5
+ const oidcIssuerMetadataSchema = {
6
+ type: 'object',
7
+ properties: {
8
+ end_session_endpoint: { type: 'string' },
9
+ token_endpoint: { type: 'string' },
10
+ authorization_endpoint: { type: 'string' },
11
+ jwks_uri: { type: 'string' },
12
+ },
13
+ required: ['token_endpoint', 'authorization_endpoint'],
14
+ additionalProperties: true,
15
+ };
16
+ const oidcProviderConfigSchema = {
17
+ type: 'object',
18
+ properties: {
19
+ type: { type: 'string', const: config_1.AuthProviderType.OIDC },
20
+ title: { type: 'string' },
21
+ configurationUrl: { type: 'string', minLength: 1 },
22
+ configuration: oidcIssuerMetadataSchema,
23
+ clientId: { type: 'string', minLength: 1 },
24
+ clientSecret: { type: 'string', minLength: 1 },
25
+ teamsClaimName: { type: 'string' },
26
+ teamsClaimMap: { type: 'object', additionalProperties: { type: 'string' } },
27
+ defaultTeams: { type: 'array', items: { type: 'string' } },
28
+ scopes: { type: 'array', items: { type: 'string' } },
29
+ tokenExpirationTime: { type: 'number' },
30
+ authorizationRequestCustomParams: { type: 'object', additionalProperties: { type: 'string' } },
31
+ tokenRequestCustomParams: { type: 'object', additionalProperties: { type: 'string' } },
32
+ audience: { type: 'array', items: { type: 'string' } },
33
+ },
34
+ required: ['type', 'clientId', 'clientSecret'],
35
+ oneOf: [{ required: ['configurationUrl'] }, { required: ['configuration'] }],
36
+ additionalProperties: false,
37
+ };
38
+ const saml2ProviderConfigSchema = {
39
+ type: 'object',
40
+ properties: {
41
+ type: { type: 'string', const: config_1.AuthProviderType.SAML2 },
42
+ title: { type: 'string' },
43
+ issuerId: { type: 'string' },
44
+ entityId: { type: 'string' },
45
+ ssoUrl: { type: 'string' },
46
+ x509PublicCert: { type: 'string' },
47
+ teamsAttributeName: { type: 'string', default: config_1.DEFAULT_TEAM_CLAIM_NAME },
48
+ teamsAttributeMap: { type: 'object', additionalProperties: { type: 'string' } },
49
+ defaultTeams: { type: 'array', items: { type: 'string' } },
50
+ },
51
+ additionalProperties: false,
52
+ required: ['type', 'issuerId', 'ssoUrl', 'x509PublicCert'],
53
+ };
54
+ const basicAuthProviderConfigSchema = {
55
+ type: 'object',
56
+ properties: {
57
+ type: { type: 'string', const: config_1.AuthProviderType.BASIC },
58
+ title: { type: 'string' },
59
+ credentials: {
60
+ type: 'array',
61
+ items: {
62
+ type: 'object',
63
+ properties: {
64
+ username: { type: 'string' },
65
+ password: { type: 'string' },
66
+ passwordHash: { type: 'string' },
67
+ teams: { type: 'array', items: { type: 'string' } },
68
+ },
69
+ required: ['username'],
70
+ additionalProperties: false,
71
+ },
72
+ },
73
+ },
74
+ required: ['type', 'credentials'],
75
+ additionalProperties: false,
76
+ };
77
+ const authProviderConfigSchema = {
78
+ oneOf: [oidcProviderConfigSchema, saml2ProviderConfigSchema, basicAuthProviderConfigSchema],
79
+ discriminator: { propertyName: 'type' },
80
+ };
81
+ exports.ssoConfigSchema = {
82
+ type: 'object',
83
+ additionalProperties: authProviderConfigSchema,
84
+ };
85
+ const redirectConfigSchema = {
86
+ type: 'object',
87
+ properties: {
88
+ to: { type: 'string' },
89
+ type: { type: 'number', default: 301 },
90
+ },
91
+ required: ['to'],
92
+ additionalProperties: false,
93
+ };
94
+ exports.apiConfigSchema = {
95
+ type: 'object',
96
+ properties: {
97
+ root: { type: 'string' },
98
+ rbac: { type: 'object', additionalProperties: true },
99
+ theme: {
100
+ type: 'object',
101
+ properties: {
102
+ openapi: { type: 'object', additionalProperties: true },
103
+ },
104
+ additionalProperties: false,
105
+ },
106
+ title: { type: 'string' },
107
+ metadata: { type: 'object', additionalProperties: true },
108
+ },
109
+ additionalProperties: true,
110
+ required: ['root'],
111
+ };
112
+ const metadataConfigSchema = {
113
+ type: 'object',
114
+ additionalProperties: true,
115
+ };
116
+ const seoConfigSchema = {
117
+ type: 'object',
118
+ properties: {
119
+ title: { type: 'string' },
120
+ description: { type: 'string' },
121
+ siteUrl: { type: 'string' },
122
+ image: { type: 'string' },
123
+ keywords: { type: 'array', items: { type: 'string' } },
124
+ lang: { type: 'string' },
125
+ jsonLd: { type: 'object' },
126
+ meta: {
127
+ type: 'array',
128
+ items: {
129
+ type: 'object',
130
+ properties: {
131
+ name: { type: 'string' },
132
+ content: { type: 'string' },
133
+ },
134
+ required: ['name', 'content'],
135
+ additionalProperties: false,
136
+ },
137
+ },
138
+ },
139
+ additionalProperties: false,
140
+ };
141
+ const rbacScopeItemsSchema = { type: 'object', additionalProperties: { type: 'string' } };
142
+ const rbacConfigSchema = {
143
+ type: 'object',
144
+ properties: {
145
+ defaults: rbacScopeItemsSchema,
146
+ },
147
+ additionalProperties: rbacScopeItemsSchema,
148
+ };
149
+ const graviteeAdapterConfigSchema = {
150
+ type: 'object',
151
+ properties: {
152
+ type: { type: 'string', const: 'GRAVITEE' },
153
+ apiBaseUrl: { type: 'string' },
154
+ env: { type: 'string' },
155
+ allowApiProductsOutsideCatalog: { type: 'boolean', default: false },
156
+ stage: { type: 'string', default: 'non-production' },
157
+ auth: { type: 'object', properties: { static: { type: 'string' } } },
158
+ },
159
+ additionalProperties: false,
160
+ required: ['type', 'apiBaseUrl'],
161
+ };
162
+ const apigeeAdapterAuthOauth2Schema = {
163
+ type: 'object',
164
+ properties: {
165
+ type: { type: 'string', const: config_1.ApigeeDevOnboardingIntegrationAuthType.OAUTH2 },
166
+ tokenEndpoint: { type: 'string' },
167
+ clientId: { type: 'string' },
168
+ clientSecret: { type: 'string' },
169
+ },
170
+ additionalProperties: false,
171
+ required: ['type', 'tokenEndpoint', 'clientId', 'clientSecret'],
172
+ };
173
+ const apigeeAdapterAuthServiceAccountSchema = {
174
+ type: 'object',
175
+ properties: {
176
+ type: { type: 'string', const: config_1.ApigeeDevOnboardingIntegrationAuthType.SERVICE_ACCOUNT },
177
+ serviceAccountEmail: { type: 'string' },
178
+ serviceAccountPrivateKey: { type: 'string' },
179
+ },
180
+ additionalProperties: false,
181
+ required: ['type', 'serviceAccountEmail', 'serviceAccountPrivateKey'],
182
+ };
183
+ const apigeeXAdapterConfigSchema = {
184
+ type: 'object',
185
+ properties: {
186
+ type: { type: 'string', const: 'APIGEE_X' },
187
+ apiUrl: { type: 'string' },
188
+ stage: { type: 'string', default: 'non-production' },
189
+ organizationName: { type: 'string' },
190
+ ignoreApiProducts: { type: 'array', items: { type: 'string' } },
191
+ allowApiProductsOutsideCatalog: { type: 'boolean', default: false },
192
+ auth: {
193
+ type: 'object',
194
+ oneOf: [apigeeAdapterAuthOauth2Schema, apigeeAdapterAuthServiceAccountSchema],
195
+ discriminator: { propertyName: 'type' },
196
+ },
197
+ },
198
+ additionalProperties: false,
199
+ required: ['type', 'organizationName', 'auth'],
200
+ };
201
+ const apigeeEdgeAdapterConfigSchema = Object.assign(Object.assign({}, apigeeXAdapterConfigSchema), { properties: Object.assign(Object.assign({}, apigeeXAdapterConfigSchema.properties), { type: { type: 'string', const: 'APIGEE_EDGE' } }) });
202
+ const devOnboardingAdapterConfigSchema = {
203
+ type: 'object',
204
+ oneOf: [apigeeXAdapterConfigSchema, apigeeEdgeAdapterConfigSchema, graviteeAdapterConfigSchema],
205
+ discriminator: { propertyName: 'type' },
206
+ };
207
+ const devOnboardingConfigSchema = {
208
+ type: 'object',
209
+ required: ['adapters'],
210
+ additionalProperties: false,
211
+ properties: {
212
+ adapters: {
213
+ type: 'array',
214
+ items: devOnboardingAdapterConfigSchema,
215
+ },
216
+ },
217
+ };
218
+ const responseHeaderSchema = {
219
+ type: 'object',
220
+ properties: {
221
+ name: { type: 'string' },
222
+ value: { type: 'string' },
223
+ },
224
+ additionalProperties: false,
225
+ required: ['name', 'value'],
226
+ };
227
+ exports.redoclyConfigSchema = {
228
+ type: 'object',
229
+ properties: {
230
+ licenseKey: { type: 'string' },
231
+ theme: { type: 'object', default: {} },
232
+ redirects: { type: 'object', additionalProperties: redirectConfigSchema, default: {} },
233
+ seo: seoConfigSchema,
234
+ rbac: rbacConfigSchema,
235
+ responseHeaders: {
236
+ type: 'object',
237
+ additionalProperties: {
238
+ type: 'array',
239
+ items: responseHeaderSchema,
240
+ },
241
+ },
242
+ mockServer: {
243
+ type: 'object',
244
+ properties: {
245
+ off: { type: 'boolean', default: false },
246
+ position: { type: 'string', enum: ['first', 'last', 'replace', 'off'], default: 'first' },
247
+ strictExamples: { type: 'boolean', default: false },
248
+ errorIfForcedExampleNotFound: { type: 'boolean', default: false },
249
+ description: { type: 'string' },
250
+ },
251
+ },
252
+ apis: {
253
+ type: 'object',
254
+ additionalProperties: exports.apiConfigSchema,
255
+ },
256
+ sso: exports.ssoConfigSchema,
257
+ developerOnboarding: devOnboardingConfigSchema,
258
+ i18n: {
259
+ type: 'object',
260
+ properties: {
261
+ defaultLocale: {
262
+ type: 'string',
263
+ },
264
+ locales: {
265
+ type: 'array',
266
+ items: {
267
+ type: 'object',
268
+ properties: {
269
+ code: {
270
+ type: 'string',
271
+ },
272
+ name: {
273
+ type: 'string',
274
+ },
275
+ },
276
+ required: ['code'],
277
+ },
278
+ },
279
+ },
280
+ additionalProperties: false,
281
+ required: ['defaultLocale', 'locales'],
282
+ },
283
+ metadata: metadataConfigSchema,
284
+ },
285
+ default: {},
286
+ additionalProperties: true,
287
+ };
288
+ exports.environmentSchema = {
289
+ oneOf: [
290
+ Object.assign(Object.assign({}, exports.redoclyConfigSchema), { additionalProperties: false }),
291
+ {
292
+ type: 'object',
293
+ properties: {
294
+ $ref: { type: 'string' },
295
+ },
296
+ required: ['$ref'],
297
+ additionalProperties: false,
298
+ },
299
+ ],
300
+ };
301
+ exports.rootRedoclyConfigSchema = Object.assign(Object.assign({}, exports.redoclyConfigSchema), { properties: Object.assign(Object.assign({}, exports.redoclyConfigSchema.properties), { env: {
302
+ type: 'object',
303
+ additionalProperties: exports.environmentSchema,
304
+ } }), default: {}, required: ['redirects'] });
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigTypes = void 0;
4
- const config_external_schemas_1 = require("./config-external-schemas");
4
+ const portal_config_schema_1 = require("./portal-config-schema");
5
+ const theme_config_1 = require("./theme-config");
5
6
  const _1 = require(".");
7
+ const oas3_1_1 = require("./oas3_1");
6
8
  const utils_1 = require("../utils");
7
9
  const builtInRulesList = [
8
10
  'spec',
@@ -59,6 +61,8 @@ const builtInRulesList = [
59
61
  'required-string-property-missing-min-length',
60
62
  'spec-strict-refs',
61
63
  'component-name-unique',
64
+ 'channels-kebab-case',
65
+ 'no-channel-trailing-slash',
62
66
  ];
63
67
  const nodeTypesList = [
64
68
  'any',
@@ -120,6 +124,7 @@ const nodeTypesList = [
120
124
  'XCodeSampleList',
121
125
  'WebhooksMap',
122
126
  'SpecExtension',
127
+ 'Message',
123
128
  ];
124
129
  const ConfigStyleguide = {
125
130
  properties: {
@@ -150,7 +155,7 @@ const RootConfigStyleguide = {
150
155
  } }, ConfigStyleguide.properties),
151
156
  };
152
157
  const ConfigRoot = {
153
- properties: Object.assign(Object.assign({ organization: { type: 'string' }, apis: 'ConfigApis' }, RootConfigStyleguide.properties), { theme: 'ConfigRootTheme', 'features.openapi': 'ConfigReferenceDocs', 'features.mockServer': 'ConfigMockServer', region: { enum: ['us', 'eu'] }, telemetry: { enum: ['on', 'off'] }, resolve: {
158
+ properties: Object.assign(Object.assign(Object.assign({}, portal_config_schema_1.rootRedoclyConfigSchema.properties), RootConfigStyleguide.properties), { apis: 'ConfigApis', theme: 'ConfigRootTheme', 'features.openapi': 'ConfigReferenceDocs', 'features.mockServer': 'ConfigMockServer', organization: { type: 'string' }, region: { enum: ['us', 'eu'] }, telemetry: { enum: ['on', 'off'] }, resolve: {
154
159
  properties: {
155
160
  http: 'ConfigHTTP',
156
161
  doNotResolveExamples: { type: 'boolean' },
@@ -160,24 +165,24 @@ const ConfigRoot = {
160
165
  items: {
161
166
  type: 'string',
162
167
  },
163
- }, redirects: { type: 'object', additionalProperties: config_external_schemas_1.redirectConfigSchema }, licenseKey: { type: 'string' }, seo: config_external_schemas_1.seoConfigSchema, rbac: config_external_schemas_1.rbacConfigSchema, responseHeaders: config_external_schemas_1.responseHeaderSchema, mockServer: config_external_schemas_1.mockServerConfigSchema, sso: config_external_schemas_1.ssoConfigSchema, developerOnboarding: config_external_schemas_1.devOnboardingConfigSchema, i18n: config_external_schemas_1.i18nConfigSchema }),
168
+ } }),
164
169
  };
165
170
  const ConfigApis = {
166
171
  properties: {},
167
172
  additionalProperties: 'ConfigApisProperties',
168
173
  };
169
174
  const ConfigApisProperties = {
170
- properties: Object.assign(Object.assign({ root: { type: 'string' }, labels: {
175
+ properties: Object.assign(Object.assign(Object.assign(Object.assign({}, portal_config_schema_1.apiConfigSchema.properties), { root: { type: 'string' }, labels: {
171
176
  type: 'array',
172
177
  items: {
173
178
  type: 'string',
174
179
  },
175
- }, lint: 'ConfigStyleguide', styleguide: 'ConfigStyleguide' }, ConfigStyleguide.properties), { 'features.openapi': 'ConfigReferenceDocs', 'features.mockServer': 'ConfigMockServer', theme: 'ConfigRootTheme', files: {
180
+ }, lint: 'ConfigStyleguide', styleguide: 'ConfigStyleguide' }), ConfigStyleguide.properties), { 'features.openapi': 'ConfigReferenceDocs', 'features.mockServer': 'ConfigMockServer', theme: 'ConfigRootTheme', files: {
176
181
  type: 'array',
177
182
  items: {
178
183
  type: 'string',
179
184
  },
180
- }, title: { type: 'string' }, rbac: { type: 'object' }, metadata: { type: 'object' } }),
185
+ } }),
181
186
  required: ['root'],
182
187
  };
183
188
  const ConfigHTTP = {
@@ -191,7 +196,7 @@ const ConfigHTTP = {
191
196
  },
192
197
  };
193
198
  const ConfigRootTheme = {
194
- properties: Object.assign(Object.assign({}, config_external_schemas_1.themeConfigSchema.properties), { openapi: 'ConfigReferenceDocs', mockServer: 'ConfigMockServer' }),
199
+ properties: Object.assign(Object.assign({}, theme_config_1.themeConfigSchema.properties), { openapi: 'ConfigReferenceDocs', mockServer: 'ConfigMockServer' }),
195
200
  };
196
201
  const Rules = {
197
202
  properties: {},
@@ -211,6 +216,9 @@ const Rules = {
211
216
  return 'ObjectRule';
212
217
  }
213
218
  }
219
+ else if (key === 'metadata-schema' || key === 'custom-fields-schema') {
220
+ return 'Schema';
221
+ }
214
222
  // Otherwise is considered as invalid
215
223
  return;
216
224
  },
@@ -482,7 +490,7 @@ const TryItButton = {
482
490
  fullWidth: { type: 'boolean' },
483
491
  },
484
492
  };
485
- const Components = {
493
+ const ConfigThemeComponents = {
486
494
  properties: {
487
495
  buttons: 'ButtonsConfig',
488
496
  httpBadges: 'HttpBadgesConfig',
@@ -523,7 +531,7 @@ const SchemaColorsConfig = {
523
531
  border: { type: 'string' },
524
532
  },
525
533
  };
526
- const Schema = {
534
+ const ConfigThemeSchema = {
527
535
  properties: {
528
536
  breakFieldNames: { type: 'boolean' },
529
537
  caretColor: { type: 'string' },
@@ -605,7 +613,7 @@ const CodeBlock = {
605
613
  tokens: 'TokenProps',
606
614
  },
607
615
  };
608
- const Logo = {
616
+ const ConfigThemeLogo = {
609
617
  properties: {
610
618
  gutter: { type: 'string' },
611
619
  maxHeight: { type: 'string' },
@@ -654,13 +662,13 @@ const ConfigTheme = {
654
662
  breakpoints: 'Breakpoints',
655
663
  codeBlock: 'CodeBlock',
656
664
  colors: 'ThemeColors',
657
- components: 'Components',
665
+ components: 'ConfigThemeComponents',
658
666
  layout: 'Layout',
659
- logo: 'Logo',
667
+ logo: 'ConfigThemeLogo',
660
668
  fab: 'Fab',
661
669
  overrides: 'Overrides',
662
670
  rightPanel: 'RightPanel',
663
- schema: 'Schema',
671
+ schema: 'ConfigThemeSchema',
664
672
  shape: 'Shape',
665
673
  sidebar: 'Sidebar',
666
674
  spacing: 'ThemeSpacing',
@@ -811,8 +819,7 @@ const ConfigMockServer = {
811
819
  errorIfForcedExampleNotFound: { type: 'boolean' },
812
820
  },
813
821
  };
814
- exports.ConfigTypes = {
815
- Assert,
822
+ exports.ConfigTypes = Object.assign(Object.assign({}, oas3_1_1.Oas3_1Types), { Assert,
816
823
  ConfigRoot,
817
824
  ConfigApis,
818
825
  ConfigApisProperties,
@@ -857,7 +864,7 @@ exports.ConfigTypes = {
857
864
  LinksConfig,
858
865
  TokenProps,
859
866
  CodeBlock,
860
- Logo,
867
+ ConfigThemeLogo,
861
868
  Fab,
862
869
  ButtonOverrides,
863
870
  Overrides,
@@ -868,12 +875,11 @@ exports.ConfigTypes = {
868
875
  ThemeSpacing,
869
876
  GenerateCodeSamples,
870
877
  GroupItemsConfig,
871
- Components,
878
+ ConfigThemeComponents,
872
879
  Layout,
873
- Schema,
880
+ ConfigThemeSchema,
874
881
  Sidebar,
875
882
  Heading,
876
883
  Typography,
877
884
  AssertionDefinitionAssertions,
878
- AssertionDefinitionSubject,
879
- };
885
+ AssertionDefinitionSubject });