@eventcatalog/sdk 2.2.6 → 2.2.8

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 (57) hide show
  1. package/dist/channels.js +23 -6
  2. package/dist/channels.js.map +1 -1
  3. package/dist/channels.mjs +27 -10
  4. package/dist/channels.mjs.map +1 -1
  5. package/dist/commands.d.mts +3 -1
  6. package/dist/commands.d.ts +3 -1
  7. package/dist/commands.js +13 -5
  8. package/dist/commands.js.map +1 -1
  9. package/dist/commands.mjs +19 -11
  10. package/dist/commands.mjs.map +1 -1
  11. package/dist/custom-docs.js +2 -1
  12. package/dist/custom-docs.js.map +1 -1
  13. package/dist/custom-docs.mjs +5 -3
  14. package/dist/custom-docs.mjs.map +1 -1
  15. package/dist/domains.d.mts +1 -0
  16. package/dist/domains.d.ts +1 -0
  17. package/dist/domains.js +12 -4
  18. package/dist/domains.js.map +1 -1
  19. package/dist/domains.mjs +17 -9
  20. package/dist/domains.mjs.map +1 -1
  21. package/dist/eventcatalog.js +38 -12
  22. package/dist/eventcatalog.js.map +1 -1
  23. package/dist/eventcatalog.mjs +48 -22
  24. package/dist/eventcatalog.mjs.map +1 -1
  25. package/dist/events.d.mts +3 -1
  26. package/dist/events.d.ts +3 -1
  27. package/dist/events.js +12 -5
  28. package/dist/events.js.map +1 -1
  29. package/dist/events.mjs +18 -11
  30. package/dist/events.mjs.map +1 -1
  31. package/dist/index.d.mts +13 -4
  32. package/dist/index.d.ts +13 -4
  33. package/dist/index.js +38 -12
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.mjs +48 -22
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/queries.d.mts +3 -1
  38. package/dist/queries.d.ts +3 -1
  39. package/dist/queries.js +13 -5
  40. package/dist/queries.js.map +1 -1
  41. package/dist/queries.mjs +19 -11
  42. package/dist/queries.mjs.map +1 -1
  43. package/dist/services.d.mts +3 -1
  44. package/dist/services.d.ts +3 -1
  45. package/dist/services.js +12 -5
  46. package/dist/services.js.map +1 -1
  47. package/dist/services.mjs +21 -14
  48. package/dist/services.mjs.map +1 -1
  49. package/dist/teams.js +2 -1
  50. package/dist/teams.js.map +1 -1
  51. package/dist/teams.mjs +7 -5
  52. package/dist/teams.mjs.map +1 -1
  53. package/dist/users.js +2 -1
  54. package/dist/users.js.map +1 -1
  55. package/dist/users.mjs +7 -5
  56. package/dist/users.mjs.map +1 -1
  57. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -9,7 +9,7 @@ import { join as join3 } from "node:path";
9
9
  import { globSync } from "glob";
10
10
  import fsSync from "node:fs";
11
11
  import { copy } from "fs-extra";
12
- import { join } from "node:path";
12
+ import { join, dirname } from "node:path";
13
13
  import matter from "gray-matter";
14
14
  import { satisfies, validRange, valid } from "semver";
