@eventcatalog/core 0.2.15 → 0.2.18

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 (220) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +41 -41
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/prerender-manifest.json +1 -1
  11. package/.next/routes-manifest.json +1 -1
  12. package/.next/server/chunks/29.js +139 -99
  13. package/.next/server/chunks/484.js +27 -19
  14. package/.next/server/chunks/565.js +38 -22
  15. package/.next/server/chunks/8.js +5 -2
  16. package/.next/server/pages/404.html +1 -1
  17. package/.next/server/pages/500.html +1 -1
  18. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.html +1 -1
  19. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.json +1 -1
  20. package/.next/server/pages/domains/Orders/events/OrderComplete.html +3 -3
  21. package/.next/server/pages/domains/Orders/events/OrderComplete.json +1 -1
  22. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.html +1 -1
  23. package/.next/server/pages/domains/Orders/events/OrderConfirmed.html +3 -3
  24. package/.next/server/pages/domains/Orders/events/OrderConfirmed.json +1 -1
  25. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.html +1 -1
  26. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.json +1 -1
  27. package/.next/server/pages/domains/Orders/events/OrderRequested.html +3 -3
  28. package/.next/server/pages/domains/Orders/events/OrderRequested.json +1 -1
  29. package/.next/server/pages/domains/Orders/services/Orders Service.html +2 -2
  30. package/.next/server/pages/domains/Orders/services/Orders Service.json +1 -1
  31. package/.next/server/pages/domains/Orders.html +2 -2
  32. package/.next/server/pages/domains/Orders.json +1 -1
  33. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +1 -1
  34. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.json +1 -1
  35. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +4 -4
  36. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
  37. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +4 -4
  38. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
  39. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +3 -3
  40. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +1 -1
  41. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.html +1 -1
  42. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.json +1 -1
  43. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.html +3 -3
  44. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.json +1 -1
  45. package/.next/server/pages/domains/Shopping.html +2 -2
  46. package/.next/server/pages/domains/Shopping.json +1 -1
  47. package/.next/server/pages/domains.html +2 -2
  48. package/.next/server/pages/domains.js +1 -1
  49. package/.next/server/pages/domains.json +1 -1
  50. package/.next/server/pages/events/PaymentProcessed/logs.html +1 -1
  51. package/.next/server/pages/events/PaymentProcessed.html +3 -3
  52. package/.next/server/pages/events/PaymentProcessed.json +1 -1
  53. package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -1
  54. package/.next/server/pages/events/ShipmentDelivered/logs.json +1 -1
  55. package/.next/server/pages/events/ShipmentDelivered.html +3 -3
  56. package/.next/server/pages/events/ShipmentDelivered.json +1 -1
  57. package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -1
  58. package/.next/server/pages/events/ShipmentDispatched.html +3 -3
  59. package/.next/server/pages/events/ShipmentDispatched.json +1 -1
  60. package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -1
  61. package/.next/server/pages/events/ShipmentPrepared.html +2 -2
  62. package/.next/server/pages/events/ShipmentPrepared.json +1 -1
  63. package/.next/server/pages/events.html +2 -2
  64. package/.next/server/pages/events.js +1 -1
  65. package/.next/server/pages/index.html +1 -1
  66. package/.next/server/pages/overview.html +1 -1
  67. package/.next/server/pages/services/Orders Service.html +1 -1
  68. package/.next/server/pages/services/Payment Service.html +2 -2
  69. package/.next/server/pages/services/Payment Service.json +1 -1
  70. package/.next/server/pages/services/Shipping Service.html +2 -2
  71. package/.next/server/pages/services/Shipping Service.json +1 -1
  72. package/.next/server/pages/services.html +2 -2
  73. package/.next/server/pages/services.js +1 -1
  74. package/.next/server/pages/users/dboyne.html +2 -2
  75. package/.next/server/pages/users/dboyne.json +1 -1
  76. package/.next/server/pages/users/mSmith.html +2 -2
  77. package/.next/server/pages/users/mSmith.json +1 -1
  78. package/.next/server/pages/visualiser.html +2 -2
  79. package/.next/server/pages/visualiser.js +3 -1
  80. package/.next/server/pages/visualiser.json +1 -1
  81. package/.next/static/chunks/109-1211e7bfa1e1d0c0.js +1 -0
  82. package/.next/static/chunks/178-689815db08dbcdce.js +1 -0
  83. package/.next/static/chunks/963-71aa3fc2dd1c8d77.js +1 -0
  84. package/.next/static/chunks/pages/_app-a03c2dba159b0e27.js +1 -0
  85. package/.next/static/chunks/pages/{domains-6ab78cb1bc2f4200.js → domains-5a0da9c88592073e.js} +1 -1
  86. package/.next/static/chunks/pages/events-e97a3ef06776ce78.js +1 -0
  87. package/.next/static/chunks/pages/services-ec933b7dc15f409b.js +1 -0
  88. package/.next/static/chunks/pages/users/[id]-cff60f8e33023b26.js +1 -0
  89. package/{out/_next/static/chunks/webpack-82801035c43004aa.js → .next/static/chunks/webpack-6d71b9b42478969c.js} +1 -1
  90. package/.next/static/css/{996136b57250cdf7.css → f35070e1edc71e18.css} +1 -1
  91. package/.next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_buildManifest.js +1 -1
  92. package/.next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_middlewareManifest.js +0 -0
  93. package/.next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_ssgManifest.js +0 -0
  94. package/.next/trace +65 -65
  95. package/CHANGELOG.md +18 -0
  96. package/components/Mdx/NodeGraph/GraphElements.tsx +41 -12
  97. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +0 -462
  98. package/hooks/EventCatalog.tsx +7 -1
  99. package/lib/__tests__/domains.spec.ts +69 -9
  100. package/lib/__tests__/events.spec.ts +23 -4
  101. package/lib/domains.ts +23 -11
  102. package/lib/events.ts +26 -16
  103. package/lib/graphs.ts +24 -17
  104. package/lib/services.ts +12 -2
  105. package/out/404/index.html +1 -1
  106. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders/events/OrderComplete/logs.json +1 -0
  107. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders/events/OrderComplete.json +1 -0
  108. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/domains/Orders/events/OrderConfirmed/logs.json +0 -0
  109. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/domains/Orders/events/OrderConfirmed.json +1 -1
  110. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders/events/OrderRequested/logs.json +1 -0
  111. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders/events/OrderRequested.json +1 -0
  112. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/domains/Orders/services/Orders Service.json +1 -1
  113. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Orders.json +1 -0
  114. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/domains/Shopping/events/AddedItemToCart/logs.json +1 -1
  115. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -0
  116. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -0
  117. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/AddedItemToCart.json +1 -0
  118. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/RemovedItemFromCart/logs.json +1 -0
  119. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping/events/RemovedItemFromCart.json +1 -0
  120. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains/Shopping.json +1 -0
  121. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/domains.json +1 -0
  122. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/PaymentProcessed/logs.json +0 -0
  123. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/PaymentProcessed.json +1 -1
  124. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentDelivered/logs.json +1 -1
  125. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/events/ShipmentDelivered.json +1 -0
  126. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentDispatched/logs.json +0 -0
  127. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentDispatched.json +1 -1
  128. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentPrepared/logs.json +0 -0
  129. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events/ShipmentPrepared.json +1 -1
  130. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/events.json +0 -0
  131. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/overview.json +0 -0
  132. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/services/Orders Service.json +0 -0
  133. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/services/Payment Service.json +1 -1
  134. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/services/Shipping Service.json +1 -1
  135. package/out/_next/data/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/services.json +0 -0
  136. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/users/dboyne.json +1 -0
  137. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/users/mSmith.json +1 -0
  138. package/out/_next/data/j6omi8pQn6TfSrKCsM_pw/visualiser.json +1 -0
  139. package/out/_next/static/chunks/109-1211e7bfa1e1d0c0.js +1 -0
  140. package/out/_next/static/chunks/178-689815db08dbcdce.js +1 -0
  141. package/out/_next/static/chunks/963-71aa3fc2dd1c8d77.js +1 -0
  142. package/out/_next/static/chunks/pages/_app-a03c2dba159b0e27.js +1 -0
  143. package/out/_next/static/chunks/pages/{domains-6ab78cb1bc2f4200.js → domains-5a0da9c88592073e.js} +1 -1
  144. package/out/_next/static/chunks/pages/events-e97a3ef06776ce78.js +1 -0
  145. package/out/_next/static/chunks/pages/services-ec933b7dc15f409b.js +1 -0
  146. package/out/_next/static/chunks/pages/users/[id]-cff60f8e33023b26.js +1 -0
  147. package/{.next/static/chunks/webpack-82801035c43004aa.js → out/_next/static/chunks/webpack-6d71b9b42478969c.js} +1 -1
  148. package/out/_next/static/css/{996136b57250cdf7.css → f35070e1edc71e18.css} +1 -1
  149. package/out/_next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_buildManifest.js +1 -1
  150. package/out/_next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_middlewareManifest.js +0 -0
  151. package/out/_next/static/{C2-6-Fv03yIquGzQw3-oZ → j6omi8pQn6TfSrKCsM_pw}/_ssgManifest.js +0 -0
  152. package/out/domains/Orders/events/OrderComplete/index.html +3 -3
  153. package/out/domains/Orders/events/OrderComplete/logs/index.html +1 -1
  154. package/out/domains/Orders/events/OrderConfirmed/index.html +3 -3
  155. package/out/domains/Orders/events/OrderConfirmed/logs/index.html +1 -1
  156. package/out/domains/Orders/events/OrderRequested/index.html +3 -3
  157. package/out/domains/Orders/events/OrderRequested/logs/index.html +1 -1
  158. package/out/domains/Orders/index.html +2 -2
  159. package/out/domains/Orders/services/Orders Service/index.html +2 -2
  160. package/out/domains/Shopping/events/AddedItemToCart/index.html +3 -3
  161. package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +1 -1
  162. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +4 -4
  163. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +4 -4
  164. package/out/domains/Shopping/events/RemovedItemFromCart/index.html +3 -3
  165. package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +1 -1
  166. package/out/domains/Shopping/index.html +2 -2
  167. package/out/domains/index.html +2 -2
  168. package/out/events/PaymentProcessed/index.html +3 -3
  169. package/out/events/PaymentProcessed/logs/index.html +1 -1
  170. package/out/events/ShipmentDelivered/index.html +3 -3
  171. package/out/events/ShipmentDelivered/logs/index.html +1 -1
  172. package/out/events/ShipmentDispatched/index.html +3 -3
  173. package/out/events/ShipmentDispatched/logs/index.html +1 -1
  174. package/out/events/ShipmentPrepared/index.html +2 -2
  175. package/out/events/ShipmentPrepared/logs/index.html +1 -1
  176. package/out/events/index.html +2 -2
  177. package/out/index.html +1 -1
  178. package/out/overview/index.html +1 -1
  179. package/out/services/Orders Service/index.html +1 -1
  180. package/out/services/Payment Service/index.html +2 -2
  181. package/out/services/Shipping Service/index.html +2 -2
  182. package/out/services/index.html +2 -2
  183. package/out/users/dboyne/index.html +2 -2
  184. package/out/users/mSmith/index.html +2 -2
  185. package/out/visualiser/index.html +2 -2
  186. package/package.json +2 -2
  187. package/pages/domains.tsx +1 -1
  188. package/pages/events.tsx +1 -1
  189. package/pages/services.tsx +1 -1
  190. package/pages/visualiser.tsx +1 -1
  191. package/.next/static/chunks/109-d34abdcb3eb2dcd9.js +0 -1
  192. package/.next/static/chunks/178-7604eb85b765379d.js +0 -1
  193. package/.next/static/chunks/963-7d4a030f385440dd.js +0 -1
  194. package/.next/static/chunks/pages/_app-bf15178c205c79ad.js +0 -1
  195. package/.next/static/chunks/pages/events-691363297e733e50.js +0 -1
  196. package/.next/static/chunks/pages/services-0a099323cc1d9712.js +0 -1
  197. package/.next/static/chunks/pages/users/[id]-d1f16749cca85865.js +0 -1
  198. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders/events/OrderComplete/logs.json +0 -1
  199. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders/events/OrderComplete.json +0 -1
  200. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders/events/OrderRequested/logs.json +0 -1
  201. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders/events/OrderRequested.json +0 -1
  202. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Orders.json +0 -1
  203. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
  204. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
  205. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/AddedItemToCart.json +0 -1
  206. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
  207. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping/events/RemovedItemFromCart.json +0 -1
  208. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains/Shopping.json +0 -1
  209. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/domains.json +0 -1
  210. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/events/ShipmentDelivered.json +0 -1
  211. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/users/dboyne.json +0 -1
  212. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/users/mSmith.json +0 -1
  213. package/out/_next/data/C2-6-Fv03yIquGzQw3-oZ/visualiser.json +0 -1
  214. package/out/_next/static/chunks/109-d34abdcb3eb2dcd9.js +0 -1
  215. package/out/_next/static/chunks/178-7604eb85b765379d.js +0 -1
  216. package/out/_next/static/chunks/963-7d4a030f385440dd.js +0 -1
  217. package/out/_next/static/chunks/pages/_app-bf15178c205c79ad.js +0 -1
  218. package/out/_next/static/chunks/pages/events-691363297e733e50.js +0 -1
  219. package/out/_next/static/chunks/pages/services-0a099323cc1d9712.js +0 -1
  220. package/out/_next/static/chunks/pages/users/[id]-d1f16749cca85865.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @eventcatalog/core
