@eventcatalog/core 1.2.6 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (614) 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 -571
  12. package/LICENSE.md +21 -0
  13. package/README.md +192 -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 -2082
  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/1178-011609b6f3b123b3.js +0 -1
  262. package/.next/static/chunks/1476.eb11ab1feb4c5940.js +0 -1
  263. package/.next/static/chunks/1484.274df63eb11d9d68.js +0 -1
  264. package/.next/static/chunks/172-940ad0353b57ff98.js +0 -1
  265. package/.next/static/chunks/1750.a25eb3336a8c3a36.js +0 -1
  266. package/.next/static/chunks/2017.1b67898bd26fe157.js +0 -1
  267. package/.next/static/chunks/2027.80b01f1a7005a770.js +0 -1
  268. package/.next/static/chunks/2076.21cb0bf760a8055d.js +0 -1
  269. package/.next/static/chunks/2583.56889bb376087220.js +0 -1
  270. package/.next/static/chunks/2620-21775e17d8a6a407.js +0 -1
  271. package/.next/static/chunks/2765.dda8bae3343b6d41.js +0 -1
  272. package/.next/static/chunks/2edb282b-45c56c19221816df.js +0 -1
  273. package/.next/static/chunks/3082.62ff47793d562412.js +0 -1
  274. package/.next/static/chunks/3116-e9a578a270d9e013.js +0 -1
  275. package/.next/static/chunks/3260.00ac1405e82b8dd9.js +0 -1
  276. package/.next/static/chunks/3706.64742528652de3dd.js +0 -1
  277. package/.next/static/chunks/3ede58a6.ff6c02b372da8155.js +0 -1
  278. package/.next/static/chunks/4042.98f113bfbf744466.js +0 -1
  279. package/.next/static/chunks/4079.75a5db02e1a11105.js +0 -1
  280. package/.next/static/chunks/438.dea6dada9bd4b683.js +0 -1
  281. package/.next/static/chunks/4384-8a28a71e7e3b8d8a.js +0 -1
  282. package/.next/static/chunks/4637.6819aa53bf80d6ff.js +0 -1
  283. package/.next/static/chunks/4816.03f53c476d2a5924.js +0 -1
  284. package/.next/static/chunks/5048.73fa7a6d734ba5ef.js +0 -1
  285. package/.next/static/chunks/5202.6f686702cbb58a65.js +0 -1
  286. package/.next/static/chunks/5464.4c916df2382b5ba9.js +0 -1
  287. package/.next/static/chunks/5493-b00dc3d50ab46716.js +0 -1
  288. package/.next/static/chunks/5644.b4ffa0632405fc9f.js +0 -1
  289. package/.next/static/chunks/5a7b57ef.d0702578743545b0.js +0 -1
  290. package/.next/static/chunks/60.40ff539d26f28401.js +0 -1
  291. package/.next/static/chunks/6101.a35579324b3356df.js +0 -1
  292. package/.next/static/chunks/6194.045435de6d19fc72.js +0 -1
  293. package/.next/static/chunks/6772-fba69ba8e4fa1ef4.js +0 -1
  294. package/.next/static/chunks/6778.7885dc0a314c5a9c.js +0 -1
  295. package/.next/static/chunks/6790-f4527d80153a3e25.js +0 -1
  296. package/.next/static/chunks/7005-09e42f99859b8d03.js +0 -1
  297. package/.next/static/chunks/7109-c8d3fde4c3b6798e.js +0 -1
  298. package/.next/static/chunks/7195.2768b2bb31a65f2f.js +0 -1
  299. package/.next/static/chunks/7458.1de01a44cd67f6f0.js +0 -1
  300. package/.next/static/chunks/7f5d3f51-659399fe6f04b9eb.js +0 -1
  301. package/.next/static/chunks/8264-a1b0376ff4b3d4da.js +0 -1
  302. package/.next/static/chunks/828-ef0e36f29db31dde.js +0 -1
  303. package/.next/static/chunks/8341-b8d844d6f606aed5.js +0 -1
  304. package/.next/static/chunks/8720.e06d4cca843573db.js +0 -1
  305. package/.next/static/chunks/8785.1331b2a6d4be82c3.js +0 -1
  306. package/.next/static/chunks/8829-386c887227aab68c.js +0 -1
  307. package/.next/static/chunks/9054.ae9ffec47aacae76.js +0 -1
  308. package/.next/static/chunks/9097.1efc23284d82765c.js +0 -1
  309. package/.next/static/chunks/9231.af30fa4fedab9f01.js +0 -1
  310. package/.next/static/chunks/9497.49670ee9a8bd76f7.js +0 -1
  311. package/.next/static/chunks/9600.f70c0583d23764a8.js +0 -1
  312. package/.next/static/chunks/9822.0ad553e5c697208c.js +0 -1
  313. package/.next/static/chunks/9930.28415573db2b7806.js +0 -7
  314. package/.next/static/chunks/b9e0c7b4-52b02c0d4f161186.js +0 -1
  315. package/.next/static/chunks/d57e5a30-463f9ed8df724792.js +0 -1
  316. package/.next/static/chunks/eb6e03f4.2276f931f02e235c.js +0 -1
  317. package/.next/static/chunks/f4df0e03.56d1c15b5532ab26.js +0 -1
  318. package/.next/static/chunks/framework-6cc1bceeaaf75e91.js +0 -1
  319. package/.next/static/chunks/main-da37322a396d572a.js +0 -1
  320. package/.next/static/chunks/pages/_app-d40841fd52b70886.js +0 -1
  321. package/.next/static/chunks/pages/_error-c36fa6f7fd569cf6.js +0 -1
  322. package/.next/static/chunks/pages/domains/[domain]/events/[name]/logs-350f383eed1cf3f8.js +0 -1
  323. package/.next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-175a58a05deb2eda.js +0 -1
  324. package/.next/static/chunks/pages/domains/[domain]/events/[name]-7c7c2526e7d63883.js +0 -1
  325. package/.next/static/chunks/pages/domains/[domain]/services/[name]-f447208842a47b40.js +0 -1
  326. package/.next/static/chunks/pages/domains/[domain]-ea20e2daae1794fc.js +0 -1
  327. package/.next/static/chunks/pages/domains-71179cbdb719a0f8.js +0 -1
  328. package/.next/static/chunks/pages/events/[name]/logs-695c5b2cfd996539.js +0 -1
  329. package/.next/static/chunks/pages/events/[name]/v/[version]-af687afaafd7fd45.js +0 -1
  330. package/.next/static/chunks/pages/events/[name]-24bc568718357116.js +0 -1
  331. package/.next/static/chunks/pages/events-05ca59359ab07aa2.js +0 -1
  332. package/.next/static/chunks/pages/index-68062a10328e7d10.js +0 -1
  333. package/.next/static/chunks/pages/overview-68b31b232c5ef1ff.js +0 -1
  334. package/.next/static/chunks/pages/services/[name]-b59b95836832898e.js +0 -1
  335. package/.next/static/chunks/pages/services-2c63507ae596def3.js +0 -1
  336. package/.next/static/chunks/pages/users/[id]-7306f8a1d8a7012a.js +0 -1
  337. package/.next/static/chunks/pages/users-412f257b1de51363.js +0 -1
  338. package/.next/static/chunks/pages/visualiser-8474d03175cf9d12.js +0 -1
  339. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  340. package/.next/static/chunks/webpack-7e93d0cba2ccf996.js +0 -1
  341. package/.next/static/css/7e14b4dede1671ad.css +0 -1
  342. package/.next/static/css/94b9a747218712b2.css +0 -3
  343. package/.next/static/css/ae8abf3666c55019.css +0 -5
  344. package/.next/static/css/cc3c8fcadcf7a58b.css +0 -1
  345. package/.next/static/css/deb57cf90a65a90f.css +0 -1
  346. package/.next/static/css/ed97de5465a152bb.css +0 -1
  347. package/.next/static/rP51t_ISuRqZMVs4QvwfY/_buildManifest.js +0 -1
  348. package/.next/static/rP51t_ISuRqZMVs4QvwfY/_ssgManifest.js +0 -1
  349. package/.next/trace +0 -141
  350. package/bin/eventcatalog.js +0 -141
  351. package/components/BreadCrumbs.tsx +0 -50
  352. package/components/ContentView.tsx +0 -123
  353. package/components/Footer.tsx +0 -31
  354. package/components/Grids/DomainGrid.tsx +0 -61
  355. package/components/Grids/EventGrid.tsx +0 -102
  356. package/components/Grids/ServiceGrid.tsx +0 -84
  357. package/components/Grids/UserGrid.tsx +0 -55
  358. package/components/Header.tsx +0 -74
  359. package/components/Mdx/AsyncApiSpec.tsx +0 -25
  360. package/components/Mdx/Examples.tsx +0 -70
  361. package/components/Mdx/NodeGraph/GraphElements.tsx +0 -294
  362. package/components/Mdx/NodeGraph/GraphLayout.ts +0 -110
  363. package/components/Mdx/NodeGraph/Node.tsx +0 -15
  364. package/components/Mdx/NodeGraph/NodeGraph.tsx +0 -168
  365. package/components/Mdx/NodeGraph/__tests__/GraphElements.spec.ts +0 -102
  366. package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +0 -115
  367. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +0 -559
  368. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +0 -81
  369. package/components/Mdx/OpenApiSpec.tsx +0 -21
  370. package/components/Mdx/SchemaViewer/SchemaViewer.module.css +0 -5
  371. package/components/Mdx/SchemaViewer/SchemaViewer.tsx +0 -34
  372. package/components/Mermaid/index.tsx +0 -58
  373. package/components/NotFound/index.tsx +0 -40
  374. package/components/Sidebars/DomainSidebar.tsx +0 -55
  375. package/components/Sidebars/EventSidebar.tsx +0 -172
  376. package/components/Sidebars/ServiceSidebar.tsx +0 -128
  377. package/components/Sidebars/components/ExternalLinks.tsx +0 -28
  378. package/components/Sidebars/components/ItemList.tsx +0 -32
  379. package/components/Sidebars/components/Owners.tsx +0 -38
  380. package/components/Sidebars/components/Tags.tsx +0 -45
  381. package/components/SyntaxHighlighter.tsx +0 -42
  382. package/eventcatalog.config.js +0 -58
  383. package/eventcatalog.styles.css +0 -15
  384. package/hooks/EventCatalog.tsx +0 -54
  385. package/lib/__tests__/assets/domains/User/events/UserCreated/index.md +0 -20
  386. package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.cs +0 -31
  387. package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.js +0 -1
  388. package/lib/__tests__/assets/domains/User/events/UserRemoved/index.md +0 -16
  389. package/lib/__tests__/assets/domains/User/events/UserRemoved/schema.json +0 -4
  390. package/lib/__tests__/assets/domains/User/index.md +0 -16
  391. package/lib/__tests__/assets/domains/User/services/User Service/index.md +0 -19
  392. package/lib/__tests__/assets/events/AddedItemToCart/index.md +0 -25
  393. package/lib/__tests__/assets/events/EmailSent/index.md +0 -15
  394. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/examples/Basic.cs +0 -31
  395. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/examples/Basic.js +0 -1
  396. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/index.md +0 -8
  397. package/lib/__tests__/assets/events/EventWithSchemaAndExamples/schema.json +0 -4
  398. package/lib/__tests__/assets/events/EventWithVersions/index.md +0 -10
  399. package/lib/__tests__/assets/events/EventWithVersions/versioned/0.0.1/index.md +0 -10
  400. package/lib/__tests__/assets/services/Basket Service/index.md +0 -26
  401. package/lib/__tests__/assets/services/Email Platform/index.md +0 -17
  402. package/lib/__tests__/assets/services/Payment Service/index.md +0 -7
  403. package/lib/__tests__/domains.spec.ts +0 -416
  404. package/lib/__tests__/events.spec.ts +0 -514
  405. package/lib/__tests__/file-reader.spec.ts +0 -69
  406. package/lib/__tests__/graphs.spec.ts +0 -88
  407. package/lib/__tests__/services.spec.ts +0 -268
  408. package/lib/analytics.ts +0 -30
  409. package/lib/domains.ts +0 -160
  410. package/lib/events.ts +0 -313
  411. package/lib/file-reader.ts +0 -76
  412. package/lib/graphs.ts +0 -92
  413. package/lib/services.ts +0 -126
  414. package/next-env.d.ts +0 -5
  415. package/next.config.js +0 -11
  416. package/out/404/index.html +0 -12
  417. package/out/404.html +0 -12
  418. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/events/OrderComplete/logs.json +0 -1
  419. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/events/OrderComplete.json +0 -1
  420. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/events/OrderConfirmed/logs.json +0 -1
  421. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/events/OrderConfirmed.json +0 -1
  422. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/events/OrderCreated/logs.json +0 -1
  423. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/events/OrderCreated.json +0 -1
  424. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/events/OrderRequested/logs.json +0 -1
  425. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/events/OrderRequested.json +0 -1
  426. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders/services/Orders Service.json +0 -1
  427. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Orders.json +0 -1
  428. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Shopping/events/AddedItemToCart/logs.json +0 -1
  429. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
  430. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
  431. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Shopping/events/AddedItemToCart.json +0 -1
  432. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
  433. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Shopping/events/RemovedItemFromCart.json +0 -1
  434. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains/Shopping.json +0 -1
  435. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/domains.json +0 -1
  436. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events/PaymentProcessed/logs.json +0 -1
  437. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events/PaymentProcessed.json +0 -1
  438. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events/ShipmentDelivered/logs.json +0 -1
  439. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events/ShipmentDelivered.json +0 -1
  440. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events/ShipmentDispatched/logs.json +0 -1
  441. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events/ShipmentDispatched.json +0 -1
  442. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events/ShipmentPrepared/logs.json +0 -1
  443. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events/ShipmentPrepared.json +0 -1
  444. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/events.json +0 -1
  445. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/overview.json +0 -1
  446. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/services/Orders Service.json +0 -1
  447. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/services/Payment Service.json +0 -1
  448. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/services/Shipping Service.json +0 -1
  449. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/services.json +0 -1
  450. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/users/dboyne.json +0 -1
  451. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/users/mSmith.json +0 -1
  452. package/out/_next/data/rP51t_ISuRqZMVs4QvwfY/visualiser.json +0 -1
  453. package/out/_next/static/chunks/020d8314.2bae2f29ef0060e4.js +0 -1
  454. package/out/_next/static/chunks/1178-011609b6f3b123b3.js +0 -1
  455. package/out/_next/static/chunks/1476.eb11ab1feb4c5940.js +0 -1
  456. package/out/_next/static/chunks/1484.274df63eb11d9d68.js +0 -1
  457. package/out/_next/static/chunks/172-940ad0353b57ff98.js +0 -1
  458. package/out/_next/static/chunks/1750.a25eb3336a8c3a36.js +0 -1
  459. package/out/_next/static/chunks/2017.1b67898bd26fe157.js +0 -1
  460. package/out/_next/static/chunks/2027.80b01f1a7005a770.js +0 -1
  461. package/out/_next/static/chunks/2076.21cb0bf760a8055d.js +0 -1
  462. package/out/_next/static/chunks/2583.56889bb376087220.js +0 -1
  463. package/out/_next/static/chunks/2620-21775e17d8a6a407.js +0 -1
  464. package/out/_next/static/chunks/2765.dda8bae3343b6d41.js +0 -1
  465. package/out/_next/static/chunks/2edb282b-45c56c19221816df.js +0 -1
  466. package/out/_next/static/chunks/3082.62ff47793d562412.js +0 -1
  467. package/out/_next/static/chunks/3116-e9a578a270d9e013.js +0 -1
  468. package/out/_next/static/chunks/3260.00ac1405e82b8dd9.js +0 -1
  469. package/out/_next/static/chunks/3706.64742528652de3dd.js +0 -1
  470. package/out/_next/static/chunks/3ede58a6.ff6c02b372da8155.js +0 -1
  471. package/out/_next/static/chunks/4042.98f113bfbf744466.js +0 -1
  472. package/out/_next/static/chunks/4079.75a5db02e1a11105.js +0 -1
  473. package/out/_next/static/chunks/438.dea6dada9bd4b683.js +0 -1
  474. package/out/_next/static/chunks/4384-8a28a71e7e3b8d8a.js +0 -1
  475. package/out/_next/static/chunks/4637.6819aa53bf80d6ff.js +0 -1
  476. package/out/_next/static/chunks/4816.03f53c476d2a5924.js +0 -1
  477. package/out/_next/static/chunks/5048.73fa7a6d734ba5ef.js +0 -1
  478. package/out/_next/static/chunks/5202.6f686702cbb58a65.js +0 -1
  479. package/out/_next/static/chunks/5464.4c916df2382b5ba9.js +0 -1
  480. package/out/_next/static/chunks/5493-b00dc3d50ab46716.js +0 -1
  481. package/out/_next/static/chunks/5644.b4ffa0632405fc9f.js +0 -1
  482. package/out/_next/static/chunks/5a7b57ef.d0702578743545b0.js +0 -1
  483. package/out/_next/static/chunks/60.40ff539d26f28401.js +0 -1
  484. package/out/_next/static/chunks/6101.a35579324b3356df.js +0 -1
  485. package/out/_next/static/chunks/6194.045435de6d19fc72.js +0 -1
  486. package/out/_next/static/chunks/6772-fba69ba8e4fa1ef4.js +0 -1
  487. package/out/_next/static/chunks/6778.7885dc0a314c5a9c.js +0 -1
  488. package/out/_next/static/chunks/6790-f4527d80153a3e25.js +0 -1
  489. package/out/_next/static/chunks/7005-09e42f99859b8d03.js +0 -1
  490. package/out/_next/static/chunks/7109-c8d3fde4c3b6798e.js +0 -1
  491. package/out/_next/static/chunks/7195.2768b2bb31a65f2f.js +0 -1
  492. package/out/_next/static/chunks/7458.1de01a44cd67f6f0.js +0 -1
  493. package/out/_next/static/chunks/7f5d3f51-659399fe6f04b9eb.js +0 -1
  494. package/out/_next/static/chunks/8264-a1b0376ff4b3d4da.js +0 -1
  495. package/out/_next/static/chunks/828-ef0e36f29db31dde.js +0 -1
  496. package/out/_next/static/chunks/8341-b8d844d6f606aed5.js +0 -1
  497. package/out/_next/static/chunks/8720.e06d4cca843573db.js +0 -1
  498. package/out/_next/static/chunks/8785.1331b2a6d4be82c3.js +0 -1
  499. package/out/_next/static/chunks/8829-386c887227aab68c.js +0 -1
  500. package/out/_next/static/chunks/9054.ae9ffec47aacae76.js +0 -1
  501. package/out/_next/static/chunks/9097.1efc23284d82765c.js +0 -1
  502. package/out/_next/static/chunks/9231.af30fa4fedab9f01.js +0 -1
  503. package/out/_next/static/chunks/9497.49670ee9a8bd76f7.js +0 -1
  504. package/out/_next/static/chunks/9600.f70c0583d23764a8.js +0 -1
  505. package/out/_next/static/chunks/9822.0ad553e5c697208c.js +0 -1
  506. package/out/_next/static/chunks/9930.28415573db2b7806.js +0 -7
  507. package/out/_next/static/chunks/b9e0c7b4-52b02c0d4f161186.js +0 -1
  508. package/out/_next/static/chunks/d57e5a30-463f9ed8df724792.js +0 -1
  509. package/out/_next/static/chunks/eb6e03f4.2276f931f02e235c.js +0 -1
  510. package/out/_next/static/chunks/f4df0e03.56d1c15b5532ab26.js +0 -1
  511. package/out/_next/static/chunks/framework-6cc1bceeaaf75e91.js +0 -1
  512. package/out/_next/static/chunks/main-da37322a396d572a.js +0 -1
  513. package/out/_next/static/chunks/pages/_app-d40841fd52b70886.js +0 -1
  514. package/out/_next/static/chunks/pages/_error-c36fa6f7fd569cf6.js +0 -1
  515. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/logs-350f383eed1cf3f8.js +0 -1
  516. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-175a58a05deb2eda.js +0 -1
  517. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]-7c7c2526e7d63883.js +0 -1
  518. package/out/_next/static/chunks/pages/domains/[domain]/services/[name]-f447208842a47b40.js +0 -1
  519. package/out/_next/static/chunks/pages/domains/[domain]-ea20e2daae1794fc.js +0 -1
  520. package/out/_next/static/chunks/pages/domains-71179cbdb719a0f8.js +0 -1
  521. package/out/_next/static/chunks/pages/events/[name]/logs-695c5b2cfd996539.js +0 -1
  522. package/out/_next/static/chunks/pages/events/[name]/v/[version]-af687afaafd7fd45.js +0 -1
  523. package/out/_next/static/chunks/pages/events/[name]-24bc568718357116.js +0 -1
  524. package/out/_next/static/chunks/pages/events-05ca59359ab07aa2.js +0 -1
  525. package/out/_next/static/chunks/pages/index-68062a10328e7d10.js +0 -1
  526. package/out/_next/static/chunks/pages/overview-68b31b232c5ef1ff.js +0 -1
  527. package/out/_next/static/chunks/pages/services/[name]-b59b95836832898e.js +0 -1
  528. package/out/_next/static/chunks/pages/services-2c63507ae596def3.js +0 -1
  529. package/out/_next/static/chunks/pages/users/[id]-7306f8a1d8a7012a.js +0 -1
  530. package/out/_next/static/chunks/pages/users-412f257b1de51363.js +0 -1
  531. package/out/_next/static/chunks/pages/visualiser-8474d03175cf9d12.js +0 -1
  532. package/out/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  533. package/out/_next/static/chunks/webpack-7e93d0cba2ccf996.js +0 -1
  534. package/out/_next/static/css/7e14b4dede1671ad.css +0 -1
  535. package/out/_next/static/css/94b9a747218712b2.css +0 -3
  536. package/out/_next/static/css/ae8abf3666c55019.css +0 -5
  537. package/out/_next/static/css/cc3c8fcadcf7a58b.css +0 -1
  538. package/out/_next/static/css/deb57cf90a65a90f.css +0 -1
  539. package/out/_next/static/css/ed97de5465a152bb.css +0 -1
  540. package/out/_next/static/rP51t_ISuRqZMVs4QvwfY/_buildManifest.js +0 -1
  541. package/out/_next/static/rP51t_ISuRqZMVs4QvwfY/_ssgManifest.js +0 -1
  542. package/out/domains/Orders/events/OrderComplete/index.html +0 -40
  543. package/out/domains/Orders/events/OrderComplete/logs/index.html +0 -1
  544. package/out/domains/Orders/events/OrderConfirmed/index.html +0 -40
  545. package/out/domains/Orders/events/OrderConfirmed/logs/index.html +0 -1
  546. package/out/domains/Orders/events/OrderCreated/index.html +0 -2
  547. package/out/domains/Orders/events/OrderCreated/logs/index.html +0 -1
  548. package/out/domains/Orders/events/OrderRequested/index.html +0 -40
  549. package/out/domains/Orders/events/OrderRequested/logs/index.html +0 -1
  550. package/out/domains/Orders/index.html +0 -2
  551. package/out/domains/Orders/services/Orders Service/index.html +0 -2
  552. package/out/domains/Shopping/events/AddedItemToCart/index.html +0 -65
  553. package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +0 -1
  554. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +0 -59
  555. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +0 -66
  556. package/out/domains/Shopping/events/RemovedItemFromCart/index.html +0 -48
  557. package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +0 -1
  558. package/out/domains/Shopping/index.html +0 -2
  559. package/out/domains/index.html +0 -3
  560. package/out/events/PaymentProcessed/index.html +0 -44
  561. package/out/events/PaymentProcessed/logs/index.html +0 -1
  562. package/out/events/ShipmentDelivered/index.html +0 -44
  563. package/out/events/ShipmentDelivered/logs/index.html +0 -1
  564. package/out/events/ShipmentDispatched/index.html +0 -44
  565. package/out/events/ShipmentDispatched/logs/index.html +0 -1
  566. package/out/events/ShipmentPrepared/index.html +0 -2
  567. package/out/events/ShipmentPrepared/logs/index.html +0 -1
  568. package/out/events/index.html +0 -11
  569. package/out/favicon.ico +0 -0
  570. package/out/index.html +0 -1
  571. package/out/logo-random.svg +0 -114
  572. package/out/logo.svg +0 -44
  573. package/out/opengraph.png +0 -0
  574. package/out/overview/index.html +0 -1
  575. package/out/services/Orders Service/index.html +0 -1
  576. package/out/services/Payment Service/index.html +0 -2
  577. package/out/services/Shipping Service/index.html +0 -2
  578. package/out/services/index.html +0 -4
  579. package/out/users/dboyne/index.html +0 -16
  580. package/out/users/index.html +0 -1
  581. package/out/users/mSmith/index.html +0 -13
  582. package/out/visualiser/index.html +0 -16
  583. package/pages/_app.tsx +0 -111
  584. package/pages/_document.tsx +0 -18
  585. package/pages/domains/[domain]/events/[name]/logs.tsx +0 -35
  586. package/pages/domains/[domain]/events/[name]/v/[version].tsx +0 -39
  587. package/pages/domains/[domain]/events/[name].tsx +0 -46
  588. package/pages/domains/[domain]/index.tsx +0 -137
  589. package/pages/domains/[domain]/services/[name].tsx +0 -42
  590. package/pages/domains.tsx +0 -210
  591. package/pages/events/[name]/logs.tsx +0 -177
  592. package/pages/events/[name]/v/[version].tsx +0 -38
  593. package/pages/events/[name].tsx +0 -223
  594. package/pages/events.tsx +0 -357
  595. package/pages/index.tsx +0 -56
  596. package/pages/overview.tsx +0 -89
  597. package/pages/services/[name].tsx +0 -164
  598. package/pages/services.tsx +0 -311
  599. package/pages/users/[id].tsx +0 -101
  600. package/pages/users.tsx +0 -43
  601. package/pages/visualiser.tsx +0 -322
  602. package/postcss.config.js +0 -6
  603. package/public/logo-random.svg +0 -114
  604. package/public/logo.svg +0 -44
  605. package/scripts/__tests__/assets/eventcatalog.config.js +0 -32
  606. package/scripts/__tests__/generate.spec.ts +0 -36
  607. package/scripts/generate.js +0 -28
  608. package/scripts/move-schemas-for-download.js +0 -80
  609. package/styles/Home.module.css +0 -116
  610. package/styles/globals.css +0 -85
  611. package/tailwind.config.js +0 -36
  612. package/types/index.ts +0 -7
  613. package/utils/random-bg.ts +0 -13
  614. /package/{lib/__tests__/assets/services/Payment Service/openapi.yaml → public/openapi.yml} +0 -0
