@redocly/config 0.1.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.
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rootRedoclyConfigSchema = exports.redoclyConfigSchema = exports.i18ConfigSchema = exports.devOnboardingAdapterConfigSchema = exports.apigeeEdgeAdapterConfigSchema = exports.apigeeXAdapterConfigSchema = exports.apigeeAdapterAuthServiceAccountSchema = exports.apigeeAdapterAuthOauth2Schema = exports.graviteeAdapterConfigSchema = exports.rbacConfigSchema = exports.rbacScopeItemsSchema = exports.seoConfigSchema = exports.apiConfigSchema = exports.redirectsConfigSchema = exports.redirectConfigSchema = exports.ssoConfigSchema = exports.ssoOnPremConfigSchema = exports.authProviderConfigSchema = exports.basicAuthProviderConfigSchema = exports.saml2ProviderConfigSchema = exports.oidcProviderConfigSchema = exports.oidcIssuerMetadataSchema = void 0;
4
+ const constants_1 = require("./constants");
5
+ const default_theme_config_schema_1 = require("./default-theme-config-schema");
6
+ exports.oidcIssuerMetadataSchema = {
7
+ type: 'object',
8
+ properties: {
9
+ end_session_endpoint: { type: 'string' },
10
+ token_endpoint: { type: 'string' },
11
+ authorization_endpoint: { type: 'string' },
12
+ jwks_uri: { type: 'string' },
13
+ },
14
+ required: ['token_endpoint', 'authorization_endpoint'],
15
+ additionalProperties: true,
16
+ };
17
+ exports.oidcProviderConfigSchema = {
18
+ type: 'object',
19
+ properties: {
20
+ type: { type: 'string', const: constants_1.AuthProviderType.OIDC },
21
+ title: { type: 'string' },
22
+ pkce: { type: 'boolean', default: false },
23
+ configurationUrl: { type: 'string', minLength: 1 },
24
+ configuration: exports.oidcIssuerMetadataSchema,
25
+ clientId: { type: 'string', minLength: 1 },
26
+ clientSecret: { type: 'string', minLength: 0 },
27
+ teamsClaimName: { type: 'string' },
28
+ teamsClaimMap: { type: 'object', additionalProperties: { type: 'string' } },
29
+ defaultTeams: { type: 'array', items: { type: 'string' } },
30
+ scopes: { type: 'array', items: { type: 'string' } },
31
+ tokenExpirationTime: { type: 'number' },
32
+ authorizationRequestCustomParams: { type: 'object', additionalProperties: { type: 'string' } },
33
+ tokenRequestCustomParams: { type: 'object', additionalProperties: { type: 'string' } },
34
+ audience: { type: 'array', items: { type: 'string' } },
35
+ },
36
+ required: ['type', 'clientId'],
37
+ oneOf: [{ required: ['configurationUrl'] }, { required: ['configuration'] }],
38
+ additionalProperties: false,
39
+ };
40
+ exports.saml2ProviderConfigSchema = {
41
+ type: 'object',
42
+ properties: {
43
+ type: { type: 'string', const: constants_1.AuthProviderType.SAML2 },
44
+ title: { type: 'string' },
45
+ issuerId: { type: 'string' },
46
+ entityId: { type: 'string' },
47
+ ssoUrl: { type: 'string' },
48
+ x509PublicCert: { type: 'string' },
49
+ teamsAttributeName: { type: 'string', default: constants_1.DEFAULT_TEAM_CLAIM_NAME },
50
+ teamsAttributeMap: { type: 'object', additionalProperties: { type: 'string' } },
51
+ defaultTeams: { type: 'array', items: { type: 'string' } },
52
+ },
53
+ additionalProperties: false,
54
+ required: ['type', 'issuerId', 'ssoUrl', 'x509PublicCert'],
55
+ };
56
+ exports.basicAuthProviderConfigSchema = {
57
+ type: 'object',
58
+ properties: {
59
+ type: { type: 'string', const: constants_1.AuthProviderType.BASIC },
60
+ title: { type: 'string' },
61
+ credentials: {
62
+ type: 'array',
63
+ items: {
64
+ type: 'object',
65
+ properties: {
66
+ username: { type: 'string' },
67
+ password: { type: 'string' },
68
+ passwordHash: { type: 'string' },
69
+ teams: { type: 'array', items: { type: 'string' } },
70
+ },
71
+ required: ['username'],
72
+ additionalProperties: false,
73
+ },
74
+ },
75
+ },
76
+ required: ['type', 'credentials'],
77
+ additionalProperties: false,
78
+ };
79
+ exports.authProviderConfigSchema = {
80
+ oneOf: [exports.oidcProviderConfigSchema, exports.saml2ProviderConfigSchema, exports.basicAuthProviderConfigSchema],
81
+ discriminator: { propertyName: 'type' },
82
+ };
83
+ exports.ssoOnPremConfigSchema = {
84
+ type: 'object',
85
+ additionalProperties: exports.authProviderConfigSchema,
86
+ };
87
+ exports.ssoConfigSchema = {
88
+ oneOf: [
89
+ {
90
+ type: 'array',
91
+ items: {
92
+ type: 'string',
93
+ enum: ['REDOCLY', 'CORPORATE', 'GUEST'],
94
+ },
95
+ uniqueItems: true,
96
+ },
97
+ {
98
+ type: 'string',
99
+ enum: ['REDOCLY', 'CORPORATE', 'GUEST'],
100
+ },
101
+ ],
102
+ };
103
+ exports.redirectConfigSchema = {
104
+ type: 'object',
105
+ properties: {
106
+ to: { type: 'string' },
107
+ type: { type: 'number', default: 301 },
108
+ },
109
+ additionalProperties: false,
110
+ };
111
+ exports.redirectsConfigSchema = {
112
+ type: 'object',
113
+ additionalProperties: exports.redirectConfigSchema,
114
+ default: {},
115
+ };
116
+ exports.apiConfigSchema = {
117
+ type: 'object',
118
+ properties: {
119
+ root: { type: 'string' },
120
+ output: { type: 'string', pattern: '(.ya?ml|.json)$' },
121
+ rbac: { type: 'object', additionalProperties: true },
122
+ theme: {
123
+ type: 'object',
124
+ properties: {
125
+ openapi: default_theme_config_schema_1.themeConfigSchema.properties.openapi,
126
+ graphql: default_theme_config_schema_1.themeConfigSchema.properties.graphql,
127
+ },
128
+ additionalProperties: false,
129
+ },
130
+ title: { type: 'string' },
131
+ metadata: { type: 'object', additionalProperties: true },
132
+ rules: { type: 'object', additionalProperties: true },
133
+ decorators: { type: 'object', additionalProperties: true },
134
+ preprocessors: { type: 'object', additionalProperties: true },
135
+ },
136
+ required: ['root'],
137
+ };
138
+ const metadataConfigSchema = {
139
+ type: 'object',
140
+ additionalProperties: true,
141
+ };
142
+ exports.seoConfigSchema = {
143
+ type: 'object',
144
+ properties: {
145
+ title: { type: 'string' },
146
+ description: { type: 'string' },
147
+ siteUrl: { type: 'string' },
148
+ image: { type: 'string' },
149
+ keywords: {
150
+ oneOf: [{ type: 'array', items: { type: 'string' } }, { type: 'string' }],
151
+ },
152
+ lang: { type: 'string' },
153
+ jsonLd: { type: 'object' },
154
+ meta: {
155
+ type: 'array',
156
+ items: {
157
+ type: 'object',
158
+ properties: {
159
+ name: { type: 'string' },
160
+ content: { type: 'string' },
161
+ },
162
+ required: ['name', 'content'],
163
+ additionalProperties: false,
164
+ },
165
+ },
166
+ },
167
+ additionalProperties: false,
168
+ };
169
+ exports.rbacScopeItemsSchema = {
170
+ type: 'object',
171
+ additionalProperties: { type: 'string' },
172
+ };
173
+ exports.rbacConfigSchema = {
174
+ type: 'object',
175
+ properties: {
176
+ cms: exports.rbacScopeItemsSchema,
177
+ reunite: exports.rbacScopeItemsSchema,
178
+ content: {
179
+ type: 'object',
180
+ properties: {
181
+ '**': exports.rbacScopeItemsSchema,
182
+ },
183
+ additionalProperties: exports.rbacScopeItemsSchema,
184
+ },
185
+ },
186
+ additionalProperties: exports.rbacScopeItemsSchema,
187
+ };
188
+ exports.graviteeAdapterConfigSchema = {
189
+ type: 'object',
190
+ properties: {
191
+ type: { type: 'string', const: 'GRAVITEE' },
192
+ apiBaseUrl: { type: 'string' },
193
+ env: { type: 'string' },
194
+ allowApiProductsOutsideCatalog: { type: 'boolean', default: false },
195
+ stage: { type: 'string', default: 'non-production' },
196
+ auth: { type: 'object', properties: { static: { type: 'string' } } },
197
+ },
198
+ additionalProperties: false,
199
+ required: ['type', 'apiBaseUrl'],
200
+ };
201
+ exports.apigeeAdapterAuthOauth2Schema = {
202
+ type: 'object',
203
+ properties: {
204
+ type: { type: 'string', const: constants_1.ApigeeDevOnboardingIntegrationAuthType.OAUTH2 },
205
+ tokenEndpoint: { type: 'string' },
206
+ clientId: { type: 'string' },
207
+ clientSecret: { type: 'string' },
208
+ },
209
+ additionalProperties: false,
210
+ required: ['type', 'tokenEndpoint', 'clientId', 'clientSecret'],
211
+ };
212
+ exports.apigeeAdapterAuthServiceAccountSchema = {
213
+ type: 'object',
214
+ properties: {
215
+ type: { type: 'string', const: constants_1.ApigeeDevOnboardingIntegrationAuthType.SERVICE_ACCOUNT },
216
+ serviceAccountEmail: { type: 'string' },
217
+ serviceAccountPrivateKey: { type: 'string' },
218
+ },
219
+ additionalProperties: false,
220
+ required: ['type', 'serviceAccountEmail', 'serviceAccountPrivateKey'],
221
+ };
222
+ exports.apigeeXAdapterConfigSchema = {
223
+ type: 'object',
224
+ properties: {
225
+ type: { type: 'string', const: 'APIGEE_X' },
226
+ apiUrl: { type: 'string' },
227
+ stage: { type: 'string', default: 'non-production' },
228
+ organizationName: { type: 'string' },
229
+ ignoreApiProducts: { type: 'array', items: { type: 'string' } },
230
+ allowApiProductsOutsideCatalog: { type: 'boolean', default: false },
231
+ auth: {
232
+ type: 'object',
233
+ oneOf: [exports.apigeeAdapterAuthOauth2Schema, exports.apigeeAdapterAuthServiceAccountSchema],
234
+ discriminator: { propertyName: 'type' },
235
+ },
236
+ },
237
+ additionalProperties: false,
238
+ required: ['type', 'organizationName', 'auth'],
239
+ };
240
+ exports.apigeeEdgeAdapterConfigSchema = Object.assign(Object.assign({}, exports.apigeeXAdapterConfigSchema), { properties: Object.assign(Object.assign({}, exports.apigeeXAdapterConfigSchema.properties), { type: { type: 'string', const: 'APIGEE_EDGE' } }) });
241
+ exports.devOnboardingAdapterConfigSchema = {
242
+ type: 'object',
243
+ oneOf: [exports.apigeeXAdapterConfigSchema, exports.apigeeEdgeAdapterConfigSchema, exports.graviteeAdapterConfigSchema],
244
+ discriminator: { propertyName: 'type' },
245
+ };
246
+ const devOnboardingConfigSchema = {
247
+ type: 'object',
248
+ required: ['adapters'],
249
+ additionalProperties: false,
250
+ properties: {
251
+ adapters: {
252
+ type: 'array',
253
+ items: exports.devOnboardingAdapterConfigSchema,
254
+ },
255
+ },
256
+ };
257
+ exports.i18ConfigSchema = {
258
+ type: 'object',
259
+ properties: {
260
+ defaultLocale: {
261
+ type: 'string',
262
+ },
263
+ locales: {
264
+ type: 'array',
265
+ items: {
266
+ type: 'object',
267
+ properties: {
268
+ code: {
269
+ type: 'string',
270
+ },
271
+ name: {
272
+ type: 'string',
273
+ },
274
+ },
275
+ required: ['code'],
276
+ },
277
+ },
278
+ },
279
+ additionalProperties: false,
280
+ required: ['defaultLocale'],
281
+ };
282
+ const responseHeaderSchema = {
283
+ type: 'object',
284
+ properties: {
285
+ name: { type: 'string' },
286
+ value: { type: 'string' },
287
+ },
288
+ additionalProperties: false,
289
+ required: ['name', 'value'],
290
+ };
291
+ exports.redoclyConfigSchema = {
292
+ type: 'object',
293
+ properties: {
294
+ licenseKey: { type: 'string' },
295
+ redirects: exports.redirectsConfigSchema,
296
+ seo: exports.seoConfigSchema,
297
+ rbac: exports.rbacConfigSchema,
298
+ responseHeaders: {
299
+ type: 'object',
300
+ additionalProperties: {
301
+ type: 'array',
302
+ items: responseHeaderSchema,
303
+ },
304
+ },
305
+ mockServer: {
306
+ type: 'object',
307
+ properties: {
308
+ off: { type: 'boolean', default: false },
309
+ position: { type: 'string', enum: ['first', 'last', 'replace', 'off'], default: 'first' },
310
+ strictExamples: { type: 'boolean', default: false },
311
+ errorIfForcedExampleNotFound: { type: 'boolean', default: false },
312
+ description: { type: 'string' },
313
+ },
314
+ },
315
+ apis: {
316
+ type: 'object',
317
+ additionalProperties: exports.apiConfigSchema,
318
+ },
319
+ ssoOnPrem: exports.ssoOnPremConfigSchema,
320
+ sso: exports.ssoConfigSchema,
321
+ residency: { type: 'string' },
322
+ developerOnboarding: devOnboardingConfigSchema,
323
+ i18n: exports.i18ConfigSchema,
324
+ metadata: metadataConfigSchema,
325
+ ignore: {
326
+ type: 'array',
327
+ items: {
328
+ type: 'string',
329
+ },
330
+ },
331
+ theme: default_theme_config_schema_1.themeConfigSchema,
332
+ },
333
+ default: { redirects: {} },
334
+ additionalProperties: true,
335
+ };
336
+ const environmentSchema = Object.assign(Object.assign({}, exports.redoclyConfigSchema), { additionalProperties: false });
337
+ exports.rootRedoclyConfigSchema = Object.assign(Object.assign({}, exports.redoclyConfigSchema), { properties: Object.assign(Object.assign({ plugins: {
338
+ type: 'array',
339
+ items: { type: 'string' },
340
+ } }, exports.redoclyConfigSchema.properties), { env: {
341
+ type: 'object',
342
+ additionalProperties: environmentSchema, // TODO: if we want full validation we need to override apis, theme and the root
343
+ } }), default: {}, additionalProperties: false });
344
+ //# sourceMappingURL=root-config-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-config-schema.js","sourceRoot":"","sources":["../src/root-config-schema.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,42 @@
1
+ import type { FromSchema } from 'json-schema-to-ts';
2
+ import type { amplitudeAnalyticsConfigSchema, catalogFilterSchema, catalogSchema, googleAnalyticsConfigSchema, gtmAnalyticsConfigSchema, markdownConfigSchema, productConfigSchema, productGoogleAnalyticsConfigSchema, rudderstackAnalyticsConfigSchema, scorecardConfigSchema, segmentAnalyticsConfigSchema, themeConfigSchema } from './default-theme-config-schema';
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
+ /**
5
+ * Theme
6
+ */
7
+ export type ThemeConfig = FromSchema<typeof themeConfigSchema>;
8
+ export type ProductConfig = FromSchema<typeof productConfigSchema>;
9
+ export type ProductGoogleAnalyticsConfig = FromSchema<typeof productGoogleAnalyticsConfigSchema>;
10
+ export type MarkdownConfig = FromSchema<typeof markdownConfigSchema>;
11
+ export type AmplitudeAnalyticsConfig = FromSchema<typeof amplitudeAnalyticsConfigSchema>;
12
+ export type RudderstackAnalyticsConfig = FromSchema<typeof rudderstackAnalyticsConfigSchema>;
13
+ export type SegmentAnalyticsConfig = FromSchema<typeof segmentAnalyticsConfigSchema>;
14
+ export type GtmAnalyticsConfig = FromSchema<typeof gtmAnalyticsConfigSchema>;
15
+ export type GoogleAnalyticsConfig = FromSchema<typeof googleAnalyticsConfigSchema>;
16
+ export type CatalogConfig = FromSchema<typeof catalogSchema>;
17
+ export type CatalogFilterConfig = FromSchema<typeof catalogFilterSchema>;
18
+ export type ScorecardConfig = FromSchema<typeof scorecardConfigSchema>;
19
+ /**
20
+ * Root
21
+ */
22
+ export type RedoclyConfig<T = ThemeConfig> = FromSchema<typeof rootRedoclyConfigSchema> & {
23
+ theme?: T;
24
+ };
25
+ export type RedirectConfig = FromSchema<typeof redirectConfigSchema>;
26
+ export type RedirectsConfig = FromSchema<typeof redirectsConfigSchema>;
27
+ export type AuthProviderConfig = FromSchema<typeof authProviderConfigSchema>;
28
+ export type BasicAuthProviderConfig = FromSchema<typeof basicAuthProviderConfigSchema>;
29
+ export type OidcProviderConfig = FromSchema<typeof oidcProviderConfigSchema>;
30
+ export type Saml2ProviderConfig = FromSchema<typeof saml2ProviderConfigSchema>;
31
+ export type SeoConfig = FromSchema<typeof seoConfigSchema>;
32
+ export type RbacConfig = FromSchema<typeof rbacConfigSchema>;
33
+ export type RbacScopeItems = FromSchema<typeof rbacScopeItemsSchema>;
34
+ export type OidcIssuerMetadata = FromSchema<typeof oidcIssuerMetadataSchema>;
35
+ export type DevOnboardingAdapterConfig = FromSchema<typeof devOnboardingAdapterConfigSchema>;
36
+ export type GraviteeAdapterConfig = FromSchema<typeof graviteeAdapterConfigSchema>;
37
+ export type ApigeeAdapterConfig = FromSchema<typeof apigeeXAdapterConfigSchema | typeof apigeeEdgeAdapterConfigSchema>;
38
+ export type ApigeeAdapterAuthOauth2 = FromSchema<typeof apigeeAdapterAuthOauth2Schema>;
39
+ export type ApigeeAdapterAuthServiceAccount = FromSchema<typeof apigeeAdapterAuthServiceAccountSchema>;
40
+ export type SsoConfig = FromSchema<typeof ssoOnPremConfigSchema>;
41
+ export type I18nConfig = FromSchema<typeof i18ConfigSchema>;
42
+ export type ApiConfig = FromSchema<typeof apiConfigSchema>;
package/lib/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@redocly/config",
3
+ "version": "0.1.0",
4
+ "main": "./lib/index.js",
5
+ "module": "./lib-esm/index.js",
6
+ "types": "./lib/index.d.ts",
7
+ "dependencies": {},
8
+ "devDependencies": {
9
+ "rimraf": "5.0.5",
10
+ "json-schema-to-ts": "2.7.2",
11
+ "@markdoc/markdoc": "0.4.0",
12
+ "typescript": "5.2.2"
13
+ },
14
+ "scripts": {
15
+ "clean": "rimraf lib",
16
+ "compile": "tsc -p tsconfig.build.json",
17
+ "build": "npm run clean && npm run compile"
18
+ }
19
+ }
@@ -0,0 +1,17 @@
1
+ export const DEFAULT_TEAM_CLAIM_NAME = 'https://redocly.com/sso/teams';
2
+ export enum AuthProviderType {
3
+ OIDC = 'OIDC',
4
+ SAML2 = 'SAML2',
5
+ BASIC = 'BASIC',
6
+ }
7
+ export enum ApigeeDevOnboardingIntegrationAuthType {
8
+ SERVICE_ACCOUNT = 'SERVICE_ACCOUNT',
9
+ OAUTH2 = 'OAUTH2',
10
+ }
11
+
12
+ export const REDOCLY_TEAMS_RBAC = 'redocly::teams-rbac';
13
+
14
+ export enum LayoutVariant {
15
+ STACKED = 'stacked',
16
+ THREE_PANEL = 'three-panel',
17
+ }