@eventcatalog/generator-openapi 7.11.1 → 7.12.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.
- package/dist/index.d.mts +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +34 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -12
- package/dist/index.mjs.map +1 -1
- package/dist/types.d.mts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -4208,7 +4208,7 @@ import { join } from "path";
|
|
|
4208
4208
|
// package.json
|
|
4209
4209
|
var package_default = {
|
|
4210
4210
|
name: "@eventcatalog/generator-openapi",
|
|
4211
|
-
version: "7.
|
|
4211
|
+
version: "7.12.0",
|
|
4212
4212
|
description: "OpenAPI generator for EventCatalog",
|
|
4213
4213
|
scripts: {
|
|
4214
4214
|
build: "tsup",
|
|
@@ -4245,7 +4245,7 @@ var package_default = {
|
|
|
4245
4245
|
dependencies: {
|
|
4246
4246
|
"@apidevtools/swagger-parser": "^10.1.0",
|
|
4247
4247
|
"@changesets/cli": "^2.27.7",
|
|
4248
|
-
"@eventcatalog/sdk": "^2.18.
|
|
4248
|
+
"@eventcatalog/sdk": "^2.18.4",
|
|
4249
4249
|
chalk: "4.1.2",
|
|
4250
4250
|
"js-yaml": "^4.1.0",
|
|
4251
4251
|
"openapi-types": "^12.1.3",
|
|
@@ -4448,6 +4448,22 @@ var mergeSends = (existing, incoming) => {
|
|
|
4448
4448
|
var toUniqueArray = (array) => {
|
|
4449
4449
|
return array.filter((item, index, self) => index === self.findIndex((t) => t.id === item.id && t.version === item.version));
|
|
4450
4450
|
};
|
|
4451
|
+
var SKIP_PATH_SEGMENTS = /* @__PURE__ */ new Set(["api", "v1", "v2", "v3", "v4", "v5"]);
|
|
4452
|
+
var getMessageGroup = (operation, groupMessagesBy) => {
|
|
4453
|
+
if (!groupMessagesBy) return void 0;
|
|
4454
|
+
if (groupMessagesBy === "x-extension") {
|
|
4455
|
+
return operation.extensions?.["x-eventcatalog-group"] || void 0;
|
|
4456
|
+
}
|
|
4457
|
+
if (groupMessagesBy === "path-prefix") {
|
|
4458
|
+
const allSegments = operation.path.split("/").filter(Boolean);
|
|
4459
|
+
const meaningfulSegments = allSegments.filter((s) => !SKIP_PATH_SEGMENTS.has(s.toLowerCase()));
|
|
4460
|
+
if (meaningfulSegments.length < 2) return void 0;
|
|
4461
|
+
const prefix = meaningfulSegments.find((s) => !s.startsWith("{"));
|
|
4462
|
+
if (!prefix) return void 0;
|
|
4463
|
+
return prefix.charAt(0).toUpperCase() + prefix.slice(1).toLowerCase();
|
|
4464
|
+
}
|
|
4465
|
+
return void 0;
|
|
4466
|
+
};
|
|
4451
4467
|
var fetchAuthenticatedSpec = async (specUrl, headers) => {
|
|
4452
4468
|
const response = await fetch(specUrl, { method: "GET", headers });
|
|
4453
4469
|
if (!response.ok) {
|
|
@@ -4608,6 +4624,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
4608
4624
|
let repository = null;
|
|
4609
4625
|
let styles2 = null;
|
|
4610
4626
|
let serviceDiagrams = null;
|
|
4627
|
+
let serviceFlows = null;
|
|
4628
|
+
let serviceEntities = null;
|
|
4611
4629
|
let serviceWritesTo = configuredWritesTo;
|
|
4612
4630
|
let serviceReadsFrom = configuredReadsFrom;
|
|
4613
4631
|
const persistPreviousSpecificationFiles = Array.isArray(serviceSpec.path) === false;
|
|
@@ -4621,6 +4639,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
4621
4639
|
serviceBadges = latestServiceInCatalog.badges || null;
|
|
4622
4640
|
serviceAttachments = latestServiceInCatalog.attachments || null;
|
|
4623
4641
|
serviceDiagrams = latestServiceInCatalog.diagrams || null;
|
|
4642
|
+
serviceFlows = latestServiceInCatalog.flows || null;
|
|
4643
|
+
serviceEntities = latestServiceInCatalog.entities || null;
|
|
4624
4644
|
serviceWritesTo = latestServiceInCatalog.writesTo || [];
|
|
4625
4645
|
serviceReadsFrom = latestServiceInCatalog.readsFrom || [];
|
|
4626
4646
|
if (persistPreviousSpecificationFiles) {
|
|
@@ -4651,6 +4671,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
4651
4671
|
...repository ? { repository } : {},
|
|
4652
4672
|
...styles2 ? { styles: styles2 } : {},
|
|
4653
4673
|
...serviceDiagrams ? { diagrams: serviceDiagrams } : {},
|
|
4674
|
+
...serviceFlows ? { flows: serviceFlows } : {},
|
|
4675
|
+
...serviceEntities ? { entities: serviceEntities } : {},
|
|
4654
4676
|
...isServiceMarkedAsDraft ? { draft: true } : {},
|
|
4655
4677
|
...serviceAttachments ? { attachments: serviceAttachments } : {},
|
|
4656
4678
|
...serviceWritesTo.length > 0 ? { writesTo: serviceWritesTo } : {},
|
|
@@ -4679,9 +4701,9 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
4679
4701
|
console.log(chalk4.cyan(` - Service (v${version}) created`));
|
|
4680
4702
|
const consumers = serviceSpec.consumers || [];
|
|
4681
4703
|
for (const consumer of consumers) {
|
|
4682
|
-
const consumerVersion = consumer.version || "1.0.0";
|
|
4683
4704
|
const filteredSends = filterMessagesByRoutes(allGeneratedMessages, consumer.routes);
|
|
4684
|
-
const existingConsumer = await getService(consumer.id,
|
|
4705
|
+
const existingConsumer = await getService(consumer.id, consumer.version || "latest");
|
|
4706
|
+
const consumerVersion = consumer.version || existingConsumer?.version || "1.0.0";
|
|
4685
4707
|
if (existingConsumer) {
|
|
4686
4708
|
const mergedSends = mergeSends(existingConsumer.sends || [], filteredSends);
|
|
4687
4709
|
const consumerResource = await getResourcePath(process.env.PROJECT_DIR, consumer.id, consumerVersion);
|
|
@@ -4818,16 +4840,16 @@ var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, o
|
|
|
4818
4840
|
},
|
|
4819
4841
|
{ path: options.pathForMessages || messagePath, override: true }
|
|
4820
4842
|
);
|
|
4843
|
+
const group = getMessageGroup(operation, options.groupMessagesBy);
|
|
4844
|
+
const pointer = {
|
|
4845
|
+
id: message2.id,
|
|
4846
|
+
version: message2.version,
|
|
4847
|
+
...group ? { group } : {}
|
|
4848
|
+
};
|
|
4821
4849
|
if (messageAction === "sends") {
|
|
4822
|
-
sends.push(
|
|
4823
|
-
id: message2.id,
|
|
4824
|
-
version: message2.version
|
|
4825
|
-
});
|
|
4850
|
+
sends.push(pointer);
|
|
4826
4851
|
} else {
|
|
4827
|
-
receives.push(
|
|
4828
|
-
id: message2.id,
|
|
4829
|
-
version: message2.version
|
|
4830
|
-
});
|
|
4852
|
+
receives.push(pointer);
|
|
4831
4853
|
}
|
|
4832
4854
|
allGeneratedMessages.push({
|
|
4833
4855
|
id: message2.id,
|