@eventcatalog/core 1.2.7 → 2.0.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.
Files changed (622) hide show
  1. package/.changeset/config.json +11 -0
  2. package/.github/CODEOWNERS +3 -0
  3. package/.github/ISSUE_TEMPLATE.md +1 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +18 -0
  5. package/.github/funding.yml +1 -0
  6. package/.github/workflows/lint.yml +22 -0
  7. package/.github/workflows/release.yml +34 -0
  8. package/.github/workflows/verify-build.yml +27 -0
  9. package/.prettierignore +7 -0
  10. package/.prettierrc +10 -0
  11. package/CHANGELOG.md +10 -0
  12. package/LICENSE.md +21 -0
  13. package/README.md +206 -5
  14. package/astro.config.mjs +57 -0
  15. package/bin/dist/eventcatalog.cjs +3139 -0
  16. package/bin/dist/eventcatalog.d.cts +1 -0
  17. package/bin/dist/eventcatalog.d.ts +1 -0
  18. package/bin/dist/eventcatalog.js +3141 -0
  19. package/images/example.png +0 -0
  20. package/package.json +59 -52
  21. package/public/icons/github.svg +1 -0
  22. package/public/icons/x-twitter.svg +1 -0
  23. package/public/logo.png +0 -0
  24. package/public/slack-icon.svg +1 -0
  25. package/scripts/build-ci.js +22 -0
  26. package/scripts/catalog-to-astro-content-directory.js +188 -0
  27. package/scripts/default-files-for-collections/commands.md +8 -0
  28. package/scripts/default-files-for-collections/domains.md +8 -0
  29. package/scripts/default-files-for-collections/events.md +8 -0
  30. package/scripts/default-files-for-collections/services.md +8 -0
  31. package/scripts/default-files-for-collections/teams.md +11 -0
  32. package/scripts/default-files-for-collections/users.md +11 -0
  33. package/scripts/start-catalog-locally.js +23 -0
  34. package/scripts/watcher.js +53 -0
  35. package/src/components/DocsNavigation.astro +110 -0
  36. package/src/components/Header.astro +65 -0
  37. package/src/components/Lists/BasicList.tsx +59 -0
  38. package/src/components/Lists/OwnersList.tsx +101 -0
  39. package/src/components/Lists/PillList.tsx +67 -0
  40. package/src/components/Lists/VersionList.astro +29 -0
  41. package/src/components/MDX/Accordion/Accordion.astro +10 -0
  42. package/src/components/MDX/Accordion/Accordion.tsx +29 -0
  43. package/src/components/MDX/Accordion/AccordionGroup.astro +16 -0
  44. package/{components/Mdx → src/components/MDX}/Admonition.tsx +6 -5
  45. package/src/components/MDX/File.tsx +43 -0
  46. package/src/components/MDX/NodeGraph/DownloadButton.tsx +58 -0
  47. package/src/components/MDX/NodeGraph/NodeGraph.astro +82 -0
  48. package/src/components/MDX/NodeGraph/NodeGraph.tsx +135 -0
  49. package/src/components/MDX/NodeGraph/NodeGraphPortal.tsx +15 -0
  50. package/src/components/MDX/NodeGraph/Nodes/Command.tsx +74 -0
  51. package/src/components/MDX/NodeGraph/Nodes/Event.tsx +74 -0
  52. package/src/components/MDX/NodeGraph/Nodes/Service.tsx +83 -0
  53. package/src/components/MDX/OpenAPI/OpenAPI.tsx +35 -0
  54. package/src/components/MDX/Schema.tsx +45 -0
  55. package/src/components/MDX/components.tsx +24 -0
  56. package/src/components/Search.astro +108 -0
  57. package/src/components/Seo.astro +79 -0
  58. package/src/components/SideBars/DomainSideBar.astro +42 -0
  59. package/src/components/SideBars/MessageSideBar.astro +81 -0
  60. package/src/components/SideBars/ServiceSideBar.astro +93 -0
  61. package/src/components/Tables/DebouncedInput.tsx +32 -0
  62. package/src/components/Tables/Table.tsx +228 -0
  63. package/src/components/Tables/columns/DomainTableColumns.tsx +118 -0
  64. package/src/components/Tables/columns/MessageTableColumns.tsx +159 -0
  65. package/src/components/Tables/columns/ServiceTableColumns.tsx +162 -0
  66. package/src/components/Tables/columns/index.tsx +17 -0
  67. package/src/components/Tables/filters/custom-filters.ts +14 -0
  68. package/src/content/config.ts +119 -0
  69. package/src/env.d.ts +2 -0
  70. package/src/layouts/CustomDocsPageLayout.astro +100 -0
  71. package/src/layouts/DiscoverLayout.astro +120 -0
  72. package/src/layouts/DocsLayout.astro +59 -0
  73. package/src/layouts/PlainPage.astro +29 -0
  74. package/src/layouts/VisualiserLayout.astro +73 -0
  75. package/src/pages/discover/[type]/index.astro +36 -0
  76. package/src/pages/docs/[type]/[id]/[version]/index.astro +215 -0
  77. package/src/pages/docs/[type]/[id]/[version]/spec/index.astro +93 -0
  78. package/src/pages/docs/index.md +4 -0
  79. package/src/pages/docs/teams/[id]/index.astro +127 -0
  80. package/src/pages/docs/users/[id]/index.astro +132 -0
  81. package/src/pages/visualiser/[type]/[id]/[version]/index.astro +46 -0
  82. package/src/pages/visualiser/index.astro +25 -0
  83. package/src/remark-plugins/mermaid.ts +27 -0
  84. package/src/remark-plugins/remark-modified-time.mjs +9 -0
  85. package/src/types/index.ts +2 -0
  86. package/src/utils/collections/util.ts +22 -0
  87. package/src/utils/colors.ts +14 -0
  88. package/src/utils/commands/node-graph.ts +107 -0
  89. package/src/utils/commands.ts +60 -0
  90. package/src/utils/config/catalog.ts +2 -0
  91. package/src/utils/domains/domains.ts +50 -0
  92. package/src/utils/domains/node-graph.ts +60 -0
  93. package/src/utils/events/node-graph.ts +108 -0
  94. package/src/utils/events.ts +62 -0
  95. package/src/utils/example-remark-plugin.mjs +6 -0
  96. package/src/utils/messages.ts +7 -0
  97. package/src/utils/node-graph-utils/utils.ts +31 -0
  98. package/src/utils/services/node-graph.ts +133 -0
  99. package/src/utils/services/services.ts +88 -0
  100. package/src/utils/teams.ts +47 -0
  101. package/src/utils/users.ts +59 -0
  102. package/tailwind.config.mjs +24 -0
  103. package/tsconfig.json +11 -26
  104. package/.next/BUILD_ID +0 -1
  105. package/.next/build-manifest.json +0 -246
  106. package/.next/cache/.tsbuildinfo +0 -1
  107. package/.next/cache/config.json +0 -7
  108. package/.next/cache/eslint/.cache_1bay4w0 +0 -1
  109. package/.next/cache/next-server.js.nft.json +0 -1
  110. package/.next/cache/webpack/client-production/0.pack +0 -0
  111. package/.next/cache/webpack/client-production/index.pack +0 -0
  112. package/.next/cache/webpack/server-production/0.pack +0 -0
  113. package/.next/cache/webpack/server-production/index.pack +0 -0
  114. package/.next/export-detail.json +0 -1
  115. package/.next/export-marker.json +0 -1
  116. package/.next/images-manifest.json +0 -1
  117. package/.next/next-server.js.nft.json +0 -1
  118. package/.next/package.json +0 -1
  119. package/.next/prerender-manifest.json +0 -1
  120. package/.next/react-loadable-manifest.json +0 -2112
  121. package/.next/required-server-files.json +0 -1
  122. package/.next/routes-manifest.json +0 -1
  123. package/.next/server/chunks/109.js +0 -608
  124. package/.next/server/chunks/237.js +0 -109
  125. package/.next/server/chunks/267.js +0 -257
  126. package/.next/server/chunks/274.js +0 -32
  127. package/.next/server/chunks/29.js +0 -675
  128. package/.next/server/chunks/331.js +0 -750
  129. package/.next/server/chunks/362.js +0 -570
  130. package/.next/server/chunks/428.js +0 -84
  131. package/.next/server/chunks/50.js +0 -466
  132. package/.next/server/chunks/526.js +0 -159
  133. package/.next/server/chunks/537.js +0 -136
  134. package/.next/server/chunks/788.js +0 -162
  135. package/.next/server/chunks/797.js +0 -92
  136. package/.next/server/chunks/8.js +0 -173
  137. package/.next/server/chunks/854.js +0 -107
  138. package/.next/server/chunks/938.js +0 -140
  139. package/.next/server/chunks/944.js +0 -721
  140. package/.next/server/chunks/962.js +0 -13
  141. package/.next/server/chunks/97.js +0 -2829
  142. package/.next/server/chunks/992.js +0 -50
  143. package/.next/server/chunks/font-manifest.json +0 -1
  144. package/.next/server/font-manifest.json +0 -1
  145. package/.next/server/middleware-manifest.json +0 -6
  146. package/.next/server/pages/404.html +0 -12
  147. package/.next/server/pages/500.html +0 -12
  148. package/.next/server/pages/_app.js +0 -623
  149. package/.next/server/pages/_app.js.nft.json +0 -1
  150. package/.next/server/pages/_document.js +0 -120
  151. package/.next/server/pages/_document.js.nft.json +0 -1
  152. package/.next/server/pages/_error.js +0 -148
  153. package/.next/server/pages/_error.js.nft.json +0 -1
  154. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.html +0 -1
  155. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.json +0 -1
  156. package/.next/server/pages/domains/Orders/events/OrderComplete.html +0 -40
  157. package/.next/server/pages/domains/Orders/events/OrderComplete.json +0 -1
  158. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.html +0 -1
  159. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.json +0 -1
  160. package/.next/server/pages/domains/Orders/events/OrderConfirmed.html +0 -40
  161. package/.next/server/pages/domains/Orders/events/OrderConfirmed.json +0 -1
  162. package/.next/server/pages/domains/Orders/events/OrderCreated/logs.html +0 -1
  163. package/.next/server/pages/domains/Orders/events/OrderCreated/logs.json +0 -1
  164. package/.next/server/pages/domains/Orders/events/OrderCreated.html +0 -2
  165. package/.next/server/pages/domains/Orders/events/OrderCreated.json +0 -1
  166. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.html +0 -1
  167. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.json +0 -1
  168. package/.next/server/pages/domains/Orders/events/OrderRequested.html +0 -40
  169. package/.next/server/pages/domains/Orders/events/OrderRequested.json +0 -1
  170. package/.next/server/pages/domains/Orders/services/Orders Service.html +0 -2
  171. package/.next/server/pages/domains/Orders/services/Orders Service.json +0 -1
  172. package/.next/server/pages/domains/Orders.html +0 -2
  173. package/.next/server/pages/domains/Orders.json +0 -1
  174. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +0 -1
  175. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.json +0 -1
  176. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +0 -59
  177. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
  178. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +0 -66
  179. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
  180. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +0 -65
  181. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +0 -1
  182. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.html +0 -1
  183. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
  184. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.html +0 -48
  185. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.json +0 -1
  186. package/.next/server/pages/domains/Shopping.html +0 -2
  187. package/.next/server/pages/domains/Shopping.json +0 -1
  188. package/.next/server/pages/domains/[domain]/events/[name]/logs.js +0 -345
  189. package/.next/server/pages/domains/[domain]/events/[name]/logs.js.nft.json +0 -1
  190. package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js +0 -435
  191. package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js.nft.json +0 -1
  192. package/.next/server/pages/domains/[domain]/events/[name].js +0 -354
  193. package/.next/server/pages/domains/[domain]/events/[name].js.nft.json +0 -1
  194. package/.next/server/pages/domains/[domain]/services/[name].js +0 -402
  195. package/.next/server/pages/domains/[domain]/services/[name].js.nft.json +0 -1
  196. package/.next/server/pages/domains/[domain].js +0 -549
  197. package/.next/server/pages/domains/[domain].js.nft.json +0 -1
  198. package/.next/server/pages/domains.html +0 -3
  199. package/.next/server/pages/domains.js +0 -576
  200. package/.next/server/pages/domains.js.nft.json +0 -1
  201. package/.next/server/pages/domains.json +0 -1
  202. package/.next/server/pages/events/PaymentProcessed/logs.html +0 -1
  203. package/.next/server/pages/events/PaymentProcessed/logs.json +0 -1
  204. package/.next/server/pages/events/PaymentProcessed.html +0 -44
  205. package/.next/server/pages/events/PaymentProcessed.json +0 -1
  206. package/.next/server/pages/events/ShipmentDelivered/logs.html +0 -1
  207. package/.next/server/pages/events/ShipmentDelivered/logs.json +0 -1
  208. package/.next/server/pages/events/ShipmentDelivered.html +0 -44
  209. package/.next/server/pages/events/ShipmentDelivered.json +0 -1
  210. package/.next/server/pages/events/ShipmentDispatched/logs.html +0 -1
  211. package/.next/server/pages/events/ShipmentDispatched/logs.json +0 -1
  212. package/.next/server/pages/events/ShipmentDispatched.html +0 -44
  213. package/.next/server/pages/events/ShipmentDispatched.json +0 -1
  214. package/.next/server/pages/events/ShipmentPrepared/logs.html +0 -1
  215. package/.next/server/pages/events/ShipmentPrepared/logs.json +0 -1
  216. package/.next/server/pages/events/ShipmentPrepared.html +0 -2
  217. package/.next/server/pages/events/ShipmentPrepared.json +0 -1
  218. package/.next/server/pages/events/[name]/logs.js +0 -263
  219. package/.next/server/pages/events/[name]/logs.js.nft.json +0 -1
  220. package/.next/server/pages/events/[name]/v/[version].js +0 -431
  221. package/.next/server/pages/events/[name]/v/[version].js.nft.json +0 -1
  222. package/.next/server/pages/events/[name].js +0 -354
  223. package/.next/server/pages/events/[name].js.nft.json +0 -1
  224. package/.next/server/pages/events.html +0 -11
  225. package/.next/server/pages/events.js +0 -789
  226. package/.next/server/pages/events.js.nft.json +0 -1
  227. package/.next/server/pages/events.json +0 -1
  228. package/.next/server/pages/index.html +0 -1
  229. package/.next/server/pages/index.js.nft.json +0 -1
  230. package/.next/server/pages/overview.html +0 -1
  231. package/.next/server/pages/overview.js +0 -240
  232. package/.next/server/pages/overview.js.nft.json +0 -1
  233. package/.next/server/pages/overview.json +0 -1
  234. package/.next/server/pages/services/Orders Service.html +0 -1
  235. package/.next/server/pages/services/Orders Service.json +0 -1
  236. package/.next/server/pages/services/Payment Service.html +0 -2
  237. package/.next/server/pages/services/Payment Service.json +0 -1
  238. package/.next/server/pages/services/Shipping Service.html +0 -2
  239. package/.next/server/pages/services/Shipping Service.json +0 -1
  240. package/.next/server/pages/services/[name].js +0 -319
  241. package/.next/server/pages/services/[name].js.nft.json +0 -1
  242. package/.next/server/pages/services.html +0 -4
  243. package/.next/server/pages/services.js +0 -741
  244. package/.next/server/pages/services.js.nft.json +0 -1
  245. package/.next/server/pages/services.json +0 -1
  246. package/.next/server/pages/users/[id].js +0 -475
  247. package/.next/server/pages/users/[id].js.nft.json +0 -1
  248. package/.next/server/pages/users/dboyne.html +0 -16
  249. package/.next/server/pages/users/dboyne.json +0 -1
  250. package/.next/server/pages/users/mSmith.html +0 -13
  251. package/.next/server/pages/users/mSmith.json +0 -1
  252. package/.next/server/pages/users.html +0 -1
  253. package/.next/server/pages/users.js.nft.json +0 -1
  254. package/.next/server/pages/visualiser.html +0 -16
  255. package/.next/server/pages/visualiser.js +0 -739
  256. package/.next/server/pages/visualiser.js.nft.json +0 -1
  257. package/.next/server/pages/visualiser.json +0 -1
  258. package/.next/server/pages-manifest.json +0 -23
  259. package/.next/server/webpack-runtime.js +0 -259
  260. package/.next/static/chunks/020d8314.2bae2f29ef0060e4.js +0 -1
  261. package/.next/static/chunks/1093.67f04e0e6b50c9e5.js +0 -1
  262. package/.next/static/chunks/1178-c3c8c74ac08d7c77.js +0 -1
  263. package/.next/static/chunks/1254.a78e9444e102b061.js +0 -1
  264. package/.next/static/chunks/130.fa515915f80e17f9.js +0 -1
  265. package/.next/static/chunks/1318.a5349c1b3da2b184.js +0 -1
  266. package/.next/static/chunks/1415.55c7c89ef0a8aab1.js +0 -1
  267. package/.next/static/chunks/1455-8df9e334899797b2.js +0 -1
  268. package/.next/static/chunks/172-940ad0353b57ff98.js +0 -1
  269. package/.next/static/chunks/1733.1bead33faaa9eeb0.js +0 -1
  270. package/.next/static/chunks/1806.3ed762ab3ecedc9d.js +0 -1
  271. package/.next/static/chunks/2157.cd3aa9fee64d976e.js +0 -1
  272. package/.next/static/chunks/2566.4084969752c613a9.js +0 -1
  273. package/.next/static/chunks/2620-21775e17d8a6a407.js +0 -1
  274. package/.next/static/chunks/2edb282b-45c56c19221816df.js +0 -1
  275. package/.next/static/chunks/3116-446dd88b93c44018.js +0 -1
  276. package/.next/static/chunks/3193.f69abc67598575a9.js +0 -1
  277. package/.next/static/chunks/3260.00ac1405e82b8dd9.js +0 -1
  278. package/.next/static/chunks/3271.83723868c9b8e7c1.js +0 -1
  279. package/.next/static/chunks/3287.f50c49237cef9ae8.js +0 -1
  280. package/.next/static/chunks/39a9cf3f.8cc8ac3887be2999.js +0 -1
  281. package/.next/static/chunks/3ede58a6.44fda8e0e5284248.js +0 -1
  282. package/.next/static/chunks/40.16abe9d3c57256d6.js +0 -1
  283. package/.next/static/chunks/407.3078ab29e8d18c02.js +0 -1
  284. package/.next/static/chunks/438.dea6dada9bd4b683.js +0 -1
  285. package/.next/static/chunks/4384-8a28a71e7e3b8d8a.js +0 -1
  286. package/.next/static/chunks/4466.dc03dbcd026995cc.js +0 -1
  287. package/.next/static/chunks/4737.ae583b848d202a93.js +0 -1
  288. package/.next/static/chunks/5048.73fa7a6d734ba5ef.js +0 -1
  289. package/.next/static/chunks/5092.8ead508f86f4b11c.js +0 -1
  290. package/.next/static/chunks/5493-b00dc3d50ab46716.js +0 -1
  291. package/.next/static/chunks/5835.a9405ab0913544df.js +0 -1
  292. package/.next/static/chunks/6067.cc75c37618cf0147.js +0 -1
  293. package/.next/static/chunks/6121.758a43c0db92ca23.js +0 -1
  294. package/.next/static/chunks/6229.7a9f0c8b204b76dc.js +0 -1
  295. package/.next/static/chunks/6487.44c6e83c098ed47f.js +0 -1
  296. package/.next/static/chunks/6582.06af6897be0d24b3.js +0 -1
  297. package/.next/static/chunks/6724.ed1280c926906c76.js +0 -1
  298. package/.next/static/chunks/6772-fc6143a6584acf9b.js +0 -1
  299. package/.next/static/chunks/6790-f4527d80153a3e25.js +0 -1
  300. package/.next/static/chunks/7005-09e42f99859b8d03.js +0 -1
  301. package/.next/static/chunks/7109-c8d3fde4c3b6798e.js +0 -1
  302. package/.next/static/chunks/7374.a673e317f007d3b6.js +0 -1
  303. package/.next/static/chunks/74030e57.9636ad3c5c96940b.js +0 -1
  304. package/.next/static/chunks/7458.1de01a44cd67f6f0.js +0 -1
  305. package/.next/static/chunks/7469.d932a6b01168373b.js +0 -1
  306. package/.next/static/chunks/7636.9eaf88a09c2a88ed.js +0 -1
  307. package/.next/static/chunks/7f5d3f51-659399fe6f04b9eb.js +0 -1
  308. package/.next/static/chunks/8264-a1b0376ff4b3d4da.js +0 -1
  309. package/.next/static/chunks/828-1a4a120d2fbea802.js +0 -1
  310. package/.next/static/chunks/8341-b8d844d6f606aed5.js +0 -1
  311. package/.next/static/chunks/8470.c811187bd2982a8a.js +0 -1
  312. package/.next/static/chunks/9076.0a13d7d5aab7bfa1.js +0 -1
  313. package/.next/static/chunks/9097.1efc23284d82765c.js +0 -1
  314. package/.next/static/chunks/9270.a4c64e6be4a278a4.js +0 -1
  315. package/.next/static/chunks/9404.a44dfe8858add605.js +0 -1
  316. package/.next/static/chunks/9497.49670ee9a8bd76f7.js +0 -1
  317. package/.next/static/chunks/9930.28415573db2b7806.js +0 -7
  318. package/.next/static/chunks/b2f22a9c-0216e9400ac0ac1c.js +0 -1
  319. package/.next/static/chunks/b9e0c7b4-52b02c0d4f161186.js +0 -1
  320. package/.next/static/chunks/eb6e03f4.3dd8d555aebe18ff.js +0 -1
  321. package/.next/static/chunks/f4df0e03.56d1c15b5532ab26.js +0 -1
  322. package/.next/static/chunks/framework-6cc1bceeaaf75e91.js +0 -1
  323. package/.next/static/chunks/main-da37322a396d572a.js +0 -1
  324. package/.next/static/chunks/pages/_app-d40841fd52b70886.js +0 -1
  325. package/.next/static/chunks/pages/_error-c36fa6f7fd569cf6.js +0 -1
  326. package/.next/static/chunks/pages/domains/[domain]/events/[name]/logs-350f383eed1cf3f8.js +0 -1
  327. package/.next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-45b0d7bc42f6f81c.js +0 -1
  328. package/.next/static/chunks/pages/domains/[domain]/events/[name]-15bb0ef487953fa1.js +0 -1
  329. package/.next/static/chunks/pages/domains/[domain]/services/[name]-a4857d4d0aa4d04b.js +0 -1
  330. package/.next/static/chunks/pages/domains/[domain]-ea20e2daae1794fc.js +0 -1
  331. package/.next/static/chunks/pages/domains-71179cbdb719a0f8.js +0 -1
  332. package/.next/static/chunks/pages/events/[name]/logs-695c5b2cfd996539.js +0 -1
  333. package/.next/static/chunks/pages/events/[name]/v/[version]-b718302d7185dcb0.js +0 -1
  334. package/.next/static/chunks/pages/events/[name]-8cb0b3b469bd7845.js +0 -1
  335. package/.next/static/chunks/pages/events-83c9161a6e696533.js +0 -1
  336. package/.next/static/chunks/pages/index-68062a10328e7d10.js +0 -1
  337. package/.next/static/chunks/pages/overview-4251cc856f776fc2.js +0 -1
  338. package/.next/static/chunks/pages/services/[name]-7030da24d73a8ea3.js +0 -1
  339. package/.next/static/chunks/pages/services-7069c0a5295e53ae.js +0 -1
  340. package/.next/static/chunks/pages/users/[id]-00aeace648436383.js +0 -1
  341. package/.next/static/chunks/pages/users-412f257b1de51363.js +0 -1
  342. package/.next/static/chunks/pages/visualiser-8474d03175cf9d12.js +0 -1
  343. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  344. package/.next/static/chunks/webpack-1ea4cabfc6778694.js +0 -1
  345. package/.next/static/css/7e14b4dede1671ad.css +0 -1
  346. package/.next/static/css/94b9a747218712b2.css +0 -3
  347. package/.next/static/css/ae8abf3666c55019.css +0 -5
  348. package/.next/static/css/cc3c8fcadcf7a58b.css +0 -1
  349. package/.next/static/css/deb57cf90a65a90f.css +0 -1
  350. package/.next/static/css/ed97de5465a152bb.css +0 -1
  351. package/.next/static/wZIh57Hs672ULoPeUaYa1/_buildManifest.js +0 -1
  352. package/.next/static/wZIh57Hs672ULoPeUaYa1/_ssgManifest.js +0 -1
  353. package/.next/trace +0 -141
  354. package/bin/eventcatalog.js +0 -141
  355. package/components/BreadCrumbs.tsx +0 -50
  356. package/components/ContentView.tsx +0 -123
  357. package/components/Footer.tsx +0 -31
  358. package/components/Grids/DomainGrid.tsx +0 -61
  359. package/components/Grids/EventGrid.tsx +0 -102
  360. package/components/Grids/ServiceGrid.tsx +0 -84
  361. package/components/Grids/UserGrid.tsx +0 -55
  362. package/components/Header.tsx +0 -74
  363. package/components/Mdx/AsyncApiSpec.tsx +0 -25
  364. package/components/Mdx/Examples.tsx +0 -70
  365. package/components/Mdx/NodeGraph/GraphElements.tsx +0 -294
  366. package/components/Mdx/NodeGraph/GraphLayout.ts +0 -110
  367. package/components/Mdx/NodeGraph/Node.tsx +0 -15
  368. package/components/Mdx/NodeGraph/NodeGraph.tsx +0 -168
  369. package/components/Mdx/NodeGraph/__tests__/GraphElements.spec.ts +0 -102
  370. package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +0 -115
  371. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +0 -559
  372. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +0 -81
  373. package/components/Mdx/OpenApiSpec.tsx +0 -21
  374. package/components/Mdx/SchemaViewer/SchemaViewer.module.css +0 -5
  375. package/components/Mdx/SchemaViewer/SchemaViewer.tsx +0 -34
  376. package/components/Mermaid/index.tsx +0 -58
  377. package/components/NotFound/index.tsx +0 -40
  378. package/components/Sidebars/DomainSidebar.tsx +0 -55
  379. package/components/Sidebars/EventSidebar.tsx +0 -172
  380. package/components/Sidebars/ServiceSidebar.tsx +0 -128
  381. package/components/Sidebars/components/ExternalLinks.tsx +0 -28
  382. package/components/Sidebars/components/ItemList.tsx +0 -32
  383. package/components/Sidebars/components/Owners.tsx +0 -38
  384. package/components/Sidebars/components/Tags.tsx +0 -45
  385. package/components/SyntaxHighlighter.tsx +0 -42
  386. package/eventcatalog.config.js +0 -58
  387. package/eventcatalog.styles.css +0 -15
  388. package/hooks/EventCatalog.tsx +0 -54
  389. package/lib/__tests__/assets/domains/User/events/UserCreated/index.md +0 -20
  390. package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.cs +0 -31
  391. package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.js +0 -1
  392. package/lib/__tests__/assets/domains/User/events/UserRemoved/index.md +0 -16
  393. package/lib/__tests__/assets/domains/User/events/UserRemoved/schema.json +0 -4
  394. package/lib/__tests__/assets/domains/User/index.md +0 -16
  395. package/lib/__tests__/assets/domains/User/services/User Service/index.md +0 -19
  396. package/lib/__tests__/assets/events/AddedItemToCart/index.md +0 -25
  397. package/lib/__tests__/assets/events/EmailSent/index.md +0 -15
  398. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/examples/Basic.cs +0 -31
  399. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/examples/Basic.js +0 -1
  400. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/index.md +0 -8
  401. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/schema.json +0 -4
  402. package/lib/__tests__/assets/events/EventWithVersions/index.md +0 -10
  403. package/lib/__tests__/assets/events/EventWithVersions/versioned/0.0.1/index.md +0 -10
  404. package/lib/__tests__/assets/services/Basket Service/index.md +0 -26
  405. package/lib/__tests__/assets/services/Email Platform/index.md +0 -17
  406. package/lib/__tests__/assets/services/Payment Service/index.md +0 -7
  407. package/lib/__tests__/domains.spec.ts +0 -416
  408. package/lib/__tests__/events.spec.ts +0 -514
  409. package/lib/__tests__/file-reader.spec.ts +0 -69
  410. package/lib/__tests__/graphs.spec.ts +0 -88
  411. package/lib/__tests__/services.spec.ts +0 -268
  412. package/lib/analytics.ts +0 -30
  413. package/lib/domains.ts +0 -160
  414. package/lib/events.ts +0 -313
  415. package/lib/file-reader.ts +0 -76
  416. package/lib/graphs.ts +0 -92
  417. package/lib/services.ts +0 -126
  418. package/next-env.d.ts +0 -5
  419. package/next.config.js +0 -11
  420. package/out/404/index.html +0 -12
  421. package/out/404.html +0 -12
  422. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderComplete/logs.json +0 -1
  423. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderComplete.json +0 -1
  424. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderConfirmed/logs.json +0 -1
  425. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderConfirmed.json +0 -1
  426. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderCreated/logs.json +0 -1
  427. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderCreated.json +0 -1
  428. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderRequested/logs.json +0 -1
  429. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderRequested.json +0 -1
  430. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/services/Orders Service.json +0 -1
  431. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders.json +0 -1
  432. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/logs.json +0 -1
  433. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
  434. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
  435. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart.json +0 -1
  436. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
  437. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/RemovedItemFromCart.json +0 -1
  438. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping.json +0 -1
  439. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains.json +0 -1
  440. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/PaymentProcessed/logs.json +0 -1
  441. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/PaymentProcessed.json +0 -1
  442. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDelivered/logs.json +0 -1
  443. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDelivered.json +0 -1
  444. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDispatched/logs.json +0 -1
  445. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDispatched.json +0 -1
  446. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentPrepared/logs.json +0 -1
  447. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentPrepared.json +0 -1
  448. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events.json +0 -1
  449. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/overview.json +0 -1
  450. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Orders Service.json +0 -1
  451. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Payment Service.json +0 -1
  452. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Shipping Service.json +0 -1
  453. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services.json +0 -1
  454. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/users/dboyne.json +0 -1
  455. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/users/mSmith.json +0 -1
  456. package/out/_next/data/wZIh57Hs672ULoPeUaYa1/visualiser.json +0 -1
  457. package/out/_next/static/chunks/020d8314.2bae2f29ef0060e4.js +0 -1
  458. package/out/_next/static/chunks/1093.67f04e0e6b50c9e5.js +0 -1
  459. package/out/_next/static/chunks/1178-c3c8c74ac08d7c77.js +0 -1
  460. package/out/_next/static/chunks/1254.a78e9444e102b061.js +0 -1
  461. package/out/_next/static/chunks/130.fa515915f80e17f9.js +0 -1
  462. package/out/_next/static/chunks/1318.a5349c1b3da2b184.js +0 -1
  463. package/out/_next/static/chunks/1415.55c7c89ef0a8aab1.js +0 -1
  464. package/out/_next/static/chunks/1455-8df9e334899797b2.js +0 -1
  465. package/out/_next/static/chunks/172-940ad0353b57ff98.js +0 -1
  466. package/out/_next/static/chunks/1733.1bead33faaa9eeb0.js +0 -1
  467. package/out/_next/static/chunks/1806.3ed762ab3ecedc9d.js +0 -1
  468. package/out/_next/static/chunks/2157.cd3aa9fee64d976e.js +0 -1
  469. package/out/_next/static/chunks/2566.4084969752c613a9.js +0 -1
  470. package/out/_next/static/chunks/2620-21775e17d8a6a407.js +0 -1
  471. package/out/_next/static/chunks/2edb282b-45c56c19221816df.js +0 -1
  472. package/out/_next/static/chunks/3116-446dd88b93c44018.js +0 -1
  473. package/out/_next/static/chunks/3193.f69abc67598575a9.js +0 -1
  474. package/out/_next/static/chunks/3260.00ac1405e82b8dd9.js +0 -1
  475. package/out/_next/static/chunks/3271.83723868c9b8e7c1.js +0 -1
  476. package/out/_next/static/chunks/3287.f50c49237cef9ae8.js +0 -1
  477. package/out/_next/static/chunks/39a9cf3f.8cc8ac3887be2999.js +0 -1
  478. package/out/_next/static/chunks/3ede58a6.44fda8e0e5284248.js +0 -1
  479. package/out/_next/static/chunks/40.16abe9d3c57256d6.js +0 -1
  480. package/out/_next/static/chunks/407.3078ab29e8d18c02.js +0 -1
  481. package/out/_next/static/chunks/438.dea6dada9bd4b683.js +0 -1
  482. package/out/_next/static/chunks/4384-8a28a71e7e3b8d8a.js +0 -1
  483. package/out/_next/static/chunks/4466.dc03dbcd026995cc.js +0 -1
  484. package/out/_next/static/chunks/4737.ae583b848d202a93.js +0 -1
  485. package/out/_next/static/chunks/5048.73fa7a6d734ba5ef.js +0 -1
  486. package/out/_next/static/chunks/5092.8ead508f86f4b11c.js +0 -1
  487. package/out/_next/static/chunks/5493-b00dc3d50ab46716.js +0 -1
  488. package/out/_next/static/chunks/5835.a9405ab0913544df.js +0 -1
  489. package/out/_next/static/chunks/6067.cc75c37618cf0147.js +0 -1
  490. package/out/_next/static/chunks/6121.758a43c0db92ca23.js +0 -1
  491. package/out/_next/static/chunks/6229.7a9f0c8b204b76dc.js +0 -1
  492. package/out/_next/static/chunks/6487.44c6e83c098ed47f.js +0 -1
  493. package/out/_next/static/chunks/6582.06af6897be0d24b3.js +0 -1
  494. package/out/_next/static/chunks/6724.ed1280c926906c76.js +0 -1
  495. package/out/_next/static/chunks/6772-fc6143a6584acf9b.js +0 -1
  496. package/out/_next/static/chunks/6790-f4527d80153a3e25.js +0 -1
  497. package/out/_next/static/chunks/7005-09e42f99859b8d03.js +0 -1
  498. package/out/_next/static/chunks/7109-c8d3fde4c3b6798e.js +0 -1
  499. package/out/_next/static/chunks/7374.a673e317f007d3b6.js +0 -1
  500. package/out/_next/static/chunks/74030e57.9636ad3c5c96940b.js +0 -1
  501. package/out/_next/static/chunks/7458.1de01a44cd67f6f0.js +0 -1
  502. package/out/_next/static/chunks/7469.d932a6b01168373b.js +0 -1
  503. package/out/_next/static/chunks/7636.9eaf88a09c2a88ed.js +0 -1
  504. package/out/_next/static/chunks/7f5d3f51-659399fe6f04b9eb.js +0 -1
  505. package/out/_next/static/chunks/8264-a1b0376ff4b3d4da.js +0 -1
  506. package/out/_next/static/chunks/828-1a4a120d2fbea802.js +0 -1
  507. package/out/_next/static/chunks/8341-b8d844d6f606aed5.js +0 -1
  508. package/out/_next/static/chunks/8470.c811187bd2982a8a.js +0 -1
  509. package/out/_next/static/chunks/9076.0a13d7d5aab7bfa1.js +0 -1
  510. package/out/_next/static/chunks/9097.1efc23284d82765c.js +0 -1
  511. package/out/_next/static/chunks/9270.a4c64e6be4a278a4.js +0 -1
  512. package/out/_next/static/chunks/9404.a44dfe8858add605.js +0 -1
  513. package/out/_next/static/chunks/9497.49670ee9a8bd76f7.js +0 -1
  514. package/out/_next/static/chunks/9930.28415573db2b7806.js +0 -7
  515. package/out/_next/static/chunks/b2f22a9c-0216e9400ac0ac1c.js +0 -1
  516. package/out/_next/static/chunks/b9e0c7b4-52b02c0d4f161186.js +0 -1
  517. package/out/_next/static/chunks/eb6e03f4.3dd8d555aebe18ff.js +0 -1
  518. package/out/_next/static/chunks/f4df0e03.56d1c15b5532ab26.js +0 -1
  519. package/out/_next/static/chunks/framework-6cc1bceeaaf75e91.js +0 -1
  520. package/out/_next/static/chunks/main-da37322a396d572a.js +0 -1
  521. package/out/_next/static/chunks/pages/_app-d40841fd52b70886.js +0 -1
  522. package/out/_next/static/chunks/pages/_error-c36fa6f7fd569cf6.js +0 -1
  523. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/logs-350f383eed1cf3f8.js +0 -1
  524. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-45b0d7bc42f6f81c.js +0 -1
  525. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]-15bb0ef487953fa1.js +0 -1
  526. package/out/_next/static/chunks/pages/domains/[domain]/services/[name]-a4857d4d0aa4d04b.js +0 -1
  527. package/out/_next/static/chunks/pages/domains/[domain]-ea20e2daae1794fc.js +0 -1
  528. package/out/_next/static/chunks/pages/domains-71179cbdb719a0f8.js +0 -1
  529. package/out/_next/static/chunks/pages/events/[name]/logs-695c5b2cfd996539.js +0 -1
  530. package/out/_next/static/chunks/pages/events/[name]/v/[version]-b718302d7185dcb0.js +0 -1
  531. package/out/_next/static/chunks/pages/events/[name]-8cb0b3b469bd7845.js +0 -1
  532. package/out/_next/static/chunks/pages/events-83c9161a6e696533.js +0 -1
  533. package/out/_next/static/chunks/pages/index-68062a10328e7d10.js +0 -1
  534. package/out/_next/static/chunks/pages/overview-4251cc856f776fc2.js +0 -1
  535. package/out/_next/static/chunks/pages/services/[name]-7030da24d73a8ea3.js +0 -1
  536. package/out/_next/static/chunks/pages/services-7069c0a5295e53ae.js +0 -1
  537. package/out/_next/static/chunks/pages/users/[id]-00aeace648436383.js +0 -1
  538. package/out/_next/static/chunks/pages/users-412f257b1de51363.js +0 -1
  539. package/out/_next/static/chunks/pages/visualiser-8474d03175cf9d12.js +0 -1
  540. package/out/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  541. package/out/_next/static/chunks/webpack-1ea4cabfc6778694.js +0 -1
  542. package/out/_next/static/css/7e14b4dede1671ad.css +0 -1
  543. package/out/_next/static/css/94b9a747218712b2.css +0 -3
  544. package/out/_next/static/css/ae8abf3666c55019.css +0 -5
  545. package/out/_next/static/css/cc3c8fcadcf7a58b.css +0 -1
  546. package/out/_next/static/css/deb57cf90a65a90f.css +0 -1
  547. package/out/_next/static/css/ed97de5465a152bb.css +0 -1
  548. package/out/_next/static/wZIh57Hs672ULoPeUaYa1/_buildManifest.js +0 -1
  549. package/out/_next/static/wZIh57Hs672ULoPeUaYa1/_ssgManifest.js +0 -1
  550. package/out/domains/Orders/events/OrderComplete/index.html +0 -40
  551. package/out/domains/Orders/events/OrderComplete/logs/index.html +0 -1
  552. package/out/domains/Orders/events/OrderConfirmed/index.html +0 -40
  553. package/out/domains/Orders/events/OrderConfirmed/logs/index.html +0 -1
  554. package/out/domains/Orders/events/OrderCreated/index.html +0 -2
  555. package/out/domains/Orders/events/OrderCreated/logs/index.html +0 -1
  556. package/out/domains/Orders/events/OrderRequested/index.html +0 -40
  557. package/out/domains/Orders/events/OrderRequested/logs/index.html +0 -1
  558. package/out/domains/Orders/index.html +0 -2
  559. package/out/domains/Orders/services/Orders Service/index.html +0 -2
  560. package/out/domains/Shopping/events/AddedItemToCart/index.html +0 -65
  561. package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +0 -1
  562. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +0 -59
  563. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +0 -66
  564. package/out/domains/Shopping/events/RemovedItemFromCart/index.html +0 -48
  565. package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +0 -1
  566. package/out/domains/Shopping/index.html +0 -2
  567. package/out/domains/index.html +0 -3
  568. package/out/events/PaymentProcessed/index.html +0 -44
  569. package/out/events/PaymentProcessed/logs/index.html +0 -1
  570. package/out/events/ShipmentDelivered/index.html +0 -44
  571. package/out/events/ShipmentDelivered/logs/index.html +0 -1
  572. package/out/events/ShipmentDispatched/index.html +0 -44
  573. package/out/events/ShipmentDispatched/logs/index.html +0 -1
  574. package/out/events/ShipmentPrepared/index.html +0 -2
  575. package/out/events/ShipmentPrepared/logs/index.html +0 -1
  576. package/out/events/index.html +0 -11
  577. package/out/favicon.ico +0 -0
  578. package/out/index.html +0 -1
  579. package/out/logo-random.svg +0 -114
  580. package/out/logo.svg +0 -44
  581. package/out/opengraph.png +0 -0
  582. package/out/overview/index.html +0 -1
  583. package/out/services/Orders Service/index.html +0 -1
  584. package/out/services/Payment Service/index.html +0 -2
  585. package/out/services/Shipping Service/index.html +0 -2
  586. package/out/services/index.html +0 -4
  587. package/out/users/dboyne/index.html +0 -16
  588. package/out/users/index.html +0 -1
  589. package/out/users/mSmith/index.html +0 -13
  590. package/out/visualiser/index.html +0 -16
  591. package/pages/_app.tsx +0 -111
  592. package/pages/_document.tsx +0 -18
  593. package/pages/domains/[domain]/events/[name]/logs.tsx +0 -35
  594. package/pages/domains/[domain]/events/[name]/v/[version].tsx +0 -39
  595. package/pages/domains/[domain]/events/[name].tsx +0 -46
  596. package/pages/domains/[domain]/index.tsx +0 -137
  597. package/pages/domains/[domain]/services/[name].tsx +0 -42
  598. package/pages/domains.tsx +0 -210
  599. package/pages/events/[name]/logs.tsx +0 -177
  600. package/pages/events/[name]/v/[version].tsx +0 -38
  601. package/pages/events/[name].tsx +0 -223
  602. package/pages/events.tsx +0 -357
  603. package/pages/index.tsx +0 -56
  604. package/pages/overview.tsx +0 -89
  605. package/pages/services/[name].tsx +0 -164
  606. package/pages/services.tsx +0 -311
  607. package/pages/users/[id].tsx +0 -101
  608. package/pages/users.tsx +0 -43
  609. package/pages/visualiser.tsx +0 -322
  610. package/postcss.config.js +0 -6
  611. package/public/logo-random.svg +0 -114
  612. package/public/logo.svg +0 -44
  613. package/scripts/__tests__/assets/eventcatalog.config.js +0 -32
  614. package/scripts/__tests__/generate.spec.ts +0 -36
  615. package/scripts/generate.js +0 -28
  616. package/scripts/move-schemas-for-download.js +0 -80
  617. package/styles/Home.module.css +0 -116
  618. package/styles/globals.css +0 -85
  619. package/tailwind.config.js +0 -36
  620. package/types/index.ts +0 -7
  621. package/utils/random-bg.ts +0 -13
  622. /package/{lib/__tests__/assets/services/Payment Service/openapi.yaml → public/openapi.yml} +0 -0