15
15
  var versionExists = async (catalogDir, id, version) => {
@@ -44,7 +44,8 @@ var findFileById = async (catalogDir, id, version) => {
44
44
  var getFiles = async (pattern, ignore = "") => {
45
45
  try {
46
46
  const ignoreList = Array.isArray(ignore) ? ignore : [ignore];
47
- const files = globSync(pattern, { ignore: ["node_modules/**", ...ignoreList] });
47
+ const baseDir = pattern.includes("**") ? pattern.split("**")[0] : dirname(pattern);
48
+ const files = globSync(pattern, { cwd: baseDir, ignore: ["node_modules/**", ...ignoreList] });
48
49
  return files;
49
50
  } catch (error) {
50
51
  throw new Error(`Error finding files: ${error}`);
@@ -96,7 +97,7 @@ var uniqueVersions = (messages) => {
96
97
  };
97
98
 
98
99
  // src/internal/resources.ts
99
- import { dirname, join as join2 } from "path";
100
+ import { dirname as dirname2, join as join2 } from "path";
100
101
  import matter2 from "gray-matter";
101
102
  import fs from "node:fs/promises";
102
103
  import fsSync2 from "node:fs";
@@ -109,7 +110,7 @@ var versionResource = async (catalogDir, id) => {
109
110
  throw new Error(`No resource found with id: ${id}`);
110
111
  }
111
112
  const file = matchedFiles[0];
112
- const sourceDirectory = dirname(file);
113
+ const sourceDirectory = dirname2(file);
113
114
  const { data: { version = "0.0.1" } = {} } = matter2.read(file);
114
115
  const targetDirectory = getVersionedDirectory(sourceDirectory, version);
115
116
  fsSync2.mkdirSync(targetDirectory, { recursive: true });
@@ -130,12 +131,14 @@ var writeResource = async (catalogDir, resource, options = {
130
131
  path: "",
131
132
  type: "",
132
133
  override: false,
133
- versionExistingContent: false
134
+ versionExistingContent: false,
135
+ format: "mdx"
134
136
  }) => {
135
137
  const path4 = options.path || `/${resource.id}`;
136
138
  const fullPath = join2(catalogDir, path4);
139
+ const format = options.format || "mdx";
137
140
  fsSync2.mkdirSync(fullPath, { recursive: true });
138
- const lockPath = join2(fullPath, "index.mdx");
141
+ const lockPath = join2(fullPath, `index.${format}`);
139
142
  if (!fsSync2.existsSync(lockPath)) {
140
143
  fsSync2.writeFileSync(lockPath, "");
141
144
  }
@@ -182,7 +185,7 @@ var getResourcePath = async (catalogDir, id, version) => {
182
185
  return {
183
186
  fullPath: file,
184
187
  relativePath: file.replace(catalogDir, ""),
185
- directory: dirname(file.replace(catalogDir, ""))
188
+ directory: dirname2(file.replace(catalogDir, ""))
186
189
  };
187
190
  };
188
191
  var getResources = async (catalogDir, {
@@ -218,7 +221,7 @@ var rmResourceById = async (catalogDir, id, version, options) => {
218
221
  } else {
219
222
  await Promise.all(
220
223
  matchedFiles.map(async (file) => {
221
- const directory = dirname(file);
224
+ const directory = dirname2(file);
222
225
  await fs.rm(directory, { recursive: true, force: true });
223
226
  })
224
227
  );
@@ -227,14 +230,14 @@ var rmResourceById = async (catalogDir, id, version, options) => {
227
230
  var addFileToResource = async (catalogDir, id, file, version) => {
228
231
  const pathToResource = await findFileById(catalogDir, id, version);
229
232
  if (!pathToResource) throw new Error("Cannot find directory to write file to");
230
- fsSync2.writeFileSync(join2(dirname(pathToResource), file.fileName), file.content);
233
+ fsSync2.writeFileSync(join2(dirname2(pathToResource), file.fileName), file.content);
231
234
  };
232
235
  var getFileFromResource = async (catalogDir, id, file, version) => {
233
236
  const pathToResource = await findFileById(catalogDir, id, version);
234
237
  if (!pathToResource) throw new Error("Cannot find directory of resource");
235
- const exists = await fs.access(join2(dirname(pathToResource), file.fileName)).then(() => true).catch(() => false);
238
+ const exists = await fs.access(join2(dirname2(pathToResource), file.fileName)).then(() => true).catch(() => false);
236
239
  if (!exists) throw new Error(`File ${file.fileName} does not exist in resource ${id} v(${version})`);
237
- return fsSync2.readFileSync(join2(dirname(pathToResource), file.fileName), "utf-8");
240
+ return fsSync2.readFileSync(join2(dirname2(pathToResource), file.fileName), "utf-8");
238
241
  };
239
242
  var getVersionedDirectory = (sourceDirectory, version) => {
240
243
  return join2(sourceDirectory, "versioned", version);
@@ -243,8 +246,12 @@ var getVersionedDirectory = (sourceDirectory, version) => {
243
246
  // src/events.ts
244
247
  var getEvent = (directory) => async (id, version) => getResource(directory, id, version, { type: "event" });
245
248
  var getEvents = (directory) => async (options) => getResources(directory, { type: "events", ...options });
246
- var writeEvent = (directory) => async (event, options = { path: "", override: false }) => writeResource(directory, { ...event }, { ...options, type: "event" });
247
- var writeEventToService = (directory) => async (event, service, options = { path: "" }) => {
249
+ var writeEvent = (directory) => async (event, options = {
250
+ path: "",
251
+ override: false,
252
+ format: "mdx"
253
+ }) => writeResource(directory, { ...event }, { ...options, type: "event" });
254
+ var writeEventToService = (directory) => async (event, service, options = { path: "", format: "mdx" }) => {
248
255
  const resourcePath = await getResourcePath(directory, service.id, service.version);
249
256
  if (!resourcePath) {
250
257
  throw new Error("Service not found");
@@ -274,8 +281,13 @@ import fs3 from "node:fs/promises";
274
281
  import { join as join4 } from "node:path";
275
282
  var getCommand = (directory) => async (id, version) => getResource(directory, id, version, { type: "command" });
276
283
  var getCommands = (directory) => async (options) => getResources(directory, { type: "commands", ...options });
277
- var writeCommand = (directory) => async (command, options = { path: "" }) => writeResource(directory, { ...command }, { ...options, type: "command" });
278
- var writeCommandToService = (directory) => async (command, service, options = { path: "" }) => {
284
+ var writeCommand = (directory) => async (command, options = {
285
+ path: "",
286
+ override: false,
287
+ versionExistingContent: false,
288
+ format: "mdx"
289
+ }) => writeResource(directory, { ...command }, { ...options, type: "command" });
290
+ var writeCommandToService = (directory) => async (command, service, options = { path: "", format: "mdx" }) => {
279
291
  const resourcePath = await getResourcePath(directory, service.id, service.version);
280
292
  if (!resourcePath) {
281
293
  throw new Error("Service not found");
@@ -302,9 +314,14 @@ var commandHasVersion = (directory) => async (id, version) => {
302
314
  import fs4 from "node:fs/promises";
303
315
  import { join as join5 } from "node:path";
304
316
  var getQuery = (directory) => async (id, version) => getResource(directory, id, version, { type: "query" });
305
- var writeQuery = (directory) => async (query, options = { path: "" }) => writeResource(directory, { ...query }, { ...options, type: "query" });
317
+ var writeQuery = (directory) => async (query, options = {
318
+ path: "",
319
+ override: false,
320
+ versionExistingContent: false,
321
+ format: "mdx"
322
+ }) => writeResource(directory, { ...query }, { ...options, type: "query" });
306
323
  var getQueries = (directory) => async (options) => getResources(directory, { type: "queries", ...options });
307
- var writeQueryToService = (directory) => async (query, service, options = { path: "" }) => {
324
+ var writeQueryToService = (directory) => async (query, service, options = { path: "", format: "mdx" }) => {
308
325
  const resourcePath = await getResourcePath(directory, service.id, service.version);
309
326
  if (!resourcePath) {
310
327
  throw new Error("Service not found");
@@ -331,14 +348,18 @@ var queryHasVersion = (directory) => async (id, version) => {
331
348
 
332
349
  // src/services.ts
333
350
  import fs5 from "node:fs/promises";
334
- import { join as join6, dirname as dirname3 } from "node:path";
351
+ import { join as join6, dirname as dirname4 } from "node:path";
335
352
  var getService = (directory) => async (id, version) => getResource(directory, id, version, { type: "service" });
336
353
  var getServices = (directory) => async (options) => getResources(directory, {
337
354
  type: "services",
338
355
  ignore: ["**/events/**", "**/commands/**", "**/queries/**"],
339
356
  ...options
340
357
  });
341
- var writeService = (directory) => async (service, options = { path: "" }) => {
358
+ var writeService = (directory) => async (service, options = {
359
+ path: "",
360
+ override: false,
361
+ format: "mdx"
362
+ }) => {
342
363
  const resource = { ...service };
343
364
  if (Array.isArray(service.sends)) {
344
365
  resource.sends = uniqueVersions(service.sends);
@@ -353,7 +374,7 @@ var writeVersionedService = (directory) => async (service) => {
353
374
  const path4 = getVersionedDirectory(service.id, service.version);
354
375
  return await writeService(directory)(resource, { path: path4 });
355
376
  };
356
- var writeServiceToDomain = (directory) => async (service, domain, options = { path: "" }) => {
377
+ var writeServiceToDomain = (directory) => async (service, domain, options = { path: "", format: "mdx" }) => {
357
378
  let pathForService = domain.version && domain.version !== "latest" ? `/${domain.id}/versioned/${domain.version}/services` : `/${domain.id}/services`;
358
379
  pathForService = join6(pathForService, service.id);
359
380
  await writeResource(directory, { ...service }, { ...options, path: pathForService, type: "service" });
@@ -378,7 +399,7 @@ var getSpecificationFilesForService = (directory) => async (id, version) => {
378
399
  throw new Error(`Specification file name for ${specFile} is undefined`);
379
400
  }
380
401
  const rawFile = await getFileFromResource(directory, id, { fileName }, version);
381
- return { key: specFile, content: rawFile, fileName, path: join6(dirname3(filePathToService), fileName) };
402
+ return { key: specFile, content: rawFile, fileName, path: join6(dirname4(filePathToService), fileName) };
382
403
  });
383
404
  specs = await Promise.all(getSpecs);
384
405
  }
@@ -434,7 +455,12 @@ var getDomains = (directory) => async (options) => getResources(directory, {
434
455
  ignore: ["**/services/**", "**/events/**", "**/commands/**", "**/queries/**", "**/flows/**"],
435
456
  ...options
436
457
  });
437
- var writeDomain = (directory) => async (domain, options = { path: "" }) => {
458
+ var writeDomain = (directory) => async (domain, options = {
459
+ path: "",
460
+ override: false,
461
+ versionExistingContent: false,
462
+ format: "mdx"
463
+ }) => {
438
464
  const resource = { ...domain };
439
465
  if (Array.isArray(domain.services)) {
440
466
  resource.services = uniqueVersions(domain.services);