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