@@ -1,58 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- import mermaid from 'mermaid';
3
- import { Service, Event } from '@eventcatalog/types';
4
- import { buildMermaidFlowChartForEvent, buildMermaidFlowChartForService } from '@/lib/graphs';
5
-
6
- mermaid.initialize({
7
- startOnLoad: true,
8
- theme: 'forest',
9
- securityLevel: 'loose',
10
- flowchart: {
11
- useMaxWidth: false,
12
- },
13
- themeCSS: `
14
- .node {
15
- filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .2))
16
- }
17
- .mermaid svg {
18
- width: 10000px
19
- }
20
- .node rect {
21
- fill: white
22
- }
23
- `,
24
- fontFamily: 'Fira Code',
25
- });
26
-
27
- interface MermaidProps {
28
- data: Event | Service;
29
- source: 'event' | 'service';
30
- rootNodeColor?: string;
31
- charts?: string[];
32
- }
33
-
34
- function Mermaid({ data, source = 'event', rootNodeColor, charts }: MermaidProps) {
35
- useEffect(() => {
36
- mermaid.contentLoaded();
37
- }, []);
38
-
39
- if (charts) {
40
- return (
41
- <>
42
- {charts.map((content, index) => (
43
- <div key={`chart-${index}`} className="mermaid">
44
- {content}
45
- </div>
46
- ))}
47
- </>
48
- );
49
- }
50
- const mermaidChart =
51
- source === 'event'
52
- ? buildMermaidFlowChartForEvent(data as Event, rootNodeColor)
53
- : buildMermaidFlowChartForService(data as Service, rootNodeColor);
54
-
55
- return <div className="mermaid">{mermaidChart}</div>;
56
- }
57
-
58
- export default Mermaid;
@@ -1,40 +0,0 @@
1
- import { DocumentAddIcon } from '@heroicons/react/solid';
2
-
3
- interface NotFoundProps {
4
- type: 'service' | 'event' | 'domain';
5
- name: string;
6
- editUrl?: string;
7
- }
8
-
9
- export default function Example(props: NotFoundProps) {
10
- const { type, name, editUrl } = props;
11
-
12
- return (
13
- <main className="min-h-full bg-cover bg-top sm:bg-top h-screen">
14
- <div className="max-w-7xl mx-auto px-4 py-16 text-center sm:px-6 sm:py-24 lg:px-8 lg:py-48">
15
- <p className="text-sm font-semibold text-gray-700 text-opacity-50 uppercase tracking-wide blur-xl">
16
- Failed to find {type}
17
- </p>
18
- <h1 className="mt-2 text-4xl font-extrabold text-gray-900 tracking-tight sm:text-5xl">Missing Documentation</h1>
19
- <p className="mt-2 text-lg font-medium text-gray-700 text-opacity-50 text-center ">
20
- Documentation for {type} is missing!
21
- <span className="block font-bold text-gray-800 underline break-all max-w-2xl mx-auto py-4">{name}</span>
22
- </p>
23
- <p className="mt-4 text-xs text-gray-400">Help the eco-system and add the documentation for others ❤️ </p>
24
- {editUrl && (
25
- <div className="mt-12">
26
- <a
27
- href={editUrl}
28
- target="_blank"
29
- className="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-black bg-opacity-75 "
30
- rel="noreferrer"
31
- >
32
- <DocumentAddIcon className="-ml-1 mr-2 h-5 w-5" aria-hidden="true" />
33
- Add missing <span className="underline px-1">{type}</span> documentation
34
- </a>
35
- </div>
36
- )}
37
- </div>
38
- </main>
39
- );
40
- }
@@ -1,55 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
- import type { Domain } from '@eventcatalog/types';
4
- import { CubeIcon } from '@heroicons/react/outline';
5
- import ExternalLinks from './components/ExternalLinks';
6
- import Tags from './components/Tags';
7
- import Owners from './components/Owners';
8
- import ItemList from './components/ItemList';
9
-
10
- interface DomainSideBarProps {
11
- domain: Domain;
12
- }
13
-
14
- function ServiceSidebar({ domain }: DomainSideBarProps) {
15
- const { name, owners, services, events, tags = [], externalLinks } = domain;
16
-
17
- return (
18
- <aside className="hidden xl:block xl:pl-8 divide-y divide-gray-200">
19
- <h2 className="sr-only">Details</h2>
20
-
21
- {events.length > 0 && (
22
- <ItemList
23
- title={`Events (${events.length})`}
24
- titleIcon={{ icon: CubeIcon, className: 'text-indigo-400' }}
25
- items={events.map((event) => ({ label: event.name, href: `/domains/${name}/events/${event.name}`, bgColor: 'indigo' }))}
26
- />
27
- )}
28
-
29
- {services.length > 0 && (
30
- <ItemList
31
- title={`Services (${services.length})`}
32
- titleIcon={{ icon: CubeIcon, className: 'text-green-400' }}
33
- items={services.map((service) => ({
34
- label: service.name,
35
- href: `/domains/${name}/services/${service.name}`,
36
- bgColor: 'green',
37
- }))}
38
- />
39
- )}
40
-
41
- {owners.length > 0 && <Owners owners={owners} />}
42
-
43
- <Link href={`/visualiser?type=domain&name=${domain.name}`}>
44
- <a className="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-800 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-200">
45
- <span>View in Visualiser</span>
46
- </a>
47
- </Link>
48
-
49
- {externalLinks.length > 0 && <ExternalLinks externalLinks={externalLinks} />}
50
- {tags.length > 0 && <Tags tags={tags} />}
51
- </aside>
52
- );
53
- }
54
-
55
- export default ServiceSidebar;
@@ -1,172 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
- import getConfig from 'next/config';
4
- import { CubeIcon, DownloadIcon, CollectionIcon } from '@heroicons/react/outline';
5
- import type { Event } from '@eventcatalog/types';
6
-
7
- import ExternalLinks from './components/ExternalLinks';
8
- import Tags from './components/Tags';
9
- import Owners from './components/Owners';
10
- import ItemList from './components/ItemList';
11
-
12
- interface EventSideBarProps {
13
- event: Event;
14
- urlPath: string;
15
- loadedVersion?: string;
16
- isOldVersion?: boolean;
17
- }
18
-
19
- const getServiceLink = (serviceName: string, event: Event) => {
20
- const allEventServices = [...event.consumers, ...event.producers];
21
- const matchedService = allEventServices.find((service) => service.name === serviceName);
22
- if (matchedService && matchedService.domain) return `/domains/${matchedService.domain}/services/${serviceName}`;
23
- return `/services/${serviceName}`;
24
- };
25
-
26
- const getEventLogsURL = (event: Event) =>
27
- event.domain ? `/domains/${event.domain}/events/${event.name}/logs` : `/events/${event.name}/logs`;
28
-
29
- function EventSideBar({ event, loadedVersion, isOldVersion, urlPath }: EventSideBarProps) {
30
- const {
31
- name: eventName,
32
- owners,
33
- producerNames: producers,
34
- consumerNames: consumers,
35
- tags,
36
- historicVersions,
37
- externalLinks,
38
- schema,
39
- domain,
40
- } = event;
41
- const { publicRuntimeConfig: { basePath = '' } = {} } = getConfig();
42
-
43
- const getSchemaDownloadURL = () => {
44
- if (!schema) return null;
45
- return isOldVersion
46
- ? `${basePath}/schemas/${eventName}/${loadedVersion}/schema.${schema.extension}`
47
- : `${basePath}/schemas/${eventName}/schema.${schema.extension}`;
48
- };
49
-
50
- return (
51
- <aside className="hidden xl:block xl:pl-8 divide-y divide-gray-200">
52
- <h2 className="sr-only">Details</h2>
53
-
54
- {producers.length > 0 && (
55
- <ItemList
56
- title={`Producers (${producers.length})`}
57
- titleIcon={{ icon: CubeIcon, className: 'text-green-400' }}
58
- items={producers.map((producer) => ({ label: producer, href: getServiceLink(producer, event), bgColor: 'green' }))}
59
- />
60
- )}
61
-
62
- {consumers.length > 0 && (
63
- <ItemList
64
- title={`Consumers (${consumers.length})`}
65
- titleIcon={{ icon: CubeIcon, className: 'text-indigo-400' }}
66
- items={consumers.map((consumer) => ({ label: consumer, href: getServiceLink(consumer, event), bgColor: 'indigo' }))}
67
- />
68
- )}
69
-
70
- {domain && (
71
- <div className="py-6 space-y-8">
72
- <div>
73
- <h2 className="text-sm font-medium text-gray-500">
74
- <CollectionIcon className="h-5 w-5 text-yellow-400 inline-block mr-2" aria-hidden="true" />
75
- Domain
76
- </h2>
77
- <ul className="mt-2 leading-8">
78
- <li className="inline">
79
- <Link href={`/domains/${domain}`}>
80
- <a href="#" className="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5">
81
- <div className="absolute flex-shrink-0 flex items-center justify-center">
82
- <span className="h-1.5 w-1.5 rounded-full bg-yellow-500 animate animate-pulse" aria-hidden="true" />
83
- </div>
84
- <div className="ml-3.5 text-sm font-medium text-gray-900">{domain}</div>
85
- </a>
86
- </Link>
87
- </li>
88
- </ul>
89
- </div>
90
- </div>
91
- )}
92
- {historicVersions.length > 0 && (
93
- <div className=" py-6">
94
- <div>
95
- <h2 className="text-sm font-medium text-gray-500">Event Versions</h2>
96
- <ul className="mt-2 leading-8 text-left text-blue-500">
97
- <li className="text-sm inline ">
98
- <Link href={urlPath}>
99
- <a>
100
- <span
101
- className={`inline-flex mr-2 items-center px-2.5 py-0.5 rounded-full text-xs font-medium -top-0.5 relative ${
102
- loadedVersion === 'latest'
103
- ? 'bg-blue-400 text-white shadow-md font-bold underline'
104
- : 'bg-blue-100 text-blue-800'
105
- }`}
106
- >
107
- Latest
108
- </span>
109
- </a>
110
- </Link>
111
- </li>
112
-
113
- {historicVersions.map((version) => {
114
- const isLoadedVersion = loadedVersion === version;
115
- const styles = isLoadedVersion
116
- ? 'bg-blue-400 text-white shadow-md font-bold underline'
117
- : 'bg-blue-100 text-blue-800';
118
- return (
119
- <li className="text-sm inline" key={version}>
120
- <Link href={`${urlPath}/v/${version}`}>
121
- <a>
122
- <span
123
- className={`inline-flex mr-2 items-center px-2.5 py-0.5 rounded-full text-xs font-medium -top-0.5 relative ${styles}`}
124
- >
125
- v{version}
126
- </span>
127
- </a>
128
- </Link>
129
- </li>
130
- );
131
- })}
132
- </ul>
133
- </div>
134
- </div>
135
- )}
136
-
137
- {owners.length > 0 && <Owners owners={owners} />}
138
-
139
- <div className=" py-6 space-y-1">
140
- {schema && (
141
- <a
142
- href={getSchemaDownloadURL()}
143
- download={`${eventName}(${event.version}).${schema.extension}`}
144
- className="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-200 bg-gray-800 hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-900"
145
- >
146
- <DownloadIcon className="-ml-1 mr-2 h-5 w-5 text-gray-200" aria-hidden="true" />
147
- <span>Download Schema</span>
148
- </a>
149
- )}
150
-
151
- {historicVersions.length > 0 && (
152
- <Link href={getEventLogsURL(event)}>
153
- <a className="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-800 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-200">
154
- <span>View Changes</span>
155
- </a>
156
- </Link>
157
- )}
158
-
159
- <Link href={`/visualiser?type=event&name=${eventName}`}>
160
- <a className="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-800 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-200">
161
- <span>View in Visualiser</span>
162
- </a>
163
- </Link>
164
-
165
- {externalLinks.length > 0 && <ExternalLinks externalLinks={externalLinks} />}
166
- {tags.length > 0 && <Tags tags={tags} />}
167
- </div>
168
- </aside>
169
- );
170
- }
171
-
172
- export default EventSideBar;
@@ -1,128 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
- import type { Event, Service } from '@eventcatalog/types';
4
-
5
- import { CubeIcon, CollectionIcon } from '@heroicons/react/outline';
6
- import getBackgroundColor from '@/utils/random-bg';
7
-
8
- import ExternalLinks from './components/ExternalLinks';
9
- import Tags from './components/Tags';
10
- import Owners from './components/Owners';
11
- import ItemList from './components/ItemList';
12
-
13
- const getURLForEvent = (event: Event): string =>
14
- event.domain ? `/domains/${event.domain}/events/${event.name}` : `/events/${event.name}`;
15
-
16
- interface ServiceSideBarProps {
17
- service: Service;
18
- }
19
-
20
- function ServiceSidebar({ service }: ServiceSideBarProps) {
21
- const { owners, subscribes, publishes, repository, tags = [], externalLinks, domain } = service;
22
- const { language, url: repositoryUrl } = repository;
23
-
24
- let languages = [];
25
-
26
- if (language) {
27
- languages = Array.isArray(language) ? language : [language];
28
- }
29
-
30
- let trimmedUrl = '';
31
-
32
- if (repositoryUrl) {
33
- trimmedUrl = repositoryUrl.replace(/(^\w+:|^)\/\//, '');
34
- }
35
-
36
- return (
37
- <aside className="hidden xl:block xl:pl-8 ">
38
- <h2 className="sr-only">Details</h2>
39
-
40
- {publishes.length > 0 && (
41
- <ItemList
42
- title={`Publishes Events (${publishes.length})`}
43
- titleIcon={{ icon: CubeIcon, className: 'text-indigo-400' }}
44
- items={publishes.map((event) => ({ label: event.name, href: getURLForEvent(event), bgColor: 'indigo' }))}
45
- />
46
- )}
47
-
48
- {subscribes.length > 0 && (
49
- <ItemList
50
- title={`Subscribes to Events (${subscribes.length})`}
51
- titleIcon={{ icon: CubeIcon, className: 'text-green-400' }}
52
- items={subscribes.map((event) => ({ label: event.name, href: getURLForEvent(event), bgColor: 'green' }))}
53
- />
54
- )}
55
-
56
- {domain && (
57
- <div className="border-t border-gray-200 py-6 space-y-8">
58
- <div>
59
- <h2 className="text-sm font-medium text-gray-500">
60
- <CollectionIcon className="h-5 w-5 text-yellow-400 inline-block mr-2" aria-hidden="true" />
61
- Domain
62
- </h2>
63
- <ul className="mt-2 leading-8">
64
- <li className="inline" key={domain}>
65
- <Link href={`/domains/${domain}`}>
66
- <a href="#" className="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5">
67
- <div className="absolute flex-shrink-0 flex items-center justify-center">
68
- <span className="h-1.5 w-1.5 rounded-full bg-yellow-500 animate animate-pulse" aria-hidden="true" />
69
- </div>
70
- <div className="ml-3.5 text-sm font-medium text-gray-900">{domain}</div>
71
- </a>
72
- </Link>
73
- </li>
74
- </ul>
75
- </div>
76
- </div>
77
- )}
78
-
79
- {owners.length > 0 && <Owners owners={owners} />}
80
-
81
- {repository?.url && (
82
- <div className="border-t border-gray-200 py-6 space-y-8">
83
- <div className="space-y-3">
84
- <h2 className="text-sm font-medium text-gray-500">Repository</h2>
85
- <ul className=" leading-8 space-y-2">
86
- <li className="flex justify-start">
87
- <a
88
- href={repository?.url}
89
- target="_blank"
90
- className="flex items-center space-x-3 text-blue-600 underline text-sm"
91
- rel="noreferrer"
92
- >
93
- {trimmedUrl}
94
- </a>
95
- </li>
96
- </ul>
97
- </div>
98
- </div>
99
- )}
100
- {languages.length > 0 && (
101
- <div className="border-t border-gray-200 py-6 space-y-8">
102
- <div className="space-y-3">
103
- <h2 className="text-sm font-medium text-gray-500">Language</h2>
104
- {languages.map((value) => (
105
- <div className="relative flex items-center mt-2" key={value}>
106
- <div className="absolute flex-shrink-0 flex items-center justify-center">
107
- <span className="h-2 w-2 rounded-full" aria-hidden="true" style={{ background: getBackgroundColor(value) }} />
108
- </div>
109
- <div className="ml-3.5 text-sm font-medium text-gray-900">{value}</div>
110
- </div>
111
- ))}
112
- </div>
113
- </div>
114
- )}
115
-
116
- <Link href={`/visualiser?type=service&name=${service.name}`}>
117
- <a className="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-800 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-200">
118
- <span>View in Visualiser</span>
119
- </a>
120
- </Link>
121
-
122
- {externalLinks.length > 0 && <ExternalLinks externalLinks={externalLinks} />}
123
- {tags.length > 0 && <Tags tags={tags} />}
124
- </aside>
125
- );
126
- }
127
-
128
- export default ServiceSidebar;
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
-
3
- import { ExternalLinkIcon } from '@heroicons/react/outline';
4
-
5
- function ExternalLinks({ externalLinks }: { externalLinks: any[] }) {
6
- if (externalLinks.length === 0) return null;
7
- return (
8
- <div className=" py-2 space-y-8">
9
- <div className="space-y-3">
10
- {externalLinks.map((tag) => (
11
- <a
12
- href={tag.url}
13
- target="_blank"
14
- type="button"
15
- className="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-teal-300 shadow-sm text-sm font-medium rounded-md text-teal-800 hover:bg-teal-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-teal-200"
16
- rel="noreferrer"
17
- key={tag.url}
18
- >
19
- <ExternalLinkIcon className="-ml-1 mr-2 h-5 w-5 text-teal-200" aria-hidden="true" />
20
- <span>{`${tag.label}`}</span>
21
- </a>
22
- ))}
23
- </div>
24
- </div>
25
- );
26
- }
27
-
28
- export default ExternalLinks;
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
- import { CubeIcon } from '@heroicons/react/outline';
4
-
5
- function ItemList({ title, titleIcon: { icon: Icon = CubeIcon, className: iconClassName }, items }: any) {
6
- return (
7
- <div className="pt-6 py-6 space-y-8">
8
- <div>
9
- <h2 className="text-sm font-medium text-gray-500">
10
- <Icon className={`h-5 w-5 inline-block mr-2 ${iconClassName}`} aria-hidden="true" />
11
- {title}
12
- </h2>
13
- <ul className="mt-2 leading-8">
14
- {items.map((item) => (
15
- <li className="inline mr-2" key={item.label}>
16
- <Link href={item.href}>
17
- <a className="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5">
18
- <div className="absolute flex-shrink-0 flex items-center justify-center">
19
- <span className={`h-1.5 w-1.5 rounded-full bg-${item.bgColor}-500`} aria-hidden="true" />
20
- </div>
21
- <div className="ml-3.5 text-sm font-medium text-gray-900 truncate max-w-xs">{item.label}</div>
22
- </a>
23
- </Link>
24
- </li>
25
- ))}
26
- </ul>
27
- </div>
28
- </div>
29
- );
30
- }
31
-
32
- export default ItemList;
@@ -1,38 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
- import type { Owner } from '@eventcatalog/types';
4
- import { useUser } from '@/hooks/EventCatalog';
5
-
6
- function Owners({ owners }: { owners: Owner[] | string[] }) {
7
- const { getUserById } = useUser();
8
-
9
- return (
10
- <div className=" py-6 space-y-8">
11
- <div>
12
- <h2 className="text-sm font-medium text-gray-500">Domain Owners ({owners.length})</h2>
13
- <ul className="mt-4 leading-8 space-y-2">
14
- {owners.map((owner) => {
15
- const user = getUserById(owner);
16
-
17
- if (!user) return null;
18
-
19
- return (
20
- <li className="flex justify-start" key={user.id}>
21
- <Link href={`/users/${user.id}`}>
22
- <a className="flex items-center space-x-3">
23
- <div className="flex-shrink-0">
24
- <img className="h-5 w-5 rounded-full" src={user.avatarUrl} alt="" />
25
- </div>
26
- <div className="text-sm font-medium text-gray-900">{user.name}</div>
27
- </a>
28
- </Link>
29
- </li>
30
- );
31
- })}
32
- </ul>
33
- </div>
34
- </div>
35
- );
36
- }
37
-
38
- export default Owners;
@@ -1,45 +0,0 @@
1
- import React from 'react';
2
- import type { Tag } from '@eventcatalog/types';
3
- import { TagIcon } from '@heroicons/react/outline';
4
-
5
- const tailwindBgs = ['purple', 'pink', 'green', 'yellow', 'blue', 'indigo'];
6
-
7
- function Tags({ tags }: { tags: Tag[] }) {
8
- return (
9
- <div className=" py-6 space-y-8">
10
- <div>
11
- <h2 className="text-sm font-medium text-gray-500">
12
- <TagIcon className="h-5 w-5 text-gray-400 inline-block mr-2" aria-hidden="true" />
13
- Tags
14
- </h2>
15
- <div className="mt-3 space-y-2">
16
- {tags.map(({ label, url }, index) => {
17
- const color = tailwindBgs[index % tailwindBgs.length];
18
-
19
- if (url) {
20
- return (
21
- <a href={url} className="inline-block underline" target="_blank" rel="noreferrer">
22
- <span
23
- className={`underline inline-block mr-2 items-center px-2.5 py-0.5 rounded-full text-xs font-medium -top-0.5 relative bg-${color}-100 text-${color}-800`}
24
- >
25
- {label}
26
- </span>
27
- </a>
28
- );
29
- }
30
-
31
- return (
32
- <span
33
- className={`inline-block mr-2 items-center px-2.5 py-0.5 rounded-full text-xs font-medium -top-0.5 relative bg-${color}-100 text-${color}-800`}
34
- >
35
- {label}
36
- </span>
37
- );
38
- })}
39
- </div>
40
- </div>
41
- </div>
42
- );
43
- }
44
-
45
- export default Tags;
@@ -1,42 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import codeStyle from 'react-syntax-highlighter/dist/cjs/styles/prism/dracula';
4
- import { Prism as PrismSyntaxHighlighter } from 'react-syntax-highlighter';
5
- import copy from 'copy-text-to-clipboard';
6
- import { ClipboardCopyIcon } from '@heroicons/react/outline';
7
-
8
- function SyntaxHighlighter({ language, name = '', ...props }: any) {
9
- const [showCopied, setShowCopied] = useState(false);
10
-
11
- const handleCopyCode = () => {
12
- copy(props.children);
13
- setShowCopied(true);
14
- setTimeout(() => setShowCopied(false), 2000);
15
- };
16
-
17
- const regex = /\\n/g;
18
- return (
19
- <div className="h-96 relative">
20
- {name && (
21
- <div className={`flex -mb-3 pb-2 bg-gray-900 ${name ? 'justify-between' : 'justify-end'}`}>
22
- {name && <span className="block text-xs py-2 px-2 font-bold text-gray-300">{name}</span>}
23
- <button type="button" onClick={handleCopyCode} className="text-xs text-white rounded-md px-4">
24
- {showCopied ? 'Copied' : <ClipboardCopyIcon className="h-4 w-4" />}
25
- </button>
26
- </div>
27
- )}
28
-
29
- {!name && (
30
- <button type="button" onClick={handleCopyCode} className="text-xs absolute right-0 top-2 text-white rounded-md px-4">
31
- {showCopied ? 'Copied' : <ClipboardCopyIcon className="h-4 w-4" />}
32
- </button>
33
- )}
34
-
35
- <PrismSyntaxHighlighter style={codeStyle} language={language} {...props} wrapLines className="h-96 overflow-auto">
36
- {props.children.replace(regex, '\n')}
37
- </PrismSyntaxHighlighter>
38
- </div>
39
- );
40
- }
41
-
42
- export default SyntaxHighlighter;