2
2
 
3
+ ## 0.2.18
4
+
5
+ ### Patch Changes
6
+
7
+ - [`602f726`](https://github.com/boyney123/eventcatalog/commit/602f72693f9b4f3f9dd9838dd8cad2da6c4ff6a2) [#254](https://github.com/boyney123/eventcatalog/pull/254) Thanks [@drub0y](https://github.com/drub0y)! - fix(core): Fixes getEditUrl to build URLs w/URL vs just path.join
8
+
9
+ ## 0.2.17
10
+
11
+ ### Patch Changes
12
+
13
+ - [`c5330cd`](https://github.com/boyney123/eventcatalog/commit/c5330cd9776de26389271a2bd7b0c589a59b0982) [#265](https://github.com/boyney123/eventcatalog/pull/265) Thanks [@boyney123](https://github.com/boyney123)! - fix: fixing small padding issues on various pages
14
+
15
+ ## 0.2.16
16
+
17
+ ### Patch Changes
18
+
19
+ - [`6ffc4af`](https://github.com/boyney123/eventcatalog/commit/6ffc4afe7059b98c02b496349ca624c9b672dbcb) [#261](https://github.com/boyney123/eventcatalog/pull/261) Thanks [@boyney123](https://github.com/boyney123)! - fix(core): Fixes node domain service/event linking
20
+
3
21
  ## 0.2.15
4
22
 
5
23
  ### Patch Changes
@@ -8,7 +8,7 @@ const { publicRuntimeConfig: { basePath = '' } = {} } = getConfig();
8
8
  const MIN_NODE_WIDTH = 150;
9
9
  type NODE_TYPES = 'service' | 'event';
10
10
 
11
- const generateLink = (value, type) => (basePath !== '' ? `${basePath}/${type}/${value}` : `/${type}/${value}`);
11
+ const generateLink = (value, type, domain?) => `${basePath}/${domain ? `domains/${domain}/` : ''}${type}/${value}`;
12
12
  const calcWidth = (value) => (value.length * 8 > MIN_NODE_WIDTH ? value.length * 8 : MIN_NODE_WIDTH);
13
13
 
14
14
  const buildNodeEdge = ({ id, target, source, label, isAnimated = true }): Edge => ({
@@ -31,16 +31,19 @@ const buildNodeData = ({
31
31
  type,
32
32
  maxWidth,
33
33
  renderInColumn,
34
+ domain,
34
35
  }: {
35
36
  name: string;
36
37
  label: string;
37
38
  type: NODE_TYPES;
38
39
  maxWidth?: number;
39
40
  renderInColumn?: number;
41
+ domain?: string;
40
42
  }) => {
41
43
  const width = calcWidth(label);
42
44
  const linkType = type === 'service' ? 'services' : 'events';
43
- const link = generateLink(name, linkType);
45
+
46
+ const link = generateLink(name, linkType, domain);
44
47
  return { label, link, width, maxWidth, renderInColumn };
45
48
  };
46
49
 
@@ -56,7 +59,7 @@ const getNodeLabel = ({ type, label, includeIcon }: { type: NODE_TYPES; label: a
56
59
  * @param isAnimated - whether to animate the graph
57
60
  */
58
61
  export const getEventElements = (
59
- { name: eventName, producerNames: eventProducers, consumerNames: eventConsumers }: Event,
62
+ { name: eventName, domain, consumers: eventConsumers = [], producers: eventProducers = [] }: Event,
60
63
  rootNodeColor = '#2563eb',
61
64
  isAnimated = true,
62
65
  includeLabels = false,
@@ -70,37 +73,59 @@ export const getEventElements = (
70
73
  fontSize: includeNodeIcons ? '8px' : 'auto',
71
74
  };
72
75
 
73
- const producersNames = eventProducers.map((s) => calcWidth(s));
76
+ const producersNames = eventProducers.map((s) => calcWidth(s.name));
74
77
  const maxProducersWidth = Math.max(...producersNames);
75
- const consumersNames = eventConsumers.map((s) => calcWidth(s));
78
+ const consumersNames = eventConsumers.map((s) => calcWidth(s.name));
76
79
  const maxConsumersWidth = Math.max(...consumersNames);
77
80
 
78
81
  const eventNameAsNodeID = `ev-${eventName.replace(/ /g, '_')}`;
79
82
  const eventNodeWidth = calcWidth(eventName);
80
83
 
81
- const producers = eventProducers.map((node) => ({ label: node, id: `pr-${node.replace(/ /g, '_')}` }));
82
- const consumers = eventConsumers.map((node) => ({ label: node, id: `co-${node.replace(/ /g, '_')}` }));
84
+ const producers = eventProducers.map((node) => ({
85
+ label: node.name,
86
+ id: `pr-${node.name.replace(/ /g, '_')}`,
87
+ domain: node.domain,
88
+ }));
89
+ const consumers = eventConsumers.map((node) => ({
90
+ label: node.name,
91
+ id: `co-${node.name.replace(/ /g, '_')}`,
92
+ domain: node.domain,
93
+ }));
83
94
 
84
95
  // Transforms services & event into a graph model
85
- const producersNodes: Node[] = producers.map(({ label, id }) => {
96
+ const producersNodes: Node[] = producers.map(({ label, id, domain: producerDomain }) => {
86
97
  const nodeWidth = calcWidth(label);
87
98
  const diff = maxProducersWidth - nodeWidth;
88
99
  const nodeMaxWidth = diff !== 0 ? nodeWidth - diff : maxProducersWidth;
89
100
  const labelToRender = getNodeLabel({ type: 'service', label, includeIcon: includeNodeIcons });
90
101
  return {
91
102
  id,
92
- data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: nodeMaxWidth, renderInColumn: 1 }),
103
+ data: buildNodeData({
104
+ name: label,
105
+ label: labelToRender,
106
+ type: 'service',
107
+ maxWidth: nodeMaxWidth,
108
+ renderInColumn: 1,
109
+ domain: producerDomain,
110
+ }),
93
111
  style: { border: `2px solid ${producerColor}`, width: nodeWidth, ...nodeStyles },
94
112
  type: 'input',
95
113
  position,
96
114
  };
97
115
  });
98
- const consumersNodes: Node[] = consumers.map(({ id, label }) => {
116
+ const consumersNodes: Node[] = consumers.map(({ id, label, domain: consumerDomain }) => {
99
117
  const width = calcWidth(label);
100
118
  const labelToRender = getNodeLabel({ type: 'service', label, includeIcon: includeNodeIcons });
101
119
  return {
102
120
  id,
103
- data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: maxConsumersWidth, renderInColumn: 3 }),
121
+ data: buildNodeData({
122
+ name: label,
123
+ label: labelToRender,
124
+ type: 'service',
125
+ maxWidth: maxConsumersWidth,
126
+ renderInColumn: 3,
127
+ domain: consumerDomain,
128
+ }),
104
129
  style: { border: `2px solid ${consumerColor}`, width, ...nodeStyles },
105
130
  type: 'output',
106
131
  position,
@@ -115,6 +140,7 @@ export const getEventElements = (
115
140
  type: 'event',
116
141
  maxWidth: eventNodeWidth,
117
142
  renderInColumn: 2,
143
+ domain,
118
144
  }),
119
145
  style: {
120
146
  border: `2px solid ${rootNodeColor}`,
@@ -157,7 +183,7 @@ export const getEventElements = (
157
183
  * @returns {string} Mermaid Graph
158
184
  */
159
185
  export const getServiceElements = (
160
- { publishes, subscribes, name: serviceName }: Service,
186
+ { publishes, subscribes, name: serviceName, domain }: Service,
161
187
  rootNodeColor = '#2563eb',
162
188
  isAnimated = true,
163
189
  includeEdgeLabels = false,
@@ -190,6 +216,7 @@ export const getServiceElements = (
190
216
  type: 'event',
191
217
  maxWidth: maxPublishesWidth,
192
218
  renderInColumn: 3,
219
+ domain: node.domain,
193
220
  }),
194
221
  style: { border: `2px solid ${publishColor}`, width: nodeWidth, ...nodeStyles },
195
222
  type: 'output',
@@ -210,6 +237,7 @@ export const getServiceElements = (
210
237
  maxWidth: nodeMaxWidth,
211
238
  ...nodeStyles,
212
239
  renderInColumn: 1,
240
+ domain: node.domain,
213
241
  }),
214
242
  style: {
215
243
  border: `2px solid ${subscribeColor}`,
@@ -229,6 +257,7 @@ export const getServiceElements = (
229
257
  type: 'service',
230
258
  maxWidth: calcWidth(serviceName),
231
259
  renderInColumn: 2,
260
+ domain,
232
261
  }),
233
262
  style: {
234
263
  border: `2px solid ${rootNodeColor}`,
@@ -2,66 +2,6 @@
2
2
 
3
3
  exports[`GraphElements getEventElements takes a given event and returns the ReactFlow elements with multiple services & long names 1`] = `
4
4
  Array [
5
- Object {
6
- "data": Object {
7
- "label": "Service 1",
8
- "link": "/docs/services/Service 1",
9
- "maxWidth": -332,
10
- "renderInColumn": 1,
11
- "width": 150,
12
- },
13
- "id": "pr-Service_1",
14
- "position": Object {
15
- "x": 0,
16
- "y": 0,
17
- },
18
- "style": Object {
19
- "border": "2px solid #75d7b6",
20
- "fontSize": "auto",
21
- "width": 150,
22
- },
23
- "type": "input",
24
- },
25
- Object {
26
- "data": Object {
27
- "label": "Service 2",
28
- "link": "/docs/services/Service 2",
29
- "maxWidth": -332,
30
- "renderInColumn": 1,
31
- "width": 150,
32
- },
33
- "id": "pr-Service_2",
34
- "position": Object {
35
- "x": 0,
36
- "y": 0,
37
- },
38
- "style": Object {
39
- "border": "2px solid #75d7b6",
40
- "fontSize": "auto",
41
- "width": 150,
42
- },
43
- "type": "input",
44
- },
45
- Object {
46
- "data": Object {
47
- "label": "very very very very very very very very very very very very long name Service 3",
48
- "link": "/docs/services/very very very very very very very very very very very very long name Service 3",
49
- "maxWidth": 632,
50
- "renderInColumn": 1,
51
- "width": 632,
52
- },
53
- "id": "pr-very_very_very_very_very_very_very_very_very_very_very_very_long_name_Service_3",
54
- "position": Object {
55
- "x": 0,
56
- "y": 0,
57
- },
58
- "style": Object {
59
- "border": "2px solid #75d7b6",
60
- "fontSize": "auto",
61
- "width": 632,
62
- },
63
- "type": "input",
64
- },
65
5
  Object {
66
6
  "data": Object {
67
7
  "label": "My Event",
@@ -81,349 +21,11 @@ Array [
81
21
  "width": 150,
82
22
  },
83
23
  },
84
- Object {
85
- "data": Object {
86
- "label": "Service 4",
87
- "link": "/docs/services/Service 4",
88
- "maxWidth": 616,
89
- "renderInColumn": 3,
90
- "width": 150,
91
- },
92
- "id": "co-Service_4",
93
- "position": Object {
94
- "x": 0,
95
- "y": 0,
96
- },
97
- "style": Object {
98
- "border": "2px solid #818cf8",
99
- "fontSize": "auto",
100
- "width": 150,
101
- },
102
- "type": "output",
103
- },
104
- Object {
105
- "data": Object {
106
- "label": "Service 5",
107
- "link": "/docs/services/Service 5",
108
- "maxWidth": 616,
109
- "renderInColumn": 3,
110
- "width": 150,
111
- },
112
- "id": "co-Service_5",
113
- "position": Object {
114
- "x": 0,
115
- "y": 0,
116
- },
117
- "style": Object {
118
- "border": "2px solid #818cf8",
119
- "fontSize": "auto",
120
- "width": 150,
121
- },
122
- "type": "output",
123
- },
124
- Object {
125
- "data": Object {
126
- "label": "Service 6",
127
- "link": "/docs/services/Service 6",
128
- "maxWidth": 616,
129
- "renderInColumn": 3,
130
- "width": 150,
131
- },
132
- "id": "co-Service_6",
133
- "position": Object {
134
- "x": 0,
135
- "y": 0,
136
- },
137
- "style": Object {
138
- "border": "2px solid #818cf8",
139
- "fontSize": "auto",
140
- "width": 150,
141
- },
142
- "type": "output",
143
- },
144
- Object {
145
- "data": Object {
146
- "label": "Service 7",
147
- "link": "/docs/services/Service 7",
148
- "maxWidth": 616,
149
- "renderInColumn": 3,
150
- "width": 150,
151
- },
152
- "id": "co-Service_7",
153
- "position": Object {
154
- "x": 0,
155
- "y": 0,
156
- },
157
- "style": Object {
158
- "border": "2px solid #818cf8",
159
- "fontSize": "auto",
160
- "width": 150,
161
- },
162
- "type": "output",
163
- },
164
- Object {
165
- "data": Object {
166
- "label": "Service 8",
167
- "link": "/docs/services/Service 8",
168
- "maxWidth": 616,
169
- "renderInColumn": 3,
170
- "width": 150,
171
- },
172
- "id": "co-Service_8",
173
- "position": Object {
174
- "x": 0,
175
- "y": 0,
176
- },
177
- "style": Object {
178
- "border": "2px solid #818cf8",
179
- "fontSize": "auto",
180
- "width": 150,
181
- },
182
- "type": "output",
183
- },
184
- Object {
185
- "data": Object {
186
- "label": "very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
187
- "link": "/docs/services/very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
188
- "maxWidth": 616,
189
- "renderInColumn": 3,
190
- "width": 616,
191
- },
192
- "id": "co-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
193
- "position": Object {
194
- "x": 0,
195
- "y": 0,
196
- },
197
- "style": Object {
198
- "border": "2px solid #818cf8",
199
- "fontSize": "auto",
200
- "width": 616,
201
- },
202
- "type": "output",
203
- },
204
- Object {
205
- "animated": true,
206
- "arrowHeadType": "arrowclosed",
207
- "id": "epe-Service_1-ev-My_Event",
208
- "label": "",
209
- "labelBgBorderRadius": 4,
210
- "labelBgPadding": Array [
211
- 8,
212
- 4,
213
- ],
214
- "labelBgStyle": Object {
215
- "color": "#fff",
216
- "fill": "white",
217
- "fillOpacity": 0.5,
218
- },
219
- "labelStyle": Object {
220
- "fontSize": "6px",
221
- },
222
- "source": "pr-Service_1",
223
- "target": "ev-My_Event",
224
- "type": "smoothstep",
225
- },
226
- Object {
227
- "animated": true,
228
- "arrowHeadType": "arrowclosed",
229
- "id": "epe-Service_2-ev-My_Event",
230
- "label": "",
231
- "labelBgBorderRadius": 4,
232
- "labelBgPadding": Array [
233
- 8,
234
- 4,
235
- ],
236
- "labelBgStyle": Object {
237
- "color": "#fff",
238
- "fill": "white",
239
- "fillOpacity": 0.5,
240
- },
241
- "labelStyle": Object {
242
- "fontSize": "6px",
243
- },
244
- "source": "pr-Service_2",
245
- "target": "ev-My_Event",
246
- "type": "smoothstep",
247
- },
248
- Object {
249
- "animated": true,
250
- "arrowHeadType": "arrowclosed",
251
- "id": "epe-very_very_very_very_very_very_very_very_very_very_very_very_long_name_Service_3-ev-My_Event",
252
- "label": "",
253
- "labelBgBorderRadius": 4,
254
- "labelBgPadding": Array [
255
- 8,
256
- 4,
257
- ],
258
- "labelBgStyle": Object {
259
- "color": "#fff",
260
- "fill": "white",
261
- "fillOpacity": 0.5,
262
- },
263
- "labelStyle": Object {
264
- "fontSize": "6px",
265
- },
266
- "source": "pr-very_very_very_very_very_very_very_very_very_very_very_very_long_name_Service_3",
267
- "target": "ev-My_Event",
268
- "type": "smoothstep",
269
- },
270
- Object {
271
- "animated": true,
272
- "arrowHeadType": "arrowclosed",
273
- "id": "ece-Service_4-ev-My_Event",
274
- "label": "",
275
- "labelBgBorderRadius": 4,
276
- "labelBgPadding": Array [
277
- 8,
278
- 4,
279
- ],
280
- "labelBgStyle": Object {
281
- "color": "#fff",
282
- "fill": "white",
283
- "fillOpacity": 0.5,
284
- },
285
- "labelStyle": Object {
286
- "fontSize": "6px",
287
- },
288
- "source": "ev-My_Event",
289
- "target": "co-Service_4",
290
- "type": "smoothstep",
291
- },
292
- Object {
293
- "animated": true,
294
- "arrowHeadType": "arrowclosed",
295
- "id": "ece-Service_5-ev-My_Event",
296
- "label": "",
297
- "labelBgBorderRadius": 4,
298
- "labelBgPadding": Array [
299
- 8,
300
- 4,
301
- ],
302
- "labelBgStyle": Object {
303
- "color": "#fff",
304
- "fill": "white",
305
- "fillOpacity": 0.5,
306
- },
307
- "labelStyle": Object {
308
- "fontSize": "6px",
309
- },
310
- "source": "ev-My_Event",
311
- "target": "co-Service_5",
312
- "type": "smoothstep",
313
- },
314
- Object {
315
- "animated": true,
316
- "arrowHeadType": "arrowclosed",
317
- "id": "ece-Service_6-ev-My_Event",
318
- "label": "",
319
- "labelBgBorderRadius": 4,
320
- "labelBgPadding": Array [
321
- 8,
322
- 4,
323
- ],
324
- "labelBgStyle": Object {
325
- "color": "#fff",
326
- "fill": "white",
327
- "fillOpacity": 0.5,
328
- },
329
- "labelStyle": Object {
330
- "fontSize": "6px",
331
- },
332
- "source": "ev-My_Event",
333
- "target": "co-Service_6",
334
- "type": "smoothstep",
335
- },
336
- Object {
337
- "animated": true,
338
- "arrowHeadType": "arrowclosed",
339
- "id": "ece-Service_7-ev-My_Event",
340
- "label": "",
341
- "labelBgBorderRadius": 4,
342
- "labelBgPadding": Array [
343
- 8,
344
- 4,
345
- ],
346
- "labelBgStyle": Object {
347
- "color": "#fff",
348
- "fill": "white",
349
- "fillOpacity": 0.5,
350
- },
351
- "labelStyle": Object {
352
- "fontSize": "6px",
353
- },
354
- "source": "ev-My_Event",
355
- "target": "co-Service_7",
356
- "type": "smoothstep",
357
- },
358
- Object {
359
- "animated": true,
360
- "arrowHeadType": "arrowclosed",
361
- "id": "ece-Service_8-ev-My_Event",
362
- "label": "",
363
- "labelBgBorderRadius": 4,
364
- "labelBgPadding": Array [
365
- 8,
366
- 4,
367
- ],
368
- "labelBgStyle": Object {
369
- "color": "#fff",
370
- "fill": "white",
371
- "fillOpacity": 0.5,
372
- },
373
- "labelStyle": Object {
374
- "fontSize": "6px",
375
- },
376
- "source": "ev-My_Event",
377
- "target": "co-Service_8",
378
- "type": "smoothstep",
379
- },
380
- Object {
381
- "animated": true,
382
- "arrowHeadType": "arrowclosed",
383
- "id": "ece-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8-ev-My_Event",
384
- "label": "",
385
- "labelBgBorderRadius": 4,
386
- "labelBgPadding": Array [
387
- 8,
388
- 4,
389
- ],
390
- "labelBgStyle": Object {
391
- "color": "#fff",
392
- "fill": "white",
393
- "fillOpacity": 0.5,
394
- },
395
- "labelStyle": Object {
396
- "fontSize": "6px",
397
- },
398
- "source": "ev-My_Event",
399
- "target": "co-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
400
- "type": "smoothstep",
401
- },
402
24
  ]
403
25
  `;
404
26
 
405
27
  exports[`GraphElements getEventElements takes a given event and returns the ReactFlow elements with relations between the event and its consumers and producers 1`] = `
406
28
  Array [
407
- Object {
408
- "data": Object {
409
- "label": "Service 1",
410
- "link": "/docs/services/Service 1",
411
- "maxWidth": 150,
412
- "renderInColumn": 1,
413
- "width": 150,
414
- },
415
- "id": "pr-Service_1",
416
- "position": Object {
417
- "x": 0,
418
- "y": 0,
419
- },
420
- "style": Object {
421
- "border": "2px solid #75d7b6",
422
- "fontSize": "auto",
423
- "width": 150,
424
- },
425
- "type": "input",
426
- },
427
29
  Object {
428
30
  "data": Object {
429
31
  "label": "My Event",
@@ -443,70 +45,6 @@ Array [
443
45
  "width": 150,
444
46
  },
445
47
  },
446
- Object {
447
- "data": Object {
448
- "label": "Service 2",
449
- "link": "/docs/services/Service 2",
450
- "maxWidth": 150,
451
- "renderInColumn": 3,
452
- "width": 150,
453
- },
454
- "id": "co-Service_2",
455
- "position": Object {
456
- "x": 0,
457
- "y": 0,
458
- },
459
- "style": Object {
460
- "border": "2px solid #818cf8",
461
- "fontSize": "auto",
462
- "width": 150,
463
- },
464
- "type": "output",
465
- },
466
- Object {
467
- "animated": true,
468
- "arrowHeadType": "arrowclosed",
469
- "id": "epe-Service_1-ev-My_Event",
470
- "label": "",
471
- "labelBgBorderRadius": 4,
472
- "labelBgPadding": Array [
473
- 8,
474
- 4,
475
- ],
476
- "labelBgStyle": Object {
477
- "color": "#fff",
478
- "fill": "white",
479
- "fillOpacity": 0.5,
480
- },
481
- "labelStyle": Object {
482
- "fontSize": "6px",
483
- },
484
- "source": "pr-Service_1",
485
- "target": "ev-My_Event",
486
- "type": "smoothstep",
487
- },
488
- Object {
489
- "animated": true,
490
- "arrowHeadType": "arrowclosed",
491
- "id": "ece-Service_2-ev-My_Event",
492
- "label": "",
493
- "labelBgBorderRadius": 4,
494
- "labelBgPadding": Array [
495
- 8,
496
- 4,
497
- ],
498
- "labelBgStyle": Object {
499
- "color": "#fff",
500
- "fill": "white",
501
- "fillOpacity": 0.5,
502
- },
503
- "labelStyle": Object {
504
- "fontSize": "6px",
505
- },
506
- "source": "ev-My_Event",
507
- "target": "co-Service_2",
508
- "type": "smoothstep",
509
- },
510
48
  ]
511
49
  `;
512
50
 
@@ -26,7 +26,13 @@ export const useUser = () => {
26
26
 
27
27
  export const useUrl = () => {
28
28
  const config = useConfig();
29
- const getEditUrl = (url: string) => path.join(config.editUrl, url);
29
+ const getEditUrl = (url: string) => {
30
+ const editBaseUrl = new URL(config.editUrl);
31
+
32
+ editBaseUrl.pathname = path.join(editBaseUrl.pathname, url);
33
+
34
+ return editBaseUrl.toString();
35
+ };
30
36
 
31
37
  return {
32
38
  getEditUrl,