@eventcatalog/sdk 2.7.5 → 2.8.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.
Files changed (54) hide show
  1. package/dist/channels.js +18 -9
  2. package/dist/channels.js.map +1 -1
  3. package/dist/channels.mjs +11 -2
  4. package/dist/channels.mjs.map +1 -1
  5. package/dist/commands.js +14 -5
  6. package/dist/commands.js.map +1 -1
  7. package/dist/commands.mjs +11 -2
  8. package/dist/commands.mjs.map +1 -1
  9. package/dist/custom-docs.js +6 -5
  10. package/dist/custom-docs.js.map +1 -1
  11. package/dist/custom-docs.mjs +1 -0
  12. package/dist/custom-docs.mjs.map +1 -1
  13. package/dist/domains.js +17 -8
  14. package/dist/domains.js.map +1 -1
  15. package/dist/domains.mjs +11 -2
  16. package/dist/domains.mjs.map +1 -1
  17. package/dist/entities.js +13 -4
  18. package/dist/entities.js.map +1 -1
  19. package/dist/entities.mjs +11 -2
  20. package/dist/entities.mjs.map +1 -1
  21. package/dist/eventcatalog.js +172 -156
  22. package/dist/eventcatalog.js.map +1 -1
  23. package/dist/eventcatalog.mjs +23 -7
  24. package/dist/eventcatalog.mjs.map +1 -1
  25. package/dist/events.js +14 -5
  26. package/dist/events.js.map +1 -1
  27. package/dist/events.mjs +11 -2
  28. package/dist/events.mjs.map +1 -1
  29. package/dist/index.d.mts +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +172 -156
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.mjs +23 -7
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/messages.js +4 -3
  36. package/dist/messages.js.map +1 -1
  37. package/dist/messages.mjs +1 -0
  38. package/dist/messages.mjs.map +1 -1
  39. package/dist/queries.js +14 -5
  40. package/dist/queries.js.map +1 -1
  41. package/dist/queries.mjs +11 -2
  42. package/dist/queries.mjs.map +1 -1
  43. package/dist/services.js +31 -15
  44. package/dist/services.js.map +1 -1
  45. package/dist/services.mjs +23 -7
  46. package/dist/services.mjs.map +1 -1
  47. package/dist/teams.js +9 -8
  48. package/dist/teams.js.map +1 -1
  49. package/dist/teams.mjs +1 -0
  50. package/dist/teams.mjs.map +1 -1
  51. package/dist/types.d.d.mts +9 -2
  52. package/dist/types.d.d.ts +9 -2
  53. package/dist/types.d.js.map +1 -1
  54. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -120,6 +120,7 @@ import fs from "fs/promises";
120
120
  import fsSync2 from "fs";
121
121
  import { satisfies as satisfies2 } from "semver";
122
122
  import { lock, unlock } from "proper-lockfile";
123
+ import { basename as basename2 } from "path";
123
124
  var versionResource = async (catalogDir, id) => {
124
125
  const files = await getFiles(`${catalogDir}/**/index.{md,mdx}`);
125
126
  const matchedFiles = await searchFilesForId(files, id);
@@ -127,16 +128,24 @@ var versionResource = async (catalogDir, id) => {
127
128
  throw new Error(`No resource found with id: ${id}`);
128
129
  }
129
130
  const file = matchedFiles[0];
130
- const sourceDirectory = dirname2(file);
131
+ const sourceDirectory = dirname2(file).replace(/\/versioned?\/[^/]+\//, "/");
131
132
  const { data: { version = "0.0.1" } = {} } = matter2.read(file);
132
133
  const targetDirectory = getVersionedDirectory(sourceDirectory, version);
133
134
  fsSync2.mkdirSync(targetDirectory, { recursive: true });
135
+ const ignoreListToCopy = ["events", "commands", "queries", "versioned"];
134
136
  await copyDir(catalogDir, sourceDirectory, targetDirectory, (src) => {
135
- return !src.includes("versioned");
137
+ const folderName = basename2(src);
138
+ if (ignoreListToCopy.includes(folderName)) {
139
+ return false;
140
+ }
141
+ return true;
136
142
  });
137
143
  await fs.readdir(sourceDirectory).then(async (resourceFiles) => {
138
144
  await Promise.all(
139
145
  resourceFiles.map(async (file2) => {
146
+ if (ignoreListToCopy.includes(file2)) {
147
+ return;
148
+ }
140
149
  if (file2 !== "versioned") {
141
150
  fsSync2.rmSync(join2(sourceDirectory, file2), { recursive: true });
142
151
  }
@@ -473,14 +482,21 @@ var getSpecificationFilesForService = (directory) => async (id, version) => {
473
482
  let specs = [];
474
483
  if (service.specifications) {
475
484
  const serviceSpecifications = service.specifications;
476
- const specificationFiles = Object.keys(serviceSpecifications);
477
- const getSpecs = specificationFiles.map(async (specFile) => {
478
- const fileName = serviceSpecifications[specFile];
485
+ let specificationFiles;
486
+ if (Array.isArray(serviceSpecifications)) {
487
+ specificationFiles = serviceSpecifications.map((spec) => ({ key: spec.type, path: spec.path }));
488
+ } else {
489
+ specificationFiles = Object.keys(serviceSpecifications).map((spec) => ({
490
+ key: spec,
491
+ path: serviceSpecifications[spec]
492
+ }));
493
+ }
494
+ const getSpecs = specificationFiles.map(async ({ key, path: fileName }) => {
479
495
  if (!fileName) {
480
- throw new Error(`Specification file name for ${specFile} is undefined`);
496
+ throw new Error(`Specification file name for ${fileName} is undefined`);
481
497
  }
482
498
  const rawFile = await getFileFromResource(directory, id, { fileName }, version);
483
- return { key: specFile, content: rawFile, fileName, path: join6(dirname4(filePathToService), fileName) };
499
+ return { key, content: rawFile, fileName, path: join6(dirname4(filePathToService), fileName) };
484
500
  });
485
501
  specs = await Promise.all(getSpecs);
486
502
  }