@@ -1,514 +0,0 @@
1
- import path from 'path';
2
- import fs from 'fs';
3
- import {
4
- getAllEvents,
5
- getEventByName,
6
- getUniqueServicesNamesFromEvents,
7
- getAllEventsByOwnerId,
8
- getAllEventsThatHaveRelationshipWithService,
9
- } from '../events';
10
-
11
- let PROJECT_DIR: any;
12
-
13
- describe('events lib', () => {
14
- beforeAll(() => {
15
- PROJECT_DIR = process.env.PROJECT_DIR;
16
- process.env.PROJECT_DIR = path.join(__dirname, 'assets');
17
- });
18
-
19
- afterAll(() => {
20
- process.env.PROJECT_DIR = PROJECT_DIR;
21
- });
22
-
23
- describe('getEventByName', () => {
24
- describe('events without domains', () => {
25
- it('returns an event and markdown by the given event name', async () => {
26
- const { event, markdown } = await getEventByName({ eventName: 'AddedItemToCart' });
27
-
28
- expect(event).toEqual({
29
- name: 'AddedItemToCart',
30
- version: '0.0.1',
31
- summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
32
- producerNames: ['Shopping API', 'Application API'],
33
- consumerNames: ['Customer Portal'],
34
- owners: ['dboyne', 'mSmith'],
35
- domain: null,
36
- historicVersions: [],
37
- openAPISpec: null,
38
- badges: [
39
- {
40
- content: 'Deprecated',
41
- backgroundColor: 'red',
42
- textColor: 'red',
43
- },
44
- ],
45
- consumers: [
46
- {
47
- name: 'Customer Portal',
48
- },
49
- ],
50
- producers: [
51
- {
52
- name: 'Shopping API',
53
- },
54
- {
55
- name: 'Application API',
56
- },
57
- ],
58
- tags: [
59
- {
60
- label: 'Topic: add-item-to-cart',
61
- },
62
- {
63
- label: 'Broker: kafka',
64
- url: 'https://kafka.apache.org',
65
- },
66
- ],
67
- externalLinks: [],
68
- schema: null,
69
- examples: [],
70
- });
71
-
72
- // @ts-ignore
73
- expect(markdown.content).toMatchMarkdown('# Testing');
74
- });
75
-
76
- it('returns the schema and examples of the event as empty if no schema or examples are found', async () => {
77
- const { event } = await getEventByName({ eventName: 'AddedItemToCart' });
78
-
79
- expect(event.schema).toEqual(null);
80
- expect(event.examples).toEqual([]);
81
- });
82
-
83
- it('returns the schema if there is a `schema` file is found in directory of the event', async () => {
84
- const { event } = await getEventByName({ eventName: 'EventWithSchemaAndExamples' });
85
-
86
- const schema = `{
87
- "some-schema": true,
88
- "does-not-really-matter-what-content-is-in-this-file": true
89
- }`;
90
-
91
- // @ts-ignore
92
- expect(event.schema.snippet).toMatchMarkdown(schema);
93
- expect(event.schema.language).toEqual('json');
94
- });
95
-
96
- it('returns all event examples (files) when examples directory is found within the event folder', async () => {
97
- const { event } = await getEventByName({ eventName: 'EventWithSchemaAndExamples' });
98
-
99
- const example1 = event.examples[0];
100
- const example2 = event.examples[1];
101
-
102
- const example1File = fs.readFileSync(
103
- path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'examples', 'Basic.cs'),
104
- { encoding: 'utf-8' }
105
- );
106
- const example2File = fs.readFileSync(
107
- path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'examples', 'Basic.js'),
108
- { encoding: 'utf-8' }
109
- );
110
-
111
- expect(event.examples).toHaveLength(2);
112
-
113
- expect(example1.name).toEqual('Basic.cs');
114
- expect(example1.langugage).toEqual('csharp');
115
- expect(example1.snippet).toEqual(example1File);
116
-
117
- expect(example2.name).toEqual('Basic.js');
118
- expect(example2.langugage).toEqual('javascript');
119
- expect(example2.snippet).toEqual(example2File);
120
- });
121
-
122
- it('returns previous versions of events when the event has previous versions in the folder directory', async () => {
123
- const { event } = await getEventByName({ eventName: 'EventWithVersions' });
124
- expect(event.historicVersions).toEqual(['0.0.1']);
125
- });
126
-
127
- it('returns empty array of event historic events when the event does not have previous versions in the folder directory', async () => {
128
- const { event } = await getEventByName({ eventName: 'EventWithSchemaAndExamples' });
129
- expect(event.historicVersions).toEqual([]);
130
- });
131
- });
132
-
133
- describe('events within domains', () => {
134
- it('returns an event and markdown by the given event name', async () => {
135
- const { event, markdown } = await getEventByName({ eventName: 'UserCreated', domain: 'User' });
136
-
137
- expect(event).toEqual({
138
- name: 'UserCreated',
139
- version: '0.0.1',
140
- summary: 'Holds information about when the user has been created.\n',
141
- producerNames: ['Application API'],
142
- consumerNames: ['Customer Portal'],
143
- owners: ['dboyne', 'mSmith'],
144
- domain: 'User',
145
- historicVersions: [],
146
- openAPISpec: null,
147
- badges: [
148
- {
149
- content: 'New!',
150
- backgroundColor: 'blue',
151
- textColor: 'blue',
152
- },
153
- ],
154
- externalLinks: [],
155
- tags: [],
156
- consumers: [
157
- {
158
- name: 'Customer Portal',
159
- },
160
- ],
161
- producers: [
162
- {
163
- name: 'Application API',
164
- },
165
- ],
166
- schema: null,
167
- examples: [],
168
- });
169
-
170
- // @ts-ignore
171
- expect(markdown.content).toMatchMarkdown('# Testing');
172
- });
173
-
174
- it('returns the schema and examples of the event as empty if no schema or examples are found', async () => {
175
- const { event } = await getEventByName({ eventName: 'UserCreated', domain: 'User' });
176
-
177
- expect(event.schema).toEqual(null);
178
- expect(event.examples).toEqual([]);
179
- });
180
-
181
- it('returns the schema if there is a `schema` file is found in directory of the event', async () => {
182
- const { event } = await getEventByName({ eventName: 'UserRemoved', domain: 'User' });
183
-
184
- const schema = `{
185
- "some-schema": true,
186
- "does-not-really-matter-what-content-is-in-this-file": true
187
- }`;
188
-
189
- // @ts-ignore
190
- expect(event.schema.snippet).toMatchMarkdown(schema);
191
- expect(event.schema.language).toEqual('json');
192
- });
193
-
194
- it('returns all event examples (files) when examples directory is found within the event folder', async () => {
195
- const { event } = await getEventByName({ eventName: 'UserRemoved', domain: 'User' });
196
-
197
- const example1 = event.examples[0];
198
- const example2 = event.examples[1];
199
-
200
- const example1File = fs.readFileSync(
201
- path.join(process.env.PROJECT_DIR, 'domains', 'User', 'events', 'UserRemoved', 'examples', 'Basic.cs'),
202
- { encoding: 'utf-8' }
203
- );
204
- const example2File = fs.readFileSync(
205
- path.join(process.env.PROJECT_DIR, 'domains', 'User', 'events', 'UserRemoved', 'examples', 'Basic.js'),
206
- { encoding: 'utf-8' }
207
- );
208
-
209
- expect(event.examples).toHaveLength(2);
210
-
211
- expect(example1.name).toEqual('Basic.cs');
212
- expect(example1.langugage).toEqual('csharp');
213
- expect(example1.snippet).toEqual(example1File);
214
-
215
- expect(example2.name).toEqual('Basic.js');
216
- expect(example2.langugage).toEqual('javascript');
217
- expect(example2.snippet).toEqual(example2File);
218
- });
219
- });
220
- });
221
-
222
- describe('getAllEvents', () => {
223
- it('gets all the events in the /events directory and also all events within domain directorys', async () => {
224
- const events = await getAllEvents();
225
-
226
- expect(events).toEqual([
227
- {
228
- name: 'AddedItemToCart',
229
- version: '0.0.1',
230
- summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
231
- domain: null,
232
- producerNames: ['Shopping API', 'Application API'],
233
- consumerNames: ['Customer Portal'],
234
- owners: ['dboyne', 'mSmith'],
235
- externalLinks: [],
236
- tags: [
237
- {
238
- label: 'Topic: add-item-to-cart',
239
- },
240
- {
241
- label: 'Broker: kafka',
242
- url: 'https://kafka.apache.org',
243
- },
244
- ],
245
- historicVersions: [],
246
- badges: [
247
- {
248
- content: 'Deprecated',
249
- backgroundColor: 'red',
250
- textColor: 'red',
251
- },
252
- ],
253
- },
254
- {
255
- name: 'EmailSent',
256
- version: '0.0.1',
257
- summary: 'Tells us when an email has been sent\n',
258
- domain: null,
259
- producerNames: ['Email Platform'],
260
- consumerNames: [],
261
- owners: ['dboyne', 'mSmith'],
262
- externalLinks: [],
263
- tags: [],
264
- historicVersions: [],
265
- badges: [],
266
- },
267
- {
268
- name: 'EventWithSchemaAndExamples',
269
- version: '0.0.1',
270
- summary: 'Example event with schema and examples\n',
271
- domain: null,
272
- producerNames: [],
273
- consumerNames: [],
274
- owners: [],
275
- externalLinks: [],
276
- tags: [],
277
- historicVersions: [],
278
- badges: [],
279
- },
280
- {
281
- name: 'EventWithVersions',
282
- version: '0.0.5',
283
- summary: 'Tells us when an email has been sent\n',
284
- domain: null,
285
- producerNames: [],
286
- consumerNames: [],
287
- owners: [],
288
- externalLinks: [],
289
- tags: [],
290
- historicVersions: ['0.0.1'],
291
- badges: [],
292
- },
293
- {
294
- name: 'UserCreated',
295
- version: '0.0.1',
296
- summary: 'Holds information about when the user has been created.\n',
297
- domain: 'User',
298
- producerNames: ['Application API'],
299
- consumerNames: ['Customer Portal'],
300
- owners: ['dboyne', 'mSmith'],
301
- externalLinks: [],
302
- tags: [],
303
- historicVersions: [],
304
- badges: [
305
- {
306
- content: 'New!',
307
- backgroundColor: 'blue',
308
- textColor: 'blue',
309
- },
310
- ],
311
- },
312
- {
313
- name: 'UserRemoved',
314
- version: '0.0.1',
315
- summary: 'Holds information about when the user has been removed.\n',
316
- domain: 'User',
317
- producerNames: ['Application API'],
318
- consumerNames: ['Customer Portal'],
319
- owners: ['dboyne', 'mSmith'],
320
- externalLinks: [],
321
- tags: [],
322
- historicVersions: [],
323
- badges: [],
324
- },
325
- ]);
326
- });
327
- });
328
-
329
- describe('getUniqueServicesNamesFromEvents', () => {
330
- it('returns an empty array when no services can be found in the array of events', () => {
331
- const events = [
332
- { name: 'Testing', version: '1.0.0' },
333
- { name: 'Testing', version: '2.0.0' },
334
- ];
335
-
336
- const result = getUniqueServicesNamesFromEvents(events);
337
-
338
- expect(result).toEqual([]);
339
- });
340
-
341
- it('takes an array of events and only returns unique service names', () => {
342
- const events = [
343
- {
344
- name: 'Testing',
345
- version: '1.0.0',
346
- consumerNames: ['Service 1', 'Service 2'],
347
- historicVersions: [],
348
- producerNames: ['Service 3'],
349
- },
350
- {
351
- name: 'Testing',
352
- version: '2.0.0',
353
- consumerNames: ['Service 2', 'Service 3'],
354
- historicVersions: [],
355
- producerNames: ['Service 4'],
356
- },
357
- { name: 'Testing', version: '3.0.0', consumerNames: ['Service 3', 'Service 4'] },
358
- ];
359
-
360
- const result = getUniqueServicesNamesFromEvents(events);
361
-
362
- expect(result).toEqual(['Service 1', 'Service 2', 'Service 3', 'Service 4']);
363
- });
364
- });
365
-
366
- describe('getAllEventsByOwnerId', () => {
367
- it('returns empty array when no owner is found', async () => {
368
- const events = await getAllEventsByOwnerId('made-up-user');
369
- expect(events).toEqual([]);
370
- });
371
-
372
- it('returns all the events for a given owner id', async () => {
373
- const events = await getAllEventsByOwnerId('dboyne');
374
-
375
- expect(events).toEqual([
376
- {
377
- name: 'AddedItemToCart',
378
- version: '0.0.1',
379
- summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
380
- domain: null,
381
- producerNames: ['Shopping API', 'Application API'],
382
- consumerNames: ['Customer Portal'],
383
- owners: ['dboyne', 'mSmith'],
384
- externalLinks: [],
385
- tags: [
386
- {
387
- label: 'Topic: add-item-to-cart',
388
- },
389
- {
390
- label: 'Broker: kafka',
391
- url: 'https://kafka.apache.org',
392
- },
393
- ],
394
- historicVersions: [],
395
- badges: [
396
- {
397
- content: 'Deprecated',
398
- backgroundColor: 'red',
399
- textColor: 'red',
400
- },
401
- ],
402
- },
403
- {
404
- name: 'EmailSent',
405
- version: '0.0.1',
406
- summary: 'Tells us when an email has been sent\n',
407
- domain: null,
408
- producerNames: ['Email Platform'],
409
- consumerNames: [],
410
- owners: ['dboyne', 'mSmith'],
411
- externalLinks: [],
412
- tags: [],
413
- historicVersions: [],
414
- badges: [],
415
- },
416
- {
417
- name: 'UserCreated',
418
- version: '0.0.1',
419
- summary: 'Holds information about when the user has been created.\n',
420
- domain: 'User',
421
- producerNames: ['Application API'],
422
- consumerNames: ['Customer Portal'],
423
- owners: ['dboyne', 'mSmith'],
424
- externalLinks: [],
425
- tags: [],
426
- historicVersions: [],
427
- badges: [
428
- {
429
- content: 'New!',
430
- backgroundColor: 'blue',
431
- textColor: 'blue',
432
- },
433
- ],
434
- },
435
- {
436
- name: 'UserRemoved',
437
- version: '0.0.1',
438
- summary: 'Holds information about when the user has been removed.\n',
439
- domain: 'User',
440
- producerNames: ['Application API'],
441
- consumerNames: ['Customer Portal'],
442
- owners: ['dboyne', 'mSmith'],
443
- externalLinks: [],
444
- tags: [],
445
- historicVersions: [],
446
- badges: [],
447
- },
448
- ]);
449
- });
450
- });
451
-
452
- describe('getAllEventsThatHaveRelationshipWithService', () => {
453
- it('returns the relationships between events for a given service', () => {
454
- const events = [
455
- {
456
- name: 'AddedItemToCart',
457
- version: '0.0.1',
458
- summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
459
- producerNames: ['Shopping API', 'My Service'],
460
- consumerNames: ['Customer Portal'],
461
- historicVersions: [],
462
- owners: ['dboyne', 'mSmith'],
463
- },
464
- ];
465
-
466
- const service = {
467
- id: 'My Service',
468
- name: 'My Service',
469
- summary: 'Test Service',
470
- };
471
-
472
- const result = getAllEventsThatHaveRelationshipWithService(service, events);
473
-
474
- expect(result).toEqual({
475
- publishes: [
476
- {
477
- name: 'AddedItemToCart',
478
- version: '0.0.1',
479
- summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
480
- producerNames: ['Shopping API', 'My Service'],
481
- consumerNames: ['Customer Portal'],
482
- historicVersions: [],
483
- owners: ['dboyne', 'mSmith'],
484
- },
485
- ],
486
- subscribes: [],
487
- });
488
- });
489
-
490
- it('if no relationships for given service and events can be found then empty arrays are returned', () => {
491
- const events = [
492
- {
493
- name: 'AddedItemToCart',
494
- version: '0.0.1',
495
- summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
496
- producerNames: ['Shopping API', 'Service'],
497
- consumerNames: ['Customer Portal'],
498
- historicVersions: [],
499
- owners: ['dboyne', 'mSmith'],
500
- },
501
- ];
502
-
503
- const service = {
504
- id: 'My Other Service That Has No Consumers or Anything',
505
- name: 'My Other Service That Has No Consumers or Anything',
506
- summary: 'Test Service',
507
- };
508
-
509
- const result = getAllEventsThatHaveRelationshipWithService(service, events);
510
-
511
- expect(result).toEqual({ publishes: [], subscribes: [] });
512
- });
513
- });
514
- });
@@ -1,69 +0,0 @@
1
- import path from 'path';
2
- import fs from 'fs';
3
- import { getSchemaFromDir, getLastModifiedDateOfFile, getOpenAPISpecFromDir } from '../file-reader';
4
-
5
- let PROJECT_DIR: any;
6
-
7
- describe('file-reader lib', () => {
8
- beforeAll(() => {
9
- PROJECT_DIR = process.env.PROJECT_DIR;
10
- process.env.PROJECT_DIR = path.join(__dirname, 'assets');
11
- });
12
-
13
- afterAll(() => {
14
- process.env.PROJECT_DIR = PROJECT_DIR;
15
- });
16
-
17
- describe('getSchemaFromDir', () => {
18
- it('returns the schema file found in the given directory path', () => {
19
- const rawSchemaFile = fs.readFileSync(
20
- path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'schema.json'),
21
- { encoding: 'utf-8' }
22
- );
23
-
24
- const result = getSchemaFromDir(path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples'));
25
-
26
- expect(result.snippet).toEqual(rawSchemaFile);
27
- expect(result.language).toEqual('json');
28
- });
29
-
30
- it('returns null when no schema file can be found in the given directory path', () => {
31
- const result = getSchemaFromDir(path.join(process.env.PROJECT_DIR, 'events', 'EmailSent'));
32
-
33
- expect(result).toEqual(null);
34
- });
35
- });
36
-
37
- describe('getOpenAPISpecFromDir', () => {
38
- it('returns the OPEN API file found in the given directory path', () => {
39
- const rawFile = fs.readFileSync(path.join(process.env.PROJECT_DIR, 'services', 'Payment Service', 'openapi.yaml'), {
40
- encoding: 'utf-8',
41
- });
42
-
43
- const result = getOpenAPISpecFromDir(path.join(process.env.PROJECT_DIR, 'services', 'Payment Service'));
44
-
45
- expect(result).toEqual(rawFile);
46
- });
47
-
48
- it('returns null when no schema file can be found in the given directory path', () => {
49
- const result = getSchemaFromDir(path.join(process.env.PROJECT_DIR, 'services', 'Email Service'));
50
-
51
- expect(result).toEqual(null);
52
- });
53
- });
54
-
55
- describe('getLastModifiedDateOfFile', () => {
56
- it('returns the date the given file was last modified', () => {
57
- const result = getLastModifiedDateOfFile(
58
- path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'schema.json')
59
- );
60
-
61
- const stats = fs.statSync(path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'schema.json'));
62
-
63
- const fileData = new Date(stats.mtime);
64
- const expectedResult = `${fileData.getFullYear()}/${fileData.getMonth() + 1}/${fileData.getDate()}`;
65
-
66
- expect(result).toEqual(expectedResult);
67
- });
68
- });
69
- });
@@ -1,88 +0,0 @@
1
- import { buildMermaidFlowChartForEvent, buildMermaidFlowChartForService } from '../graphs';
2
-
3
- jest.mock('next/config', () => () => ({
4
- publicRuntimeConfig: {
5
- basePath: '/docs',
6
- },
7
- }));
8
-
9
- describe('graphs', () => {
10
- describe('buildMermaidFlowChartForService', () => {
11
- it('takes a given Service and returns the mermaid code showing relationships between the events it publishes and consumes', () => {
12
- const event = { name: 'My Event', version: '0.0.1' };
13
- const event2 = { name: 'My Event 2', version: '0.0.1' };
14
-
15
- const service = {
16
- id: 'My Service',
17
- name: 'My Service',
18
- version: '0.0.1',
19
- summary: 'Summary',
20
- publishes: [event],
21
- subscribes: [event2],
22
- };
23
-
24
- const result = buildMermaidFlowChartForService(service);
25
-
26
- expect(result.trim()).toEqual(`flowchart LR
27
-
28
- l-My_Event_2[My Event 2]:::producer-->My_Service[My Service]:::event
29
-
30
- classDef event stroke:#2563eb,stroke-width: 4px;
31
-
32
- classDef producer stroke:#75d7b6,stroke-width: 2px;
33
-
34
- classDef consumer stroke:#818cf8,stroke-width: 2px;
35
-
36
- My_Service[My Service]:::event-->r-My_Event[My Event]:::consumer
37
-
38
- click l-My_Event_2 href "/docs/events/My Event 2" "Go to My Event 2" _self
39
-
40
- click r-My_Event href "/docs/events/My Event" "Go to My Event" _self
41
-
42
- click My_Service href "/docs/services/My Service" "Go to My Service" _self`);
43
- });
44
- });
45
-
46
- describe('buildMermaidFlowChartForEvent', () => {
47
- it('takes and Event and returns the mermaid code showing relationships between the event and its consumers and producers', () => {
48
- const event = {
49
- name: 'My Event',
50
- version: '0.0.1',
51
- producerNames: ['Service 1'],
52
- consumerNames: ['Service 2'],
53
- };
54
-
55
- const result = buildMermaidFlowChartForEvent(event);
56
-
57
- expect(result.trim()).toEqual(`flowchart LR
58
-
59
- l-Service_1[Service 1]:::producer-->My_Event[My Event]:::event
60
-
61
- classDef event stroke:#2563eb,stroke-width: 4px;
62
-
63
- classDef producer stroke:#75d7b6,stroke-width: 2px;
64
-
65
- classDef consumer stroke:#818cf8,stroke-width: 2px;
66
-
67
- My_Event[My Event]:::event-->r-Service_2[Service 2]:::consumer
68
-
69
- click l-Service_1 href "/docs/services/Service 1" "Go to Service 1" _self
70
-
71
- click r-Service_2 href "/docs/services/Service 2" "Go to Service 2" _self
72
-
73
- click My_Event href "/docs/events/My Event" "Go to My Event" _self`);
74
- });
75
-
76
- it('persists the spaces in the service name and renders them with mermaid', () => {
77
- const event = {
78
- name: 'My Event',
79
- version: '0.0.1',
80
- producerNames: ['Service 1 With Spaces'],
81
- consumerNames: [],
82
- };
83
- const result = buildMermaidFlowChartForEvent(event);
84
- expect(result).toContain(`Service_1_With_Spaces[Service 1 With Spaces]:::producer-->My_Event[My Event]:::event`);
85
- expect(result).not.toContain(`Service 1 With Spaces[`);
86
- });
87
- });
88
- });