@eventcatalog/generator-openapi 7.2.0 → 7.3.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 +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +31 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -11
- package/dist/index.mjs.map +1 -1
- package/dist/types.d.mts +18 -2
- package/dist/types.d.ts +18 -2
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Service, Domain } from './types.mjs';
|
|
1
|
+
import { Service, Message, Domain } from './types.mjs';
|
|
2
2
|
import 'openapi-types';
|
|
3
3
|
|
|
4
4
|
type MESSAGE_TYPE = 'command' | 'query' | 'event';
|
|
@@ -6,6 +6,7 @@ type HTTP_METHOD = 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIO
|
|
|
6
6
|
type HTTP_METHOD_TO_MESSAGE_TYPE = Partial<Record<HTTP_METHOD, MESSAGE_TYPE>>;
|
|
7
7
|
type Props = {
|
|
8
8
|
services: Service[];
|
|
9
|
+
messages?: Message;
|
|
9
10
|
domain?: Domain;
|
|
10
11
|
debug?: boolean;
|
|
11
12
|
saveParsedSpecFile?: boolean;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Service, Domain } from './types.js';
|
|
1
|
+
import { Service, Message, Domain } from './types.js';
|
|
2
2
|
import 'openapi-types';
|
|
3
3
|
|
|
4
4
|
type MESSAGE_TYPE = 'command' | 'query' | 'event';
|
|
@@ -6,6 +6,7 @@ type HTTP_METHOD = 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIO
|
|
|
6
6
|
type HTTP_METHOD_TO_MESSAGE_TYPE = Partial<Record<HTTP_METHOD, MESSAGE_TYPE>>;
|
|
7
7
|
type Props = {
|
|
8
8
|
services: Service[];
|
|
9
|
+
messages?: Message;
|
|
9
10
|
domain?: Domain;
|
|
10
11
|
debug?: boolean;
|
|
11
12
|
saveParsedSpecFile?: boolean;
|
package/dist/index.js
CHANGED
|
@@ -6644,6 +6644,7 @@ var buildService = (serviceOptions, document2, generateMarkdown) => {
|
|
|
6644
6644
|
const schemaPath = import_path.default.basename(serviceOptions.path) || "openapi.yml";
|
|
6645
6645
|
const documentTags = document2.tags || [];
|
|
6646
6646
|
const serviceId = serviceOptions.id || (0, import_slugify.default)(document2.info.title, { lower: true, strict: true });
|
|
6647
|
+
const generatedMarkdownForService = defaultMarkdown2(document2, schemaPath);
|
|
6647
6648
|
return {
|
|
6648
6649
|
id: serviceId,
|
|
6649
6650
|
version: document2.info.version,
|
|
@@ -6653,7 +6654,7 @@ var buildService = (serviceOptions, document2, generateMarkdown) => {
|
|
|
6653
6654
|
specifications: {
|
|
6654
6655
|
openapiPath: schemaPath
|
|
6655
6656
|
},
|
|
6656
|
-
markdown: generateMarkdown ? generateMarkdown(
|
|
6657
|
+
markdown: generateMarkdown ? generateMarkdown({ service: serviceOptions, document: document2, markdown: generatedMarkdownForService }) : generatedMarkdownForService,
|
|
6657
6658
|
badges: documentTags.map((tag) => ({ content: tag.name, textColor: "blue", backgroundColor: "blue" })),
|
|
6658
6659
|
owners: serviceOptions.owners || [],
|
|
6659
6660
|
setMessageOwnersToServiceOwners: serviceOptions.setMessageOwnersToServiceOwners || true
|
|
@@ -6867,7 +6868,7 @@ var getSummary2 = (message) => {
|
|
|
6867
6868
|
}
|
|
6868
6869
|
return eventCatalogMessageSummary;
|
|
6869
6870
|
};
|
|
6870
|
-
var buildMessage = async (pathToFile, document2, operation) => {
|
|
6871
|
+
var buildMessage = async (pathToFile, document2, operation, generateMarkdown) => {
|
|
6871
6872
|
const requestBodiesAndResponses = await getSchemasByOperationId(pathToFile, operation.operationId);
|
|
6872
6873
|
const extensions = operation.extensions || {};
|
|
6873
6874
|
const operationTags = operation.tags.map((badge) => ({
|
|
@@ -6883,18 +6884,20 @@ var buildMessage = async (pathToFile, document2, operation) => {
|
|
|
6883
6884
|
uniqueIdentifier = uniqueIdentifier.concat(`_${path3}`);
|
|
6884
6885
|
}
|
|
6885
6886
|
const httpVerb = operation.method.toUpperCase() || "";
|
|
6887
|
+
const generatedMarkdownForMessage = defaultMarkdown3(operation, requestBodiesAndResponses);
|
|
6886
6888
|
return {
|
|
6887
6889
|
id: extensions["x-eventcatalog-message-id"] || uniqueIdentifier,
|
|
6888
6890
|
version: extensions["x-eventcatalog-message-version"] || document2.info.version,
|
|
6889
6891
|
name: extensions["x-eventcatalog-message-name"] || uniqueIdentifier,
|
|
6890
6892
|
summary: getSummary2(operation),
|
|
6891
|
-
markdown:
|
|
6893
|
+
markdown: generateMarkdown ? generateMarkdown({ operation, markdown: generatedMarkdownForMessage }) : generatedMarkdownForMessage,
|
|
6892
6894
|
schemaPath: requestBodiesAndResponses?.requestBody ? "request-body.json" : "",
|
|
6893
6895
|
badges,
|
|
6894
6896
|
requestBodiesAndResponses,
|
|
6895
6897
|
sidebar: {
|
|
6896
6898
|
badge: httpVerb
|
|
6897
6899
|
},
|
|
6900
|
+
...extensions["x-eventcatalog-draft"] ? { draft: true } : {},
|
|
6898
6901
|
...operation.deprecated ? { deprecated: operation.deprecated } : {}
|
|
6899
6902
|
};
|
|
6900
6903
|
};
|
|
@@ -8293,7 +8296,7 @@ var import_node_path2 = require("path");
|
|
|
8293
8296
|
// package.json
|
|
8294
8297
|
var package_default = {
|
|
8295
8298
|
name: "@eventcatalog/generator-openapi",
|
|
8296
|
-
version: "7.
|
|
8299
|
+
version: "7.3.0",
|
|
8297
8300
|
description: "OpenAPI generator for EventCatalog",
|
|
8298
8301
|
scripts: {
|
|
8299
8302
|
build: "tsup",
|
|
@@ -8330,7 +8333,7 @@ var package_default = {
|
|
|
8330
8333
|
dependencies: {
|
|
8331
8334
|
"@apidevtools/swagger-parser": "^10.1.0",
|
|
8332
8335
|
"@changesets/cli": "^2.27.7",
|
|
8333
|
-
"@eventcatalog/sdk": "^2.
|
|
8336
|
+
"@eventcatalog/sdk": "^2.6.9",
|
|
8334
8337
|
chalk: "^4",
|
|
8335
8338
|
"js-yaml": "^4.1.0",
|
|
8336
8339
|
"openapi-types": "^12.1.3",
|
|
@@ -9260,6 +9263,11 @@ var index_default = async (_, options) => {
|
|
|
9260
9263
|
let serviceMarkdown = service.markdown;
|
|
9261
9264
|
let serviceSpecificationsFiles = [];
|
|
9262
9265
|
let serviceSpecifications = service.specifications;
|
|
9266
|
+
const isDomainMarkedAsDraft = options.domain?.draft || null;
|
|
9267
|
+
const isServiceMarkedAsDraft = (
|
|
9268
|
+
// @ts-ignore
|
|
9269
|
+
isDomainMarkedAsDraft || document2.info?.["x-eventcatalog-draft"] || serviceSpec.draft || null
|
|
9270
|
+
);
|
|
9263
9271
|
let servicePath = options.domain ? (0, import_node_path2.join)("../", "domains", options.domain.id, "services", service.id) : (0, import_node_path2.join)("../", "services", service.id);
|
|
9264
9272
|
if (options.writeFilesToRoot) {
|
|
9265
9273
|
servicePath = service.id;
|
|
@@ -9275,12 +9283,14 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
9275
9283
|
console.log(import_chalk3.default.cyan(` - Versioned previous domain (v${currentDomain.version})`));
|
|
9276
9284
|
}
|
|
9277
9285
|
if (!domain || domain && domain.version !== domainVersion) {
|
|
9286
|
+
const generatedMarkdownForDomain = defaultMarkdown();
|
|
9278
9287
|
await writeDomain({
|
|
9279
9288
|
id: domainId,
|
|
9280
9289
|
name: domainName,
|
|
9281
9290
|
version: domainVersion,
|
|
9282
|
-
markdown:
|
|
9283
|
-
...options.domain?.owners ? { owners: options.domain.owners } : {}
|
|
9291
|
+
markdown: options.domain?.generateMarkdown ? options.domain.generateMarkdown({ domain: options.domain, markdown: generatedMarkdownForDomain }) : generatedMarkdownForDomain,
|
|
9292
|
+
...options.domain?.owners ? { owners: options.domain.owners } : {},
|
|
9293
|
+
...isDomainMarkedAsDraft && { draft: true }
|
|
9284
9294
|
});
|
|
9285
9295
|
console.log(import_chalk3.default.cyan(` - Domain (v${domainVersion}) created`));
|
|
9286
9296
|
}
|
|
@@ -9302,7 +9312,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
9302
9312
|
let { sends, receives } = await processMessagesForOpenAPISpec(specPath, document2, servicePath, {
|
|
9303
9313
|
...options,
|
|
9304
9314
|
owners: service.setMessageOwnersToServiceOwners ? service.owners : [],
|
|
9305
|
-
serviceHasMultipleSpecFiles: Array.isArray(serviceSpec.path)
|
|
9315
|
+
serviceHasMultipleSpecFiles: Array.isArray(serviceSpec.path),
|
|
9316
|
+
isDraft: isServiceMarkedAsDraft
|
|
9306
9317
|
});
|
|
9307
9318
|
let owners = service.owners || [];
|
|
9308
9319
|
let repository = null;
|
|
@@ -9323,6 +9334,7 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
9323
9334
|
receives = latestServiceInCatalog.receives ? [...latestServiceInCatalog.receives, ...receives] : receives;
|
|
9324
9335
|
}
|
|
9325
9336
|
}
|
|
9337
|
+
console.log("isServiceMarkedAsDraft", service);
|
|
9326
9338
|
await writeService(
|
|
9327
9339
|
{
|
|
9328
9340
|
...service,
|
|
@@ -9332,7 +9344,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
|
|
|
9332
9344
|
receives,
|
|
9333
9345
|
...owners ? { owners } : {},
|
|
9334
9346
|
...repository ? { repository } : {},
|
|
9335
|
-
...styles2 ? { styles: styles2 } : {}
|
|
9347
|
+
...styles2 ? { styles: styles2 } : {},
|
|
9348
|
+
...isServiceMarkedAsDraft ? { draft: true } : {}
|
|
9336
9349
|
},
|
|
9337
9350
|
{ path: (0, import_node_path2.join)(servicePath), override: true }
|
|
9338
9351
|
);
|
|
@@ -9363,9 +9376,15 @@ var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, o
|
|
|
9363
9376
|
const sidebarBadgeType = options.sidebarBadgeType || "HTTP_METHOD";
|
|
9364
9377
|
const version = document2.info.version;
|
|
9365
9378
|
const preserveExistingMessages = options.preserveExistingMessages ?? true;
|
|
9379
|
+
const isDraft = options.isDraft ?? null;
|
|
9366
9380
|
let receives = [], sends = [];
|
|
9367
9381
|
for (const operation of operations) {
|
|
9368
|
-
const { requestBodiesAndResponses, sidebar, ...message } = await buildMessage(
|
|
9382
|
+
const { requestBodiesAndResponses, sidebar, ...message } = await buildMessage(
|
|
9383
|
+
pathToSpec,
|
|
9384
|
+
document2,
|
|
9385
|
+
operation,
|
|
9386
|
+
options.messages?.generateMarkdown
|
|
9387
|
+
);
|
|
9369
9388
|
let messageMarkdown = message.markdown;
|
|
9370
9389
|
const messageType = operation.type;
|
|
9371
9390
|
const messageAction = operation.action;
|
|
@@ -9397,7 +9416,8 @@ var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, o
|
|
|
9397
9416
|
markdown: messageMarkdown,
|
|
9398
9417
|
...options.owners ? { owners: options.owners } : {},
|
|
9399
9418
|
// only if its defined add it to the sidebar
|
|
9400
|
-
...sidebarBadgeType === "HTTP_METHOD" ? { sidebar } : {}
|
|
9419
|
+
...sidebarBadgeType === "HTTP_METHOD" ? { sidebar } : {},
|
|
9420
|
+
...isDraft ? { draft: true } : {}
|
|
9401
9421
|
},
|
|
9402
9422
|
{ path: options.pathForMessages || messagePath, override: true }
|
|
9403
9423
|
);
|