@redocly/config 0.41.4 → 0.43.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.
@@ -104,6 +104,10 @@ export const bannerColorSchema = {
104
104
  enum: ['info', 'success', 'warning', 'error'],
105
105
  default: 'info',
106
106
  };
107
+ export const rbacScopeItemsSchema = {
108
+ type: 'object',
109
+ additionalProperties: { type: 'string' },
110
+ };
107
111
  export const bannerConfigSchema = {
108
112
  type: 'object',
109
113
  properties: {
@@ -111,6 +115,7 @@ export const bannerConfigSchema = {
111
115
  dismissible: { type: 'boolean', default: false },
112
116
  target: { type: 'string' },
113
117
  color: bannerColorSchema,
118
+ rbac: rbacScopeItemsSchema,
114
119
  },
115
120
  required: ['content'],
116
121
  additionalProperties: false,
@@ -254,9 +259,56 @@ export const apiFunctionsConfigSchema = {
254
259
  },
255
260
  additionalProperties: false,
256
261
  };
257
- export const rbacScopeItemsSchema = {
262
+ export const rbacEntitiesCatalogConfigSchema = {
258
263
  type: 'object',
259
- additionalProperties: { type: 'string' },
264
+ properties: {
265
+ catalogs: {
266
+ type: 'object',
267
+ properties: {
268
+ all: rbacScopeItemsSchema,
269
+ services: rbacScopeItemsSchema,
270
+ domains: rbacScopeItemsSchema,
271
+ teams: rbacScopeItemsSchema,
272
+ users: rbacScopeItemsSchema,
273
+ apiDescriptions: rbacScopeItemsSchema,
274
+ dataSchemas: rbacScopeItemsSchema,
275
+ apiOperations: rbacScopeItemsSchema,
276
+ },
277
+ additionalProperties: rbacScopeItemsSchema,
278
+ },
279
+ entitiesTypes: {
280
+ type: 'object',
281
+ properties: {
282
+ service: rbacScopeItemsSchema,
283
+ domain: rbacScopeItemsSchema,
284
+ team: rbacScopeItemsSchema,
285
+ user: rbacScopeItemsSchema,
286
+ apiDescription: rbacScopeItemsSchema,
287
+ apiOperation: rbacScopeItemsSchema,
288
+ dataSchema: rbacScopeItemsSchema,
289
+ },
290
+ additionalProperties: rbacScopeItemsSchema,
291
+ },
292
+ entitiesGroups: {
293
+ type: 'array',
294
+ items: {
295
+ type: 'object',
296
+ properties: {
297
+ entities: { type: 'array', items: { type: 'string' } },
298
+ config: rbacScopeItemsSchema,
299
+ },
300
+ additionalProperties: false,
301
+ },
302
+ },
303
+ entities: {
304
+ type: 'object',
305
+ properties: {
306
+ '**': rbacScopeItemsSchema,
307
+ },
308
+ additionalProperties: rbacScopeItemsSchema,
309
+ },
310
+ },
311
+ additionalProperties: false,
260
312
  };
261
313
  export const rbacConfigSchema = {
262
314
  type: 'object',
@@ -280,6 +332,7 @@ export const rbacConfigSchema = {
280
332
  },
281
333
  additionalProperties: rbacScopeItemsSchema,
282
334
  },
335
+ entitiesCatalog: rbacEntitiesCatalogConfigSchema,
283
336
  },
284
337
  additionalProperties: rbacScopeItemsSchema,
285
338
  };
@@ -53,8 +53,8 @@ export type EntityContactFileSchema = FromSchema<typeof entityContactFileSchema>
53
53
  export type EntityLinkFileSchema = FromSchema<typeof entityLinkFileSchema>;
54
54
  export type EntityRelationFileSchema = FromSchema<typeof entityRelationFileSchema>;
55
55
  export type EntityBaseFileSchema = {
56
+ type: string;
56
57
  version?: string | null;
57
- revision?: string;
58
58
  key: string;
59
59
  title: string;
60
60
  summary?: string | null;
@@ -63,7 +63,6 @@ export type EntityBaseFileSchema = {
63
63
  contact?: EntityContactFileSchema | null;
64
64
  links?: EntityLinkFileSchema[] | null;
65
65
  relations?: EntityRelationFileSchema[] | null;
66
- type: string;
67
66
  metadata?: DefaultMetadataSchema | null;
68
67
  };
69
68
  export type EntityFileSchema = (Omit<EntityBaseFileSchema, 'type'> & {
@@ -60,6 +60,7 @@ export type ItemBadge = {
60
60
  name: string;
61
61
  color?: string;
62
62
  position?: 'before' | 'after';
63
+ icon?: string;
63
64
  };
64
65
  export type ResolvedNavGroupItem = {
65
66
  type: 'group';
@@ -81,6 +82,7 @@ export type ResolvedNavGroupItem = {
81
82
  separatorLine?: boolean;
82
83
  linePosition?: 'top' | 'bottom';
83
84
  routeSlug?: string;
85
+ badges?: ItemBadge[];
84
86
  active?: boolean;
85
87
  icon?: string;
86
88
  srcSet?: string;
@@ -258,6 +260,7 @@ export type NavItem = {
258
260
  $ref?: string;
259
261
  disconnect?: boolean;
260
262
  additionalProps?: Record<string, unknown>;
263
+ badges?: ItemBadge[];
261
264
  };
262
265
  export interface LogoConfig {
263
266
  image?: string;
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@redocly/config",
3
- "version": "0.41.4",
3
+ "version": "0.43.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
8
  "devDependencies": {
9
9
  "@markdoc/markdoc": "0.5.2",
10
- "@redocly/openapi-core": "0.0.0-snapshot.1769511679",
10
+ "@redocly/openapi-core": "2.17.0",
11
11
  "@types/node": "22.18.13",
12
12
  "@types/react": "^19.2.7",
13
13
  "@vitest/coverage-v8": "4.0.10",
14
- "react-router-dom": "^6.21.1",
14
+ "react-router-dom": "^6.30.3",
15
15
  "rimraf": "5.0.7",
16
16
  "typescript": "5.9.3",
17
17
  "vitest": "4.0.10"