@redocly/revel-reef 0.128.0-next.5 → 0.128.0-next.7
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.
- package/CHANGELOG.md +21 -0
- package/README.md +54 -0
- package/dist/client/providers/theme/ThemeDataProvider.js +1 -1
- package/dist/constants/common.d.ts +2 -0
- package/dist/constants/common.js +1 -1
- package/dist/server/constants/plugins/catalog-entities.d.ts +1 -0
- package/dist/server/constants/plugins/catalog-entities.js +1 -1
- package/dist/server/esbuild/esbuild.js +2 -2
- package/dist/server/node-bundle-entry.js +1 -1
- package/dist/server/plugins/catalog-entities/database/catalog-entities-service.d.ts +8 -0
- package/dist/server/plugins/catalog-entities/database/catalog-entities-service.js +1 -1
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-db-record.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.d.ts +5 -0
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.js +6 -6
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.d.ts +8 -0
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.d.ts +3 -0
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/remote/catalog-entities-remote-repository.d.ts +1 -0
- package/dist/server/plugins/catalog-entities/database/repositories/remote/catalog-entities-remote-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/utils.d.ts +2 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils.js +1 -1
- package/dist/server/plugins/catalog-entities/entities/types.d.ts +1 -0
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.d.ts +2 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.d.ts +2 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.d.ts +1 -11
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.d.ts +2 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.d.ts +2 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/fs-entities-extractor.js +1 -1
- package/dist/server/plugins/catalog-entities/plugin.js +1 -1
- package/dist/server/plugins/catalog-entities/types/extractors.d.ts +16 -0
- package/dist/server/plugins/catalog-entities/types/extractors.js +0 -0
- package/dist/server/plugins/catalog-entities/utils/catalog-data-collector.d.ts +20 -0
- package/dist/server/plugins/catalog-entities/utils/catalog-data-collector.js +1 -0
- package/dist/server/plugins/scorecards/workers/run-scorecards-worker.d.ts +2 -0
- package/dist/server/plugins/scorecards/workers/run-scorecards-worker.js +1 -0
- package/dist/server/plugins/scorecards/workers/scorecards.d.ts +14 -0
- package/dist/server/plugins/scorecards/workers/scorecards.js +1 -0
- package/dist/server/providers/database/databases/catalog-sqlite/migrations/0002_add-scorecards-status.sql +1 -0
- package/dist/server/providers/database/databases/catalog-sqlite/migrations/meta/0002_snapshot.json +385 -0
- package/dist/server/providers/database/databases/catalog-sqlite/migrations/meta/_journal.json +7 -0
- package/dist/server/providers/database/databases/catalog-sqlite/schemas/entities-table.d.ts +19 -0
- package/dist/server/providers/database/databases/catalog-sqlite/schemas/entities-table.js +1 -1
- package/dist/server/providers/database/databases/main-sqlite/migrations/0003_file-path-added.sql +1 -0
- package/dist/server/providers/database/databases/main-sqlite/migrations/0004_add-scorecards-tables.sql +10 -0
- package/dist/server/providers/database/databases/main-sqlite/migrations/meta/0004_snapshot.json +221 -0
- package/dist/server/providers/database/databases/main-sqlite/migrations/meta/_journal.json +7 -0
- package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.d.ts +162 -0
- package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/drizzle.config.js +1 -1
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/0003_add-scorecards-tables.sql +61 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/0004_add-scorecards-status.sql +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/0003_snapshot.json +796 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/0004_snapshot.json +803 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/_journal.json +14 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-evaluations-table.d.ts +124 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-evaluations-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-level-states-table.d.ts +48 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-level-states-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-levels-table.d.ts +186 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-levels-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-states-table.d.ts +177 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-states-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-results-table.d.ts +179 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-results-table.js +1 -0
- package/dist/server/providers/database/pagination/types.d.ts +9 -0
- package/dist/server/utils/is-catalog-entities-enabled.d.ts +2 -0
- package/dist/server/utils/is-catalog-entities-enabled.js +1 -0
- package/dist/server/utils/is-scorecards-enabled.d.ts +3 -0
- package/dist/server/utils/is-scorecards-enabled.js +1 -0
- package/dist/server/web-server/dev-server.js +1 -1
- package/dist/server/web-server/routes/catalog/bff-catalog-related-entities.js +1 -1
- package/dist/server/web-server/routes/catalog/bff-catalog-revisions.d.ts +4 -0
- package/dist/server/web-server/routes/catalog/bff-catalog-revisions.js +1 -0
- package/dist/server/web-server/routes/catalog/bff-catalog.d.ts +0 -1
- package/dist/server/web-server/routes/catalog/bff-catalog.js +1 -1
- package/dist/server/web-server/routes/catalog/catalog-relations.js +1 -1
- package/dist/server/web-server/routes/catalog/catalog.js +1 -1
- package/dist/server/web-server/routes/index.js +1 -1
- package/dist/server/workers/scorecards-worker-pool.d.ts +4 -0
- package/dist/server/workers/scorecards-worker-pool.js +1 -0
- package/dist/server/workers/scorecards-worker.d.ts +2 -0
- package/dist/server/workers/scorecards-worker.js +1 -0
- package/dist/server/workers/types.d.ts +6 -0
- package/dist/utils/object/allowlist-object.d.ts +16 -0
- package/dist/utils/object/allowlist-object.js +1 -0
- package/package.json +7 -7
package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-results-table.d.ts
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
export declare const scorecardResultsTable: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
2
|
+
name: "scorecard_results";
|
|
3
|
+
schema: undefined;
|
|
4
|
+
columns: {
|
|
5
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
6
|
+
name: "id";
|
|
7
|
+
tableName: "scorecard_results";
|
|
8
|
+
dataType: "string";
|
|
9
|
+
columnType: "SQLiteText";
|
|
10
|
+
data: string;
|
|
11
|
+
driverParam: string;
|
|
12
|
+
notNull: true;
|
|
13
|
+
hasDefault: false;
|
|
14
|
+
isPrimaryKey: true;
|
|
15
|
+
isAutoincrement: false;
|
|
16
|
+
hasRuntimeDefault: false;
|
|
17
|
+
enumValues: [string, ...string[]];
|
|
18
|
+
baseColumn: never;
|
|
19
|
+
identity: undefined;
|
|
20
|
+
generated: undefined;
|
|
21
|
+
}, {}, {
|
|
22
|
+
length: number | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
evaluationId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
25
|
+
name: "evaluation_id";
|
|
26
|
+
tableName: "scorecard_results";
|
|
27
|
+
dataType: "string";
|
|
28
|
+
columnType: "SQLiteText";
|
|
29
|
+
data: string;
|
|
30
|
+
driverParam: string;
|
|
31
|
+
notNull: true;
|
|
32
|
+
hasDefault: false;
|
|
33
|
+
isPrimaryKey: false;
|
|
34
|
+
isAutoincrement: false;
|
|
35
|
+
hasRuntimeDefault: false;
|
|
36
|
+
enumValues: [string, ...string[]];
|
|
37
|
+
baseColumn: never;
|
|
38
|
+
identity: undefined;
|
|
39
|
+
generated: undefined;
|
|
40
|
+
}, {}, {
|
|
41
|
+
length: number | undefined;
|
|
42
|
+
}>;
|
|
43
|
+
entityId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
44
|
+
name: "entity_id";
|
|
45
|
+
tableName: "scorecard_results";
|
|
46
|
+
dataType: "string";
|
|
47
|
+
columnType: "SQLiteText";
|
|
48
|
+
data: string;
|
|
49
|
+
driverParam: string;
|
|
50
|
+
notNull: true;
|
|
51
|
+
hasDefault: false;
|
|
52
|
+
isPrimaryKey: false;
|
|
53
|
+
isAutoincrement: false;
|
|
54
|
+
hasRuntimeDefault: false;
|
|
55
|
+
enumValues: [string, ...string[]];
|
|
56
|
+
baseColumn: never;
|
|
57
|
+
identity: undefined;
|
|
58
|
+
generated: undefined;
|
|
59
|
+
}, {}, {
|
|
60
|
+
length: number | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
entityKey: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
63
|
+
name: "entity_key";
|
|
64
|
+
tableName: "scorecard_results";
|
|
65
|
+
dataType: "string";
|
|
66
|
+
columnType: "SQLiteText";
|
|
67
|
+
data: string;
|
|
68
|
+
driverParam: string;
|
|
69
|
+
notNull: true;
|
|
70
|
+
hasDefault: false;
|
|
71
|
+
isPrimaryKey: false;
|
|
72
|
+
isAutoincrement: false;
|
|
73
|
+
hasRuntimeDefault: false;
|
|
74
|
+
enumValues: [string, ...string[]];
|
|
75
|
+
baseColumn: never;
|
|
76
|
+
identity: undefined;
|
|
77
|
+
generated: undefined;
|
|
78
|
+
}, {}, {
|
|
79
|
+
length: number | undefined;
|
|
80
|
+
}>;
|
|
81
|
+
entityType: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
82
|
+
name: "entity_type";
|
|
83
|
+
tableName: "scorecard_results";
|
|
84
|
+
dataType: "string";
|
|
85
|
+
columnType: "SQLiteText";
|
|
86
|
+
data: string;
|
|
87
|
+
driverParam: string;
|
|
88
|
+
notNull: true;
|
|
89
|
+
hasDefault: false;
|
|
90
|
+
isPrimaryKey: false;
|
|
91
|
+
isAutoincrement: false;
|
|
92
|
+
hasRuntimeDefault: false;
|
|
93
|
+
enumValues: [string, ...string[]];
|
|
94
|
+
baseColumn: never;
|
|
95
|
+
identity: undefined;
|
|
96
|
+
generated: undefined;
|
|
97
|
+
}, {}, {
|
|
98
|
+
length: number | undefined;
|
|
99
|
+
}>;
|
|
100
|
+
entityVersion: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
101
|
+
name: "entity_version";
|
|
102
|
+
tableName: "scorecard_results";
|
|
103
|
+
dataType: "string";
|
|
104
|
+
columnType: "SQLiteText";
|
|
105
|
+
data: string;
|
|
106
|
+
driverParam: string;
|
|
107
|
+
notNull: true;
|
|
108
|
+
hasDefault: false;
|
|
109
|
+
isPrimaryKey: false;
|
|
110
|
+
isAutoincrement: false;
|
|
111
|
+
hasRuntimeDefault: false;
|
|
112
|
+
enumValues: [string, ...string[]];
|
|
113
|
+
baseColumn: never;
|
|
114
|
+
identity: undefined;
|
|
115
|
+
generated: undefined;
|
|
116
|
+
}, {}, {
|
|
117
|
+
length: number | undefined;
|
|
118
|
+
}>;
|
|
119
|
+
entityRevision: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
120
|
+
name: "entity_revision";
|
|
121
|
+
tableName: "scorecard_results";
|
|
122
|
+
dataType: "string";
|
|
123
|
+
columnType: "SQLiteText";
|
|
124
|
+
data: string;
|
|
125
|
+
driverParam: string;
|
|
126
|
+
notNull: false;
|
|
127
|
+
hasDefault: false;
|
|
128
|
+
isPrimaryKey: false;
|
|
129
|
+
isAutoincrement: false;
|
|
130
|
+
hasRuntimeDefault: false;
|
|
131
|
+
enumValues: [string, ...string[]];
|
|
132
|
+
baseColumn: never;
|
|
133
|
+
identity: undefined;
|
|
134
|
+
generated: undefined;
|
|
135
|
+
}, {}, {
|
|
136
|
+
length: number | undefined;
|
|
137
|
+
}>;
|
|
138
|
+
finalLevel: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
139
|
+
name: "final_level";
|
|
140
|
+
tableName: "scorecard_results";
|
|
141
|
+
dataType: "string";
|
|
142
|
+
columnType: "SQLiteText";
|
|
143
|
+
data: string;
|
|
144
|
+
driverParam: string;
|
|
145
|
+
notNull: false;
|
|
146
|
+
hasDefault: false;
|
|
147
|
+
isPrimaryKey: false;
|
|
148
|
+
isAutoincrement: false;
|
|
149
|
+
hasRuntimeDefault: false;
|
|
150
|
+
enumValues: [string, ...string[]];
|
|
151
|
+
baseColumn: never;
|
|
152
|
+
identity: undefined;
|
|
153
|
+
generated: undefined;
|
|
154
|
+
}, {}, {
|
|
155
|
+
length: number | undefined;
|
|
156
|
+
}>;
|
|
157
|
+
finalScore: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
158
|
+
name: "final_score";
|
|
159
|
+
tableName: "scorecard_results";
|
|
160
|
+
dataType: "number";
|
|
161
|
+
columnType: "SQLiteInteger";
|
|
162
|
+
data: number;
|
|
163
|
+
driverParam: number;
|
|
164
|
+
notNull: true;
|
|
165
|
+
hasDefault: false;
|
|
166
|
+
isPrimaryKey: false;
|
|
167
|
+
isAutoincrement: false;
|
|
168
|
+
hasRuntimeDefault: false;
|
|
169
|
+
enumValues: undefined;
|
|
170
|
+
baseColumn: never;
|
|
171
|
+
identity: undefined;
|
|
172
|
+
generated: undefined;
|
|
173
|
+
}, {}, {}>;
|
|
174
|
+
};
|
|
175
|
+
dialect: "sqlite";
|
|
176
|
+
}>;
|
|
177
|
+
export type DatabaseScorecardResult = typeof scorecardResultsTable.$inferSelect;
|
|
178
|
+
export type DatabaseScorecardResultInsert = typeof scorecardResultsTable.$inferInsert;
|
|
179
|
+
//# sourceMappingURL=scorecard-results-table.d.ts.map
|
package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-results-table.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{sqliteTable as n,text as e,integer as o,index as i,uniqueIndex as l}from"drizzle-orm/sqlite-core";const s=n("scorecard_results",{id:e("id").primaryKey().notNull(),evaluationId:e("evaluation_id").notNull(),entityId:e("entity_id").notNull(),entityKey:e("entity_key").notNull(),entityType:e("entity_type").notNull(),entityVersion:e("entity_version").notNull(),entityRevision:e("entity_revision"),finalLevel:e("final_level"),finalScore:o("final_score").notNull()},t=>[l("idx_scorecard_results_evaluation_entity_unique").on(t.evaluationId,t.entityKey,t.entityId,t.entityVersion),i("idx_scorecard_results_evaluation_id").on(t.evaluationId),i("idx_scorecard_results_entity_id").on(t.entityId)]);export{s as scorecardResultsTable};
|
|
@@ -21,4 +21,13 @@ export type SearchOptions = {
|
|
|
21
21
|
searchableFields: string[];
|
|
22
22
|
value: string;
|
|
23
23
|
};
|
|
24
|
+
export type PaginationParamsInput = {
|
|
25
|
+
after?: string;
|
|
26
|
+
before?: string;
|
|
27
|
+
sort?: string;
|
|
28
|
+
filter?: string;
|
|
29
|
+
search?: string;
|
|
30
|
+
limit?: string | number;
|
|
31
|
+
skip?: string | number;
|
|
32
|
+
};
|
|
24
33
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(){return process.env.NEW_CATALOG_ENABLED==="true"}export{e as isCatalogEntitiesEnabled};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isCatalogEntitiesEnabled as e}from"./is-catalog-entities-enabled.js";function a(r){return e()&&process.env.NEW_SCORECARDS_ENABLED==="true"&&Array.isArray(r.scorecards)&&r.scorecards.length>0}export{a as isScorecardsEnabled};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ServerRoutes as c}from"../../constants/common.js";import{reporter as n}from"../tools/notifiers/reporter.js";import{telemetry as s}from"../telemetry/index.js";import{installDevRoutes as p,installProdRoutes as
|
|
1
|
+
import{ServerRoutes as c}from"../../constants/common.js";import{reporter as n}from"../tools/notifiers/reporter.js";import{telemetry as s}from"../telemetry/index.js";import{installDevRoutes as p,installProdRoutes as f}from"./routes/index.js";import{createRouter as v}from"./router.js";import{readStaticAsset as l}from"./node-asset-reader.js";import{startHttpServer as u}from"./http.js";import{listenStore as S}from"./store-ws.js";import{ejectComponentDataHandler as D}from"./routes/eject.js";import{attachWsServer as d}from"./ws.js";import{DatabasePreconnectService as w}from"../providers/database/database-preconnect-service.js";import{KvService as E}from"../persistence/kv/services/kv-service.js";import{runScorecardsWorker as R}from"../plugins/scorecards/workers/run-scorecards-worker.js";import{isCatalogEntitiesEnabled as b}from"../utils/is-catalog-entities-enabled.js";import{isScorecardsEnabled as C}from"../utils/is-scorecards-enabled.js";async function J(r,o,i){s.initialize(!0);const{port:a=4e3}=i,e=v();if(e.get(c.EJECT_COMPONENT,D(r)),p(e,r),f(e,r,{readStaticAsset:l,resolveRouteData:t=>r.resolveRouteStaticData(t,o)}),b()){await w.init(r.serverOutDir);const t=await E.getInstance({baseDbDir:r.serverOutDir});setInterval(()=>t.clearExpired(),300*1e3)}try{await r.userCodeReady;const t=await u(e,a),m=d(t);S(r,m),C(r.config)&&await R(r.serverOutDir)}catch(t){await n.panic(t)}}export{J as startDevServer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CatalogEntitiesService as
|
|
1
|
+
import{telemetryTraceStep as n}from"../../../telemetry/helpers/trace-step.js";import{CATALOG_ENTITY_KEY as m}from"../../../../constants/common.js";import{ALLOWED_CATALOG_QUERY_PARAMS as l}from"../../../constants/plugins/catalog-entities.js";import{allowlistObject as u}from"../../../../utils/object/allowlist-object.js";import{CatalogEntitiesService as y}from"../../../plugins/catalog-entities/database/catalog-entities-service.js";import{createPaginationParamsValidator as d}from"../../../providers/database/pagination/schemas.js";import{ENTITY_RELATION_FROM_DATABASE as c}from"../../../plugins/catalog-entities/database/mappers/field-transformations.js";const f=["id","key","title","type","summary","source","sourceFile","createdAt","updatedAt"],g=async({catalogEntitiesService:i,ctx:e})=>n("catalog_entities.bff.related_entities.get_related_entities",async r=>{try{const t=e.req.param(m);if(!t)return r?.error(new Error("Entity key is required")),e.json({message:"Entity key is required"},400);r?.setAttribute("pathParams",JSON.stringify({entityKey:t}));const a=e.req.query();r?.setAttribute("queryParams",JSON.stringify(u(a,l)));const o=d(f,c).parse(a),s=await i.getRelatedEntities(t,o);return r?.setAttribute("relatedEntitiesCount",s.items.length),e.json(s)}catch(t){return console.error(t),r?.error(t),e.json({message:t.message},500)}});function q(i){return async e=>n("catalog_entities.bff.related_entities",async r=>{r?.setAttribute("method",e.req.method);const t=await y.getInstance({baseDbDir:i.serverOutDir});return g({catalogEntitiesService:t,ctx:e})})}export{q as bffCatalogRelatedEntitiesHandler};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{telemetryTraceStep as a}from"../../../telemetry/helpers/trace-step.js";import{CATALOG_ENTITY_KEY as y}from"../../../../constants/common.js";import{CatalogEntitiesService as g}from"../../../plugins/catalog-entities/database/catalog-entities-service.js";function l(n){return async t=>a("catalog_entities.bff.revisions.get_entity_revisions",async e=>{const o=await g.getInstance({baseDbDir:n.serverOutDir}),i=t.req.param(y);if(!i)return e?.error(new Error("Missing entityKey")),t.json({message:"Missing entityKey"},400);e?.setAttribute("pathParams",JSON.stringify({entityKey:i}));const r=t.req.query("version")??null;e?.setAttribute("queryParams",JSON.stringify({version:r}));const s=await o.listEntityRevisions(i,r);return e?.setAttribute("totalRevisions",s.length),t.json({items:s})})}export{l as bffCatalogRevisionsHandler};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Handler } from 'hono';
|
|
2
2
|
import type { Store } from '../../../store.js';
|
|
3
3
|
export declare function bffCatalogHandler(store: Store): Handler;
|
|
4
|
-
export declare function bffCatalogRevisionsHandler(store: Store): Handler;
|
|
5
4
|
//# sourceMappingURL=bff-catalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{telemetryTraceStep as o}from"../../../telemetry/helpers/trace-step.js";import{CATALOG_ENTITY_KEY as u}from"../../../../constants/common.js";import{ALLOWED_CATALOG_QUERY_PARAMS as g}from"../../../constants/plugins/catalog-entities.js";import{allowlistObject as f}from"../../../../utils/object/allowlist-object.js";import{CatalogEntitiesService as c}from"../../../plugins/catalog-entities/database/catalog-entities-service.js";import{createPaginationParamsValidator as y}from"../../../providers/database/pagination/schemas.js";const m=["type","key","title","summary","tags","metadata","metadata.*","git","contact","links","id","source","sourceFile","version","revision","createdAt","updatedAt","domains","owners"],l=async({catalogEntitiesService:i,ctx:t})=>o("catalog_entities.bff.get_entities",async e=>{const r=t.req.query();e?.setAttribute("queryParams",JSON.stringify(f(r,g)));const n=y(m).parse(r),a=await i.getEntitiesWithRelations(n);return e?.setAttribute("entitiesCount",a.items.length),t.json(a)}),d=async({catalogEntitiesService:i,ctx:t})=>o("catalog_entities.bff.get_entity",async e=>{const r=t.req.param(u);if(!r)return e?.error(new Error("Entity key is required")),t.json({message:"Entity key is required"},400);const n=t.req.query();e?.setAttribute("queryParams",JSON.stringify(n)),e?.setAttribute("pathParams",JSON.stringify({entityKey:r}));const a=y(m).parse(n),s=await i.getEntityWithRelationsByKey(r,a);return s?(e?.setAttribute("entity",JSON.stringify(s)),t.json(s)):(e?.error(new Error("Entity not found")),t.json({message:"Entity not found"},404))});function _(i){return async t=>o("catalog_entities.bff",async e=>{e?.setAttribute("method",t.req.method);const r=await c.getInstance({baseDbDir:i.serverOutDir});return t.req.param("entityKey")?d({catalogEntitiesService:r,ctx:t}):l({catalogEntitiesService:r,ctx:t})})}export{_ as bffCatalogHandler};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{telemetryTraceStep as l}from"../../../telemetry/helpers/trace-step.js";import{CATALOG_ENTITY_RELATION_ID as d}from"../../../../constants/common.js";import{CATALOG_FILTERS_CACHE_NAMESPACE as c,ALLOWED_CATALOG_QUERY_PARAMS as E}from"../../../constants/plugins/catalog-entities.js";import{allowlistObject as f}from"../../../../utils/object/allowlist-object.js";import{entitiesRelationsDtoSchema as R,entityRelationDtoSchema as A}from"../../../plugins/catalog-entities/schemas/dto-schemas.js";import{CatalogEntitiesService as _}from"../../../plugins/catalog-entities/database/catalog-entities-service.js";import{createPaginationParamsValidator as w}from"../../../providers/database/pagination/schemas.js";import{createValidator as y}from"../../../plugins/catalog-entities/utils/ajv-validator.js";import{ENTITY_RELATION_TO_DATABASE as b}from"../../../plugins/catalog-entities/database/mappers/field-transformations.js";import{CacheService as h}from"../../../persistence/cache/services/cache-service.js";const j=y(A,{errorPrefix:"Entity relation validation failed:",dataVar:"relation"}),O=y(R,{errorPrefix:"Entities relations validation failed:",dataVar:"relation"}),q=["id","organizationId","projectId","sourceKey","targetKey","sourceId","targetId","type","createdAt","updatedAt"],u=async a=>{await(await h.getInstance({baseDbDir:a})).deleteByNamespace(c)},T=async({catalogEntitiesService:a,ctx:e})=>l("catalog_entities.relations.get_entity_relation",async n=>{const t=e.req.param(d);if(!t)return n?.error(new Error("Entity relation id is required")),e.json({message:"Entity relation id is required"},400);n?.setAttribute("pathParams",JSON.stringify({entityRelationId:t}));const i=await a.getEntityRelationById(t);return i?(n?.setAttribute("entityRelation",JSON.stringify(i)),e.json(i)):(n?.error(new Error("Entity relation not found")),e.json({message:"Entity relation not found"},404))}),p=async({catalogEntitiesService:a,ctx:e})=>l("catalog_entities.relations.get_entities_relations",async n=>{try{const t=e.req.query();n?.setAttribute("queryParams",JSON.stringify(f(t,E)));const i=w(q,b).parse(t),r=await a.getEntitiesRelations(i);return n?.setAttribute("entitiesRelationsCount",r.items.length),e.json(r)}catch(t){return console.error(t),n?.error(new Error("Failed to get entities relations")),e.json({message:"Failed to get entities relations"},500)}}),I=async({catalogEntitiesService:a,ctx:e,serverOutDir:n})=>l("catalog_entities.relations.create_entity_relation",async t=>{const i=e.get("logger");try{const r=await e.req.json();t?.setAttribute("requestBody",JSON.stringify(r));const o=j(r),s=await a.createEntityRelation(o);return s?(u(n),t?.setAttribute("entityRelation",JSON.stringify(s)),e.json(s)):(t?.error(new Error("Failed to create entity relation")),e.json({message:"Failed to create entity relation"},500))}catch(r){return i.error(r),r instanceof Error&&r.message.includes("validation failed")?(t?.error(new Error(r.message)),e.json({message:r.message},400)):(t?.error(r),e.json({message:"Failed to create entity relation"},500))}}),N=async({catalogEntitiesService:a,ctx:e,serverOutDir:n})=>l("catalog_entities.relations.bulk_upsert_entities_relations",async t=>{const i=e.get("logger");try{const r=await e.req.json();t?.setAttribute("requestBody",JSON.stringify(r));const o=O(r),s=await a.createEntitiesRelations(o);if(!s.length)return t?.error(new Error("Failed to create entity relations")),e.json({message:"Failed to create entity relations"},500);u(n);const g=s.filter(m=>m.status==="ok");return t?.setAttribute("totalSuccess",g.length),t?.setAttribute("totalFailed",s.length-g.length),e.json(s,207)}catch(r){return i.error(r),r instanceof Error&&r.message.includes("validation failed")?(t?.error(new Error(r.message)),e.json({message:r.message},400)):(t?.error(r),e.json({message:"Failed to create entity relations"},500))}}),P=async({catalogEntitiesService:a,ctx:e,serverOutDir:n})=>l("catalog_entities.relations.update_entity_relation",async t=>{const i=e.get("logger"),r=e.req.param(d);if(!r)return t?.error(new Error("Entity relation id is required")),e.json({message:"Entity relation id is required"},400);t?.setAttribute("pathParams",JSON.stringify({entityRelationId:r}));try{const o=await e.req.json();t?.setAttribute("requestBody",JSON.stringify(o));const s=await a.updateEntityRelation(r,o);return s?(u(n),t?.setAttribute("entityRelation",JSON.stringify(s)),e.json(s)):(t?.error(new Error("Failed to update entity relation")),e.json({message:"Failed to update entity relation"},500))}catch(o){return i.error(o),o instanceof Error&&o.message.includes("validation failed")?(t?.error(new Error(o.message)),e.json({message:o.message},400)):(t?.error(o),e.json({message:o.message},500))}}),D=async({catalogEntitiesService:a,ctx:e,serverOutDir:n})=>l("catalog_entities.relations.delete_entity_relation",async t=>{const i=e.req.param(d);return i?(t?.setAttribute("pathParams",JSON.stringify({entityRelationId:i})),await a.deleteEntityRelation(i),u(n),new Response(null,{status:204})):(t?.error(new Error("Entity relation id is required")),e.json({message:"Entity relation id is required"},400))}),v={GET:p,POST:I,PUT:N},F={GET:T,DELETE:D,PATCH:P};function U(a){return async e=>l("catalog_entities.relations",async n=>{n?.setAttribute("method",e.req.method);const t=await _.getInstance({baseDbDir:a.serverOutDir}),i=e.req.method,r=e.req.param(d)?F:v;return r[i]?await r[i]({catalogEntitiesService:t,ctx:e,serverOutDir:a.serverOutDir}):(n?.error(new Error("Method not allowed")),e.json({message:"Method not allowed"},405))})}export{U as catalogRelationsHandler};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getCompleteCatalogConfig as
|
|
1
|
+
import{getCompleteCatalogConfig as c}from"../../../plugins/catalog-entities/get-complete-catalog-config.js";import{parseAndValidateEntities as E,parseAndValidateEntity as f}from"../../../plugins/catalog-entities/entities/validate-entity.js";import{telemetryTraceStep as g}from"../../../telemetry/helpers/trace-step.js";import{CATALOG_FILTERS_CACHE_NAMESPACE as A,ALLOWED_CATALOG_QUERY_PARAMS as w}from"../../../constants/plugins/catalog-entities.js";import{CATALOG_ENTITY_KEY as u}from"../../../../constants/common.js";import{allowlistObject as b}from"../../../../utils/object/allowlist-object.js";import{CatalogEntitiesService as h}from"../../../plugins/catalog-entities/database/catalog-entities-service.js";import{createPaginationParamsValidator as j}from"../../../providers/database/pagination/schemas.js";import{createEntityRelationDtoFromFileSchema as _}from"../../../plugins/catalog-entities/database/mappers/create-entity-relation-dto-from-file-schema.js";import{CacheService as q}from"../../../persistence/cache/services/cache-service.js";const p=["type","key","title","summary","tags","metadata","metadata.*","git","contact","links","id","source","sourceFile","createdAt","updatedAt"],m=async s=>{await(await q.getInstance({baseDbDir:s})).deleteByNamespace(A)},O=async({catalogEntitiesService:s,ctx:e})=>g("catalog_entities.get_entities",async i=>{const n=e.get("logger");try{const r=e.req.query();i?.setAttribute("queryParams",JSON.stringify(b(r,w)));const o=j(p).parse(r),t=await s.getEntities(o);return i?.setAttribute("entitiesCount",t.items.length),e.json(t)}catch(r){return n.error(r),i?.error(r),e.json({message:"Failed to get entities"},500)}}),C=async({catalogEntitiesService:s,ctx:e})=>g("catalog_entities.get_entity",async i=>{const n=e.req.param(u);if(!n)return i?.error(new Error("Entity key is required")),e.json({message:"Entity key is required"},400);i?.setAttribute("pathParams",JSON.stringify({entityKey:n}));const r=await s.getEntityByKey(n);return r?(i?.setAttribute("entity",JSON.stringify(r)),e.json(r)):(i?.error(new Error("Entity not found")),e.json({message:"Entity not found"},404))}),F=async({catalogEntitiesService:s,ctx:e,catalogConfig:i,serverOutDir:n})=>g("catalog_entities.create_entity",async r=>{const o=e.get("logger");try{const t=await e.req.json();r?.setAttribute("requestBody",JSON.stringify(t));const a=f(t,i),y=await s.createEntity(a),l=a.relations?.map(d=>_(a.key,d));return await s.createEntitiesRelations(l??[]),y?(m(n),r?.setAttribute("entity",JSON.stringify(y)),e.json(y)):(r?.error(new Error("Failed to create entity")),e.json({message:"Failed to create entity"},500))}catch(t){return o.error(t),t instanceof Error&&t.message.includes("validation failed")?(r?.error(new Error(t.message)),e.json({message:t.message},400)):(r?.error(t),e.json({message:"Failed to create entity"},500))}}),P=async({catalogEntitiesService:s,ctx:e,catalogConfig:i,serverOutDir:n})=>g("catalog_entities.bulk_upsert_entities",async r=>{const o=e.get("logger");try{const t=await e.req.json();r?.setAttribute("requestBody",JSON.stringify(t));const a=E(t,i),y=await s.createEntities(a);if(!y.length)return r?.error(new Error("Failed to create entities")),e.json({message:"Failed to create entities"},500);m(n);const l=y.filter(d=>d.status==="ok");return r?.setAttribute("totalSuccess",l.length),r?.setAttribute("totalFailed",y.length-l.length),e.json(y,207)}catch(t){return o.error(t),t instanceof Error&&t.message.includes("validation failed")?(r?.error(new Error(t.message)),e.json({message:t.message},400)):(r?.error(t),e.json({message:"Failed to create entities"},500))}}),N=async({catalogEntitiesService:s,ctx:e,serverOutDir:i})=>g("catalog_entities.update_entity",async n=>{const r=e.get("logger"),o=e.req.param(u);if(!o)return n?.error(new Error("Entity key is required")),e.json({message:"Entity key is required"},400);n?.setAttribute("pathParams",JSON.stringify({entityKey:o}));try{const t=await e.req.json();n?.setAttribute("requestBody",JSON.stringify(t));const a=await s.updateEntityByKey(o,t);return a?(m(i),n?.setAttribute("entity",JSON.stringify(a)),e.json(a)):(n?.error(new Error("Failed to update entity")),e.json({message:"Failed to update entity"},500))}catch(t){return r.error(t),t instanceof Error&&t.message.includes("validation failed")?(n?.error(new Error(t.message)),e.json({message:t.message},400)):(n?.error(t),e.json({message:t.message},500))}}),T=async({catalogEntitiesService:s,ctx:e,serverOutDir:i})=>g("catalog_entities.delete_entity",async n=>{const r=e.req.param(u);return r?(n?.setAttribute("pathParams",JSON.stringify({entityKey:r})),await s.deleteEntityByKey(r),m(i),new Response(null,{status:204})):(n?.error(new Error("Entity key is required")),e.json({message:"Entity key is required"},400))}),k={GET:O,POST:F,PUT:P},v={GET:C,DELETE:T,PATCH:N};function U(s){return async e=>g("catalog_entities",async i=>{const n=await h.getInstance({baseDbDir:s.serverOutDir}),r=e.req.method;i?.setAttribute("method",r);const o=e.req.param(u)?v:k,t=c(s.config.entitiesCatalog),a=o[r];return a?await a({catalogEntitiesService:n,ctx:e,catalogConfig:t,serverOutDir:s.serverOutDir}):(i?.error(new Error("Method not allowed")),e.json({message:"Method not allowed"},405))})}export{U as catalogHandler};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{serveStatic as
|
|
1
|
+
import{serveStatic as f}from"hono/serve-static";import{withPathPrefix as e,withoutPathPrefix as s}from"@redocly/theme/core/utils";import{ServerRoutes as i}from"../../../constants/common.js";import{PUBLIC_STATIC_FOLDER as R}from"../../constants/common.js";import{authMiddleware as c}from"../middleware/authMiddleware.js";import{ensureSearchData as g}from"../middleware/ensureSearchData.js";import{dynamicMiddleware as S}from"../middleware/dynamic-middleware/dynamic-middleware.js";import{installRoutes as I}from"../../plugins/dev-onboarding/api/routes/index.js";import{authorizeHandler as P,oidcCallbackHandler as r,logoutHandler as T,idpLoginHandler as h,redoclyLoginCallbackHandler as N,samlCallbackHandler as D,redoclyTokenLoginHandler as M,inviteHandler as B}from"./auth.js";import{appDataHandler as U}from"./app-data.js";import{searchFacetsHandler as G,searchHandler as w}from"./search.js";import{dynamicRouteHandler as F}from"./dynamic-route.js";import{pageDataHandler as K,sharedPageDataHandler as y}from"./page-data.js";import{pathPrefixRedirectHandler as k}from"./path-prefix-redirect.js";import{getRoutesByLineHandler as E,resolvePathHandler as o,resolvePathsHandler as v,resolveSlugHandler as p}from"./resolve-route.js";import{feedbackHandler as Y}from"./feedback.js";import{loggerMiddleware as b}from"../middleware/loggerMiddleware.js";import{responseHeadersMiddleware as V}from"../middleware/responseHeadersMiddleware.js";import{idleTimeoutMiddleware as x}from"../middleware/idleTimeoutMiddleware.js";import{otelTracesHandler as z}from"./otel/otel.js";import{healthCheckHandler as Z}from"./health.js";import{askAiHandler as $}from"./ask-ai.js";import{replayOauth2RedirectCallbackHandler as q}from"./replay-oauth2-redirect.js";import{mcpOAuthProtectedResourceHandler as W,mcpOAuthAuthorizationServerHandler as j,mcpDynamicClientRegistrationHandler as J,mcpAuthorizationHandler as Q,mcpTokenPortalHandler as X,mcpCallbackHandler as _}from"./mcp-oauth.js";import{corsMiddleware as O}from"../middleware/corsMiddleware.js";import{installApiRoutes as u}from"./api-routes/api-routes.js";import{cookieMiddleware as aa}from"../middleware/cookieMiddleware.js";import{staticContentHandler as ea}from"../routes/static-content.js";import{infoHandler as C}from"./info.js";import{catalogHandler as ia}from"./catalog/catalog.js";import{catalogRelationsHandler as la}from"./catalog/catalog-relations.js";import{bffCatalogHandler as ma}from"./catalog/bff-catalog.js";import{bffCatalogRevisionsHandler as ta}from"./catalog/bff-catalog-revisions.js";import{bffCatalogRelatedEntitiesHandler as na}from"./catalog/bff-catalog-related-entities.js";import{catalogAuthMiddleware as L}from"../middleware/catalogAuthMiddleware.js";import{telemetryMiddleware as Aa}from"../middleware/telemetry-middleware.js";import{errorHandler as da}from"./error.js";function qa(a,l,m){const{resolveRouteData:n,readStaticAsset:A}=m;a.use("*",x()),a.use("*",aa()),a.use("*",S(l)),a.use("*",c(l)),a.use("*",b()),a.use("*",V(l)),a.use("*",Aa()),a.use(e("*"),f({root:`./${R}`,getContent:(t,H)=>ea(t,H,l,A),rewriteRequestPath:t=>s(t)})),a.use(e(i.FEEDBACK),O({allowMethods:["POST"]})),a.use(e(i.ASK_AI),O({allowMethods:["POST"]})),a.use("*",Ta(l));const d=g(l);a.use(e(i.INFO),C()),process.env.NEW_CATALOG_ENABLED==="true"&&(a.use(e(i.CATALOG_ENTITIES),L({secureMethods:["POST","PUT","DELETE","PATCH"]})),a.use(e(i.CATALOG_ENTITIES_RELATIONS),L({secureMethods:["POST","PUT","DELETE","PATCH"]})),a.use(e(i.CATALOG_ENTITIES),ia(l)),a.use(e(i.CATALOG_ENTITIES_RELATIONS),la(l)),a.get(e(i.BFF_CATALOG_ENTITIES),ma(l)),a.get(e(i.BFF_CATALOG_RELATED_ENTITIES),na(l)),a.get(e(i.BFF_CATALOG_REVISIONS),ta(l))),a.get(e(i.SHARED_PAGE_DATA),y(l)),a.get(e(i.PAGE_DATA),K(l,n)),a.get(e(i.APP_DATA),U(l)),a.post(e(i.SEARCH),d,w(l)),a.post(e(i.SEARCH_FACETS),d,G(l)),a.post(e(i.AUTHORIZATION),P),a.post(e(i.LOGOUT),T(l)),a.get(e(i.LOGOUT),T(l)),a.get(e(i.OIDC_CALLBACK),r(l)),a.get(e(i.REDOCLY_TOKEN_LOGIN),M(l)),a.get(e(i.REDOCLY_LOGIN_CALLBACK),N()),a.get(e(i.IDP_LOGIN),h(l)),a.post(e(i.SAML_CALLBACK),D(l)),a.get(e(i.INVITE),B(l)),a.get(e(i.HEALTH),Z),a.get(e(i.MCP_OAUTH_PROTECTED_RESOURCE),W()),a.get(e(i.MCP_OAUTH_AUTHORIZATION_SERVER),j()),a.post(e(i.MCP_DYNAMIC_CLIENT_REGISTRATION),J()),a.get(e(i.MCP_AUTHORIZATION),Q()),a.post(e(i.MCP_TOKEN_PORTAL),X()),a.get(e(i.MCP_CALLBACK),_()),a.get(e(`${i.MCP_CALLBACK}/*`),_()),I(a,l),u(a,l),a.post(e(i.FEEDBACK),Y(l)),a.post(e(i.RESOLVE_ROUTE_BY_PATH),o(l)),a.post(e(i.RESOLVE_ROUTES_BY_PATHS),v(l)),a.post(e(i.RESOLVE_ROUTE_BY_SLUG),p(l)),a.post(e(i.ASK_AI),$(l)),a.get(e(i.GET_ROUTES_BY_LINE),E(l)),a.post(e(i.OTEL_TRACES),z),a.get(e(i.REPLAY_OAUTH2_CALLBACK),q),a.all(e("/*"),F(l,n,A)),a.get("*",k),a.onError(da)}function Ta(a){return async(l,m)=>{await a.waitForPluginsLifecycle(),await m()}}function Wa(a,l){a.get(e(i.INFO),C()),a.post(e(i.RESOLVE_ROUTE_BY_PATH),o(l)),a.post(e(i.RESOLVE_ROUTE_BY_SLUG),p(l)),a.get(e(i.GET_ROUTES_BY_LINE),E(l))}export{Wa as installDevRoutes,qa as installProdRoutes,Ta as waitForPluginsLifecycle};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{WorkerPool as r}from"./worker-pool.js";import{getAllowedEnvs as o}from"../utils/envs/get-api-route-allowed-env-variables.js";const c="startScorecardsEvaluationWorker",e=1,k=new r({workerScript:"./scorecards-worker",minWorkers:1,maxWorkers:e,workerType:"process",forkOpts:{env:o(),stdio:"inherit"},lazy:!0});export{c as SCORECARDS_WORKER_KEY,k as scorecardsWorker};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import r from"workerpool";import{startScorecardsWorker as o}from"../plugins/scorecards/workers/scorecards.js";import{SCORECARDS_WORKER_KEY as m}from"./scorecards-worker-pool.js";r.worker({[m]:o});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ApiRoutesWorkerParams, ApiRoutesWorkerResponse } from '../types/plugins/api-routes.js';
|
|
2
2
|
import type { RenderPayload } from '../../types/ssr.js';
|
|
3
|
+
import type { ScorecardsWorkerParams, ScorecardsWorkerResponse } from '../plugins/scorecards/workers/scorecards.js';
|
|
4
|
+
import type { SCORECARDS_WORKER_KEY } from './scorecards-worker-pool.js';
|
|
3
5
|
import type { API_ROUTES_WORKER_KEY } from './api-routes-worker-pool.js';
|
|
4
6
|
import type { SSR_WORKER_KEY } from './ssr-worker-pool.js';
|
|
5
7
|
export type SsrWorkerResponse = {
|
|
@@ -16,6 +18,10 @@ export type WorkerTypeMapping = {
|
|
|
16
18
|
params: [RenderPayload];
|
|
17
19
|
response: SsrWorkerResponse;
|
|
18
20
|
};
|
|
21
|
+
[SCORECARDS_WORKER_KEY]: {
|
|
22
|
+
params: [ScorecardsWorkerParams];
|
|
23
|
+
response: ScorecardsWorkerResponse;
|
|
24
|
+
};
|
|
19
25
|
};
|
|
20
26
|
export type WorkerParams<T extends keyof WorkerTypeMapping> = WorkerTypeMapping[T]['params'];
|
|
21
27
|
export type WorkerResponse<T extends keyof WorkerTypeMapping> = WorkerTypeMapping[T]['response'];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Allows a subset of keys from an object.
|
|
3
|
+
*
|
|
4
|
+
* @param object - The object to allow.
|
|
5
|
+
* @param allowedKeys - The keys to allow.
|
|
6
|
+
* @returns A new object with the allowed keys.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* const object = { a: 1, b: 2, c: 3 };
|
|
11
|
+
* const allowedObject = allowlistObject(object, ['a', 'c']);
|
|
12
|
+
* // { a: 1, c: 3 }
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function allowlistObject<T extends Record<string, unknown>, K extends keyof T>(object: T, allowedKeys: readonly K[]): Pick<T, K>;
|
|
16
|
+
//# sourceMappingURL=allowlist-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function i(e,t){return Object.fromEntries(Object.entries(e).filter(([r])=>t.includes(r)))}export{i as allowlistObject};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/revel-reef",
|
|
3
|
-
"version": "0.128.0-next.
|
|
3
|
+
"version": "0.128.0-next.7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"react-router-dom": "^6.21.1",
|
|
78
78
|
"react-select": "5.10.1",
|
|
79
79
|
"reactjs-popup": "2.0.6",
|
|
80
|
-
"semver": "7.
|
|
80
|
+
"semver": "7.7.3",
|
|
81
81
|
"shiki": "1.24.4",
|
|
82
82
|
"simple-git": "3.20.0",
|
|
83
83
|
"sitemap": "7.1.1",
|
|
@@ -92,14 +92,14 @@
|
|
|
92
92
|
"xml-crypto": "6.0.1",
|
|
93
93
|
"xpath": "0.0.34",
|
|
94
94
|
"yaml-ast-parser": "0.0.43",
|
|
95
|
-
"@redocly/asyncapi-docs": "1.5.0-next.
|
|
95
|
+
"@redocly/asyncapi-docs": "1.5.0-next.7",
|
|
96
96
|
"@redocly/config": "0.40.0",
|
|
97
97
|
"@redocly/graphql-docs": "1.5.0-next.1",
|
|
98
|
-
"@redocly/openapi-docs": "3.16.0-next.
|
|
98
|
+
"@redocly/openapi-docs": "3.16.0-next.7",
|
|
99
99
|
"@redocly/portal-legacy-ui": "0.11.0-next.0",
|
|
100
|
-
"@redocly/portal-plugin-mock-server": "0.13.0-next.
|
|
101
|
-
"@redocly/realm-asyncapi-sdk": "0.6.0-next.
|
|
102
|
-
"@redocly/theme": "0.60.0-next.
|
|
100
|
+
"@redocly/portal-plugin-mock-server": "0.13.0-next.7",
|
|
101
|
+
"@redocly/realm-asyncapi-sdk": "0.6.0-next.1",
|
|
102
|
+
"@redocly/theme": "0.60.0-next.5"
|
|
103
103
|
},
|
|
104
104
|
"peerDependencies": {
|
|
105
105
|
"react": "^19.1.0",
|