@eventcatalog/generator-openapi 7.5.5 → 7.6.1
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.js +28 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +28 -15
- 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.js
CHANGED
|
@@ -1575,7 +1575,7 @@ var buildService = (serviceOptions, document2, generateMarkdown) => {
|
|
|
1575
1575
|
const generatedMarkdownForService = defaultMarkdown2(document2, schemaPath);
|
|
1576
1576
|
return {
|
|
1577
1577
|
id: serviceId,
|
|
1578
|
-
version: document2.info.version,
|
|
1578
|
+
version: serviceOptions.version || document2.info.version,
|
|
1579
1579
|
name: document2.info.title,
|
|
1580
1580
|
summary: getSummary(document2),
|
|
1581
1581
|
schemaPath,
|
|
@@ -1814,7 +1814,7 @@ var getSummary2 = (message2) => {
|
|
|
1814
1814
|
}
|
|
1815
1815
|
return escapeSpecialCharactersThatBreakMarkdown(eventCatalogMessageSummary);
|
|
1816
1816
|
};
|
|
1817
|
-
var buildMessage = async (pathToFile, document2, operation, generateMarkdown, messageIdConfig, serviceId) => {
|
|
1817
|
+
var buildMessage = async (pathToFile, document2, operation, generateMarkdown, messageIdConfig, serviceId, serviceVersion) => {
|
|
1818
1818
|
const requestBodiesAndResponses = await getSchemasByOperationId(pathToFile, operation.operationId);
|
|
1819
1819
|
const extensions = operation.extensions || {};
|
|
1820
1820
|
const operationTags = operation.tags.map((badge) => ({
|
|
@@ -1836,13 +1836,14 @@ var buildMessage = async (pathToFile, document2, operation, generateMarkdown, me
|
|
|
1836
1836
|
uniqueIdentifier = [messageIdConfig.prefix, uniqueIdentifier].join(separator);
|
|
1837
1837
|
}
|
|
1838
1838
|
const messageName = extensions["x-eventcatalog-message-id"] || uniqueIdentifier;
|
|
1839
|
+
const messageVersion = extensions["x-eventcatalog-message-version"] || serviceVersion || document2.info.version;
|
|
1839
1840
|
if (messageIdConfig?.prefixWithServiceId) {
|
|
1840
1841
|
const separator = messageIdConfig.separator || "-";
|
|
1841
1842
|
uniqueIdentifier = [serviceId, uniqueIdentifier].join(separator);
|
|
1842
1843
|
}
|
|
1843
1844
|
return {
|
|
1844
1845
|
id: extensions["x-eventcatalog-message-id"] || uniqueIdentifier,
|
|
1845
|
-
version:
|
|
1846
|
+
version: messageVersion,
|
|
1846
1847
|
name: extensions["x-eventcatalog-message-name"] || messageName,
|
|
1847
1848
|
summary: getSummary2(operation),
|
|
1848
1849
|
markdown: generateMarkdown ? generateMarkdown({ operation, markdown: generatedMarkdownForMessage }) : generatedMarkdownForMessage,
|
|
@@ -4071,7 +4072,7 @@ var import_node_path = require("path");
|
|
|
4071
4072
|
// package.json
|
|
4072
4073
|
var package_default = {
|
|
4073
4074
|
name: "@eventcatalog/generator-openapi",
|
|
4074
|
-
version: "7.
|
|
4075
|
+
version: "7.6.1",
|
|
4075
4076
|
description: "OpenAPI generator for EventCatalog",
|
|
4076
4077
|
scripts: {
|
|
4077
4078
|
build: "tsup",
|
|
@@ -4108,7 +4109,7 @@ var package_default = {
|
|
|
4108
4109
|
dependencies: {
|
|
4109
4110
|
"@apidevtools/swagger-parser": "^10.1.0",
|
|
4110
4111
|
"@changesets/cli": "^2.27.7",
|
|
4111
|
-
"@eventcatalog/sdk": "^2.
|
|
4112
|
+
"@eventcatalog/sdk": "^2.9.2",
|
|
4112
4113
|
chalk: "4.1.2",
|
|
4113
4114
|
"js-yaml": "^4.1.0",
|
|
4114
4115
|
"openapi-types": "^12.1.3",
|
|
@@ -4206,7 +4207,8 @@ var index_default = async (_, options) => {
|
|
|
4206
4207
|
const document2 = await import_swagger_parser2.default.dereference(specFile);
|
|
4207
4208
|
return {
|
|
4208
4209
|
document: document2,
|
|
4209
|
-
path: specFile
|
|
4210
|
+
path: specFile,
|
|
4211
|
+
version: serviceSpec.version || document2.info.version
|
|
4210
4212
|
};
|
|
4211
4213
|
} catch (error) {
|
|
4212
4214
|
console.error(import_chalk4.default.red(`Failed to parse OpenAPI file: ${specFile}`));
|
|
@@ -4217,15 +4219,19 @@ var index_default = async (_, options) => {
|
|
|
4217
4219
|
const validSpecs = await Promise.all(specs);
|
|
4218
4220
|
const validSpecFiles = validSpecs.filter((v) => v !== null);
|
|
4219
4221
|
const orderedSpecs = validSpecFiles.sort((a, b) => {
|
|
4220
|
-
const versionA = a?.
|
|
4221
|
-
const versionB = b?.
|
|
4222
|
+
const versionA = a?.version ?? "";
|
|
4223
|
+
const versionB = b?.version ?? "";
|
|
4222
4224
|
return versionA.localeCompare(versionB);
|
|
4223
4225
|
});
|
|
4224
4226
|
for (const specification of orderedSpecs) {
|
|
4225
4227
|
const document2 = specification.document;
|
|
4226
|
-
const version =
|
|
4228
|
+
const version = specification.version;
|
|
4227
4229
|
const specPath = specification.path;
|
|
4228
|
-
const service = buildService(
|
|
4230
|
+
const service = buildService(
|
|
4231
|
+
{ ...serviceSpec, path: specPath, version: specification.version },
|
|
4232
|
+
document2,
|
|
4233
|
+
serviceSpec.generateMarkdown
|
|
4234
|
+
);
|
|
4229
4235
|
let serviceMarkdown = service.markdown;
|
|
4230
4236
|
let serviceSpecificationsFiles = [];
|
|
4231
4237
|
let serviceSpecifications = service.specifications;
|
|
@@ -4270,6 +4276,11 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
4270
4276
|
await addServiceToDomain(domainId, { id: service.id, version: service.version }, domainVersion);
|
|
4271
4277
|
}
|
|
4272
4278
|
const latestServiceInCatalog = await getService(service.id, "latest");
|
|
4279
|
+
let latestVersionSpecificationFiles = [];
|
|
4280
|
+
try {
|
|
4281
|
+
latestVersionSpecificationFiles = await getSpecificationFilesForService(service.id, "latest");
|
|
4282
|
+
} catch (error) {
|
|
4283
|
+
}
|
|
4273
4284
|
const versionTheService = latestServiceInCatalog && isVersionGreaterThan(version, latestServiceInCatalog.version);
|
|
4274
4285
|
console.log(import_chalk4.default.blue(`Processing service: ${document2.info.title} (v${version})`));
|
|
4275
4286
|
if (latestServiceInCatalog && isVersionLessThan(version, latestServiceInCatalog.version)) {
|
|
@@ -4284,7 +4295,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
4284
4295
|
owners: service.setMessageOwnersToServiceOwners ? service.owners : [],
|
|
4285
4296
|
serviceHasMultipleSpecFiles: Array.isArray(serviceSpec.path),
|
|
4286
4297
|
isDraft: isServiceMarkedAsDraft,
|
|
4287
|
-
serviceId: service.id
|
|
4298
|
+
serviceId: service.id,
|
|
4299
|
+
serviceVersion: service.version
|
|
4288
4300
|
});
|
|
4289
4301
|
let owners = service.owners || [];
|
|
4290
4302
|
let repository = null;
|
|
@@ -4292,7 +4304,7 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
4292
4304
|
const persistPreviousSpecificationFiles = Array.isArray(serviceSpec.path) === false;
|
|
4293
4305
|
if (latestServiceInCatalog) {
|
|
4294
4306
|
serviceMarkdown = latestServiceInCatalog.markdown;
|
|
4295
|
-
serviceSpecificationsFiles =
|
|
4307
|
+
serviceSpecificationsFiles = latestVersionSpecificationFiles;
|
|
4296
4308
|
sends = latestServiceInCatalog.sends || [];
|
|
4297
4309
|
owners = latestServiceInCatalog.owners || [];
|
|
4298
4310
|
repository = latestServiceInCatalog.repository || null;
|
|
@@ -4354,7 +4366,7 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
4354
4366
|
var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, options) => {
|
|
4355
4367
|
const operations = await getOperationsByType(pathToSpec, options.httpMethodsToMessages);
|
|
4356
4368
|
const sidebarBadgeType = options.sidebarBadgeType || "HTTP_METHOD";
|
|
4357
|
-
const version = document2.info.version;
|
|
4369
|
+
const version = options.serviceVersion || document2.info.version;
|
|
4358
4370
|
const preserveExistingMessages = options.preserveExistingMessages ?? true;
|
|
4359
4371
|
const isDraft = options.isDraft ?? null;
|
|
4360
4372
|
let receives = [], sends = [];
|
|
@@ -4365,7 +4377,8 @@ var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, o
|
|
|
4365
4377
|
operation,
|
|
4366
4378
|
options.messages?.generateMarkdown,
|
|
4367
4379
|
options.messages?.id,
|
|
4368
|
-
options.serviceId
|
|
4380
|
+
options.serviceId,
|
|
4381
|
+
version
|
|
4369
4382
|
);
|
|
4370
4383
|
let messageMarkdown = message2.markdown;
|
|
4371
4384
|
const messageType = operation.type;
|
|
@@ -4387,7 +4400,7 @@ var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, o
|
|
|
4387
4400
|
if (preserveExistingMessages) {
|
|
4388
4401
|
messageMarkdown = catalogedMessage.markdown;
|
|
4389
4402
|
}
|
|
4390
|
-
if (catalogedMessage.version !== version) {
|
|
4403
|
+
if (catalogedMessage.version !== message2.version) {
|
|
4391
4404
|
console.log("versioning message", message2.id);
|
|
4392
4405
|
await versionMessage(message2.id);
|
|
4393
4406
|
console.log(import_chalk4.default.cyan(` - Versioned previous message: ${message2.id} (v${catalogedMessage.version})`));
|