@eventcatalog/sdk 2.18.0 → 2.18.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.mjs CHANGED
@@ -1433,6 +1433,14 @@ import fs6 from "fs/promises";
1433
1433
  import path2, { join as join7 } from "path";
1434
1434
  import fsSync3 from "fs";
1435
1435
  import matter3 from "gray-matter";
1436
+ var resolveDomainWriteDirectory = async (directory, id, version) => {
1437
+ const existingResource = await findFileById(directory, id, version);
1438
+ if (!existingResource) return directory;
1439
+ const normalizedPath = existingResource.replace(/\\/g, "/");
1440
+ const lastDomainsIndex = normalizedPath.lastIndexOf("/domains/");
1441
+ if (lastDomainsIndex === -1) return directory;
1442
+ return existingResource.substring(0, lastDomainsIndex + "/domains".length);
1443
+ };
1436
1444
  var getDomain = (directory) => async (id, version) => getResource(directory, id, version, { type: "domain" });
1437
1445
  var getDomains = (directory) => async (options) => getResources(directory, {
1438
1446
  type: "domains",
@@ -1502,8 +1510,9 @@ var addServiceToDomain = (directory) => async (id, service, version) => {
1502
1510
  return;
1503
1511
  }
1504
1512
  domain.services.push(service);
1513
+ const writeDir = await resolveDomainWriteDirectory(directory, id, version);
1505
1514
  await rmDomainById(directory)(id, version, true);
1506
- await writeDomain(directory)(domain, { format: extension === ".md" ? "md" : "mdx" });
1515
+ await writeDomain(writeDir)(domain, { format: extension === ".md" ? "md" : "mdx" });
1507
1516
  };
1508
1517
  var addSubDomainToDomain = (directory) => async (id, subDomain, version) => {
1509
1518
  let domain = await getDomain(directory)(id, version);
@@ -1517,8 +1526,9 @@ var addSubDomainToDomain = (directory) => async (id, subDomain, version) => {
1517
1526
  return;
1518
1527
  }
1519
1528
  domain.domains.push(subDomain);
1529
+ const writeDir = await resolveDomainWriteDirectory(directory, id, version);
1520
1530
  await rmDomainById(directory)(id, version, true);
1521
- await writeDomain(directory)(domain, { format: extension === ".md" ? "md" : "mdx" });
1531
+ await writeDomain(writeDir)(domain, { format: extension === ".md" ? "md" : "mdx" });
1522
1532
  };
1523
1533
  var addEntityToDomain = (directory) => async (id, entity, version) => {
1524
1534
  let domain = await getDomain(directory)(id, version);
@@ -1532,8 +1542,9 @@ var addEntityToDomain = (directory) => async (id, entity, version) => {
1532
1542
  return;
1533
1543
  }
1534
1544
  domain.entities.push(entity);
1545
+ const writeDir = await resolveDomainWriteDirectory(directory, id, version);
1535
1546
  await rmDomainById(directory)(id, version, true);
1536
- await writeDomain(directory)(domain, { format: extension === ".md" ? "md" : "mdx" });
1547
+ await writeDomain(writeDir)(domain, { format: extension === ".md" ? "md" : "mdx" });
1537
1548
  };
1538
1549
  var addDataProductToDomain = (directory) => async (id, dataProduct, version) => {
1539
1550
  let domain = await getDomain(directory)(id, version);
@@ -1549,8 +1560,9 @@ var addDataProductToDomain = (directory) => async (id, dataProduct, version) =>
1549
1560
  return;
1550
1561
  }
1551
1562
  domain.dataProducts.push(dataProduct);
1563
+ const writeDir = await resolveDomainWriteDirectory(directory, id, version);
1552
1564
  await rmDomainById(directory)(id, version, true);
1553
- await writeDomain(directory)(domain, { format: extension === ".md" ? "md" : "mdx" });
1565
+ await writeDomain(writeDir)(domain, { format: extension === ".md" ? "md" : "mdx" });
1554
1566
  };
1555
1567
  var addMessageToDomain = (directory) => async (id, direction, message, version) => {
1556
1568
  let domain = await getDomain(directory)(id, version);
@@ -1579,15 +1591,9 @@ var addMessageToDomain = (directory) => async (id, direction, message, version)
1579
1591
  } else {
1580
1592
  throw new Error(`Direction ${direction} is invalid, only 'receives' and 'sends' are supported`);
1581
1593
  }
1582
- const existingResource = await findFileById(directory, id, version);
1583
- if (!existingResource) {
1584
- throw new Error(`Cannot find domain ${id} in the catalog`);
1585
- }
1586
- const normalizedPath = existingResource.replace(/\\/g, "/");
1587
- const lastDomainsIndex = normalizedPath.lastIndexOf("/domains/");
1588
- const pathToResource = existingResource.substring(0, lastDomainsIndex + "/domains".length);
1594
+ const writeDir = await resolveDomainWriteDirectory(directory, id, version);
1589
1595
  await rmDomainById(directory)(id, version, true);
1590
- await writeDomain(pathToResource)(domain, { format: extension === ".md" ? "md" : "mdx" });
1596
+ await writeDomain(writeDir)(domain, { format: extension === ".md" ? "md" : "mdx" });
1591
1597
  };
1592
1598
 
1593
1599
  // src/channels.ts