@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,141 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const cli = require('commander');
4
- const path = require('path');
5
- const { execSync } = require('child_process');
6
- const fs = require('fs-extra');
7
-
8
- // this is the directory the users project is in
9
- const projectDIR = process.cwd();
10
- const coreDirectory = path.join(__dirname, '../');
11
-
12
- // this is the directory where the eventcatalog core code is
13
- const eventCatalogLibDir = path.join(projectDIR, '.eventcatalog-core');
14
-
15
- const copyCoreApplicationCodeIntoUsersProjectDir = () => {
16
- const excludeFilesForCopy = ['.next', 'eventcatalog.config.js', 'eventcatalog.styles.css', 'bin', 'README.md'];
17
- const exclusions = excludeFilesForCopy.map((file) => path.join(eventCatalogLibDir, file));
18
-
19
- fs.ensureDirSync(eventCatalogLibDir);
20
- fs.copySync(coreDirectory, eventCatalogLibDir);
21
-
22
- // remove any files we don't care about
23
- exclusions.map((path) => {
24
- try {
25
- fs.lstatSync(path).isDirectory() ? fs.rmSync(path, { recursive: true, force: true }) : fs.unlinkSync(path);
26
- } catch (error) {}
27
- });
28
-
29
- fs.copyFileSync(path.join(projectDIR, 'eventcatalog.config.js'), path.join(eventCatalogLibDir, 'eventcatalog.config.js'));
30
- };
31
-
32
- cli
33
- .command('start [siteDir]')
34
- .description('Start the development server.')
35
- .action(() => {
36
- execSync(`cross-env PROJECT_DIR='${projectDIR}' npm run start`, {
37
- cwd: eventCatalogLibDir,
38
- stdio: 'inherit',
39
- });
40
- });
41
-
42
- cli
43
- .command('build [siteDir]')
44
- .description('Build eventcatalog project.')
45
- .action(() => {
46
- if (!fs.existsSync(eventCatalogLibDir)) {
47
- copyCoreApplicationCodeIntoUsersProjectDir();
48
- }
49
-
50
- // copy any public assets over (from users to the lib itself)
51
- fs.copySync(path.join(projectDIR, 'public'), path.join(eventCatalogLibDir, 'public'));
52
-
53
- // Copy the eventcatalog file over
54
- fs.copyFileSync(path.join(projectDIR, 'eventcatalog.config.js'), path.join(eventCatalogLibDir, 'eventcatalog.config.js'));
55
-
56
- if (fs.pathExistsSync(path.join(projectDIR, 'eventcatalog.styles.css'))) {
57
- fs.copyFileSync(path.join(projectDIR, 'eventcatalog.styles.css'), path.join(eventCatalogLibDir, 'eventcatalog.styles.css'));
58
- }
59
-
60
- // Move the schemas into public directory so we can download them from UI
61
- execSync(`cross-env PROJECT_DIR='${projectDIR}' npm run scripts:move-schema-for-download`, {
62
- cwd: eventCatalogLibDir,
63
- stdio: 'inherit',
64
- });
65
-
66
- // build using nextjs
67
- execSync(`cross-env PROJECT_DIR='${projectDIR}' npm run build`, {
68
- cwd: eventCatalogLibDir,
69
- stdio: 'inherit',
70
- });
71
-
72
- // everything is built make sure its back in the users project directory
73
- fs.copySync(path.join(eventCatalogLibDir, '.next'), path.join(projectDIR, '.next'));
74
- fs.copySync(path.join(eventCatalogLibDir, 'out'), path.join(projectDIR, 'out'));
75
- });
76
-
77
- cli
78
- .command('dev [siteDir]')
79
- .description('Start the development server.')
80
- .action(() => {
81
- // Fix for https://github.com/boyney123/eventcatalog/issues/41, not the best but will do for now
82
- fs.rmSync(eventCatalogLibDir, { recursive: true, force: true });
83
-
84
- copyCoreApplicationCodeIntoUsersProjectDir();
85
-
86
- // copy any public assets over (from users to the lib itself)
87
- fs.copySync(path.join(projectDIR, 'public'), path.join(eventCatalogLibDir, 'public'));
88
-
89
- fs.copyFileSync(path.join(projectDIR, 'eventcatalog.config.js'), path.join(eventCatalogLibDir, 'eventcatalog.config.js'));
90
- if (fs.pathExistsSync(path.join(projectDIR, 'eventcatalog.styles.css'))) {
91
- fs.copyFileSync(path.join(projectDIR, 'eventcatalog.styles.css'), path.join(eventCatalogLibDir, 'eventcatalog.styles.css'));
92
- }
93
-
94
- // Move the schemas into public directory so we can download them from UI
95
- execSync(`cross-env PROJECT_DIR='${projectDIR}' npm run scripts:move-schema-for-download`, {
96
- cwd: eventCatalogLibDir,
97
- stdio: 'inherit',
98
- });
99
-
100
- execSync(`cross-env PROJECT_DIR='${projectDIR}' npm run dev`, {
101
- cwd: eventCatalogLibDir,
102
- stdio: 'inherit',
103
- });
104
- });
105
-
106
- cli
107
-
108
- .command('generate [siteDir]')
109
- .description('Start the generator scripts.')
110
- .action(() => {
111
- if (!fs.existsSync(eventCatalogLibDir)) {
112
- // get the application ready
113
- copyCoreApplicationCodeIntoUsersProjectDir();
114
- }
115
-
116
- fs.copyFileSync(path.join(projectDIR, 'eventcatalog.config.js'), path.join(eventCatalogLibDir, 'eventcatalog.config.js'));
117
- if (fs.pathExistsSync(path.join(projectDIR, 'eventcatalog.styles.css'))) {
118
- fs.copyFileSync(path.join(projectDIR, 'eventcatalog.styles.css'), path.join(eventCatalogLibDir, 'eventcatalog.styles.css'));
119
- }
120
-
121
- execSync(`cross-env PROJECT_DIR='${projectDIR}' npm run generate`, {
122
- cwd: eventCatalogLibDir,
123
- stdio: 'inherit',
124
- });
125
- });
126
-
127
- async function run() {
128
- cli.parse(process.argv);
129
-
130
- if (!process.argv.slice(2).length) {
131
- cli.outputHelp();
132
- }
133
- }
134
-
135
- run();
136
-
137
- process.on('unhandledRejection', (err) => {
138
- console.error(err);
139
- // console.error(chalk.red(err.stack));
140
- process.exit(1);
141
- });
@@ -1,50 +0,0 @@
1
- import React from 'react';
2
- import { HomeIcon } from '@heroicons/react/solid';
3
- import Link from 'next/link';
4
-
5
- interface BreadCrumbsProps {
6
- pages: { name: string; href: string; current: boolean }[];
7
- homePath?: string;
8
- }
9
-
10
- function BreadCrumbs({ pages, homePath = '/events' }: BreadCrumbsProps) {
11
- return (
12
- <nav className="flex" aria-label="Breadcrumb">
13
- <ol className="flex items-center space-x-4">
14
- <li>
15
- <Link href={homePath}>
16
- <a className="text-gray-400 hover:text-gray-500">
17
- <HomeIcon className="flex-shrink-0 h-5 w-5" aria-hidden="true" />
18
- <span className="sr-only">Home</span>
19
- </a>
20
- </Link>
21
- </li>
22
- {pages.map((page) => (
23
- <li key={page.name}>
24
- <div className="flex items-center">
25
- <svg
26
- className="flex-shrink-0 h-5 w-5 text-gray-300"
27
- xmlns="http://www.w3.org/2000/svg"
28
- fill="currentColor"
29
- viewBox="0 0 20 20"
30
- aria-hidden="true"
31
- >
32
- <path d="M5.555 17.776l8-16 .894.448-8 16-.894-.448z" />
33
- </svg>
34
- <Link href={page.href}>
35
- <a
36
- className="ml-4 text-sm font-medium text-gray-500 hover:text-gray-700"
37
- aria-current={page.current ? 'page' : undefined}
38
- >
39
- {page.name}
40
- </a>
41
- </Link>
42
- </div>
43
- </li>
44
- ))}
45
- </ol>
46
- </nav>
47
- );
48
- }
49
-
50
- export default BreadCrumbs;
@@ -1,123 +0,0 @@
1
- import { PencilIcon } from '@heroicons/react/solid';
2
- import Link from 'next/link';
3
- import Admonition from '@/components/Mdx/Admonition';
4
-
5
- interface ContentViewProps {
6
- title: string;
7
- subtitle?: string;
8
- tags?: { href?: string; label: string }[];
9
- lastModifiedDate: string;
10
- children: JSX.Element;
11
- sidebar: JSX.Element;
12
- breadCrumbs: JSX.Element;
13
- editUrl?: string;
14
- version?: string;
15
- isOldVersion?: boolean;
16
- latestVersionUrl?: string;
17
- draft?: boolean;
18
- }
19
-
20
- export default function ContentView({
21
- title,
22
- subtitle,
23
- tags = [],
24
- lastModifiedDate,
25
- children,
26
- sidebar: SideBar,
27
- breadCrumbs: BreadCrumbs,
28
- editUrl,
29
- isOldVersion,
30
- latestVersionUrl,
31
- version,
32
- draft: isDraft = false,
33
- }: ContentViewProps) {
34
- return (
35
- <div className="flex relative">
36
- <div className=" flex flex-col w-0 flex-1 ">
37
- <main className="flex-1 ">
38
- <div className="py-8 xl:py-10">
39
- <div className="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 xl:max-w-7xl xl:grid xl:grid-cols-4">
40
- <div className="xl:col-span-3 xl:pr-8 xl:border-r xl:border-gray-200 flex-col justify-between flex">
41
- <div>
42
- {BreadCrumbs && <div className="mb-5 border-b border-gray-100 pb-4">{BreadCrumbs}</div>}
43
- <div>
44
- <div>
45
- <div className="xl:border-b pb-4 flex justify-between ">
46
- <div className="space-y-2 w-full">
47
- <h1 className="text-3xl font-bold text-gray-900 relative">
48
- {title}
49
- <div className="-top-1 relative inline-block ml-2">
50
- {tags.map((tag, index) => (
51
- <span
52
- key={`${tag}-${index}`}
53
- className="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium -top-0.5 relative bg-yellow-100 text-yellow-800"
54
- >
55
- {tag.label}
56
- </span>
57
- ))}
58
- {isDraft && (
59
- <span className="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium -top-0.5 relative bg-gray-500 text-gray-100">
60
- Draft
61
- </span>
62
- )}
63
- </div>
64
- </h1>
65
- <div className="text-gray-600 mb-10 text py-2">{subtitle}</div>
66
- {isOldVersion && version && (
67
- <Admonition className="mt-0 pt-0 w-full" type="warning">
68
- <>
69
- You are currently viewing an old version of this event ({version}).
70
- <Link href={latestVersionUrl}>
71
- <a className="block text-sm pl-7 mt-2 text-blue-500 underline">Read latest version &rarr;</a>
72
- </Link>
73
- </>
74
- </Admonition>
75
- )}
76
- </div>
77
- <div className="mt-4 flex space-x-3 md:mt-0">
78
- {editUrl && (
79
- <a
80
- href={editUrl}
81
- target="_blank"
82
- type="button"
83
- className="hidden 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-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-900"
84
- rel="noreferrer"
85
- >
86
- <PencilIcon className="-ml-1 mr-2 h-5 w-5 text-gray-400" aria-hidden="true" />
87
- <span>Edit</span>
88
- </a>
89
- )}
90
- </div>
91
- </div>
92
- <div className="py-3 xl:pt-6 xl:pb-0">
93
- {isDraft && (
94
- <Admonition className="mt-0 pt-0" type="warning">
95
- <>
96
- This event is currently in <span className="underline">draft</span> mode.
97
- </>
98
- </Admonition>
99
- )}
100
-
101
- <div className="prose max-w-none">{children}</div>
102
- </div>
103
- </div>
104
- </div>
105
- </div>
106
- <div className={`flex mt-10 ${editUrl ? 'justify-between' : 'justify-end'}`}>
107
- {editUrl && (
108
- <a href={editUrl} target="_blank" className="flex text-gray-400" rel="noreferrer">
109
- <PencilIcon className="top-1 mr-2 relative h-4 w-4 text-gray-400" aria-hidden="true" />
110
- <span>Edit this page</span>
111
- </a>
112
- )}
113
- <span className="italic text-xs mt-2">Last updated on {lastModifiedDate}</span>
114
- </div>
115
- </div>
116
- <div className="md:min-h-screen">{SideBar}</div>
117
- </div>
118
- </div>
119
- </main>
120
- </div>
121
- </div>
122
- );
123
- }
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
- import { useConfig } from '@/hooks/EventCatalog';
3
-
4
- export default function Footer() {
5
- const { organizationName, footerLinks: navigation = [] } = useConfig();
6
- const year = new Date().getFullYear();
7
-
8
- return (
9
- <footer className="bg-gray-800">
10
- <div className="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8">
11
- {navigation && (
12
- <nav className="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer">
13
- {navigation.map((item) => (
14
- <div key={item.label} className="px-5 py-2">
15
- <a href={item.href} className="text-base text-gray-500 hover:text-gray-400">
16
- {item.label}
17
- </a>
18
- </div>
19
- ))}
20
- </nav>
21
- )}
22
- <p className="mt-8 text-center text-base text-gray-400">
23
- Copyright © {year} {organizationName}. Built with{' '}
24
- <a className="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">
25
- EventCatalog.
26
- </a>
27
- </p>
28
- </div>
29
- </footer>
30
- );
31
- }
@@ -1,61 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
-
4
- import { CubeIcon } from '@heroicons/react/outline';
5
-
6
- import { Domain } from '@eventcatalog/types';
7
-
8
- import getBackgroundColor from '@/utils/random-bg';
9
-
10
- interface DomainGridProps {
11
- domains: Domain[];
12
- }
13
-
14
- function DomainGrid({ domains = [] }: DomainGridProps) {
15
- return (
16
- <ul className="mt-3 grid grid-cols-1 gap-5 md:grid-cols-2">
17
- {domains.map((domain) => (
18
- <li key={domain.name} className="flex">
19
- <Link href={`/domains/${domain.name}`}>
20
- <a className="flex shadow-sm w-full">
21
- <div
22
- style={{
23
- background: getBackgroundColor(domain.name),
24
- }}
25
- className="w-4 rounded-l-md"
26
- />
27
- <div className="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md ">
28
- <div className="p-4 text-sm space-y-2 flex flex-col justify-between h-full">
29
- <div>
30
- <span className="text-gray-900 font-bold">{domain.name}</span>
31
- {domain.badges?.map((badge) => (
32
- <span
33
- key={`${domain.name}-${badge.content}`}
34
- className={`ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-${badge.backgroundColor}-100 text-${badge.textColor}-800`}
35
- >
36
- {badge.content}
37
- </span>
38
- ))}
39
- <div className="text-gray-500 text-xs font-normal mt-2 line-clamp-3">{domain.summary}</div>
40
- </div>
41
- <div className="flex space-x-4 text-xs pt-2 relative bottom-0 left-0">
42
- <div className=" font-medium text-gray-500">
43
- <CubeIcon className="h-4 w-4 text-green-400 inline-block mr-2" aria-hidden="true" />
44
- Services ({domain.services.length})
45
- </div>
46
- <div className=" font-medium text-gray-500">
47
- <CubeIcon className="h-4 w-4 text-indigo-400 inline-block mr-2" aria-hidden="true" />
48
- Events ({domain.events.length})
49
- </div>
50
- </div>
51
- </div>
52
- </div>
53
- </a>
54
- </Link>
55
- </li>
56
- ))}
57
- </ul>
58
- );
59
- }
60
-
61
- export default DomainGrid;
@@ -1,102 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
-
4
- import { CubeIcon, CollectionIcon } from '@heroicons/react/outline';
5
-
6
- import { Event } from '@eventcatalog/types';
7
- import getBackgroundColor from '@/utils/random-bg';
8
-
9
- import Mermaid from '@/components/Mermaid';
10
- import NodeGraph from '@/components/Mdx/NodeGraph/NodeGraph';
11
-
12
- function classNames(...classes) {
13
- return classes.filter(Boolean).join(' ');
14
- }
15
-
16
- interface EventGridProps {
17
- events: Event[];
18
- showMermaidDiagrams?: boolean;
19
- showNodeGraphs?: boolean;
20
- }
21
-
22
- function EventGrid({ events = [], showMermaidDiagrams = false, showNodeGraphs = false }: EventGridProps) {
23
- return (
24
- <ul className="mt-3 grid grid-cols-1 gap-5 md:grid-cols-2">
25
- {events.map((event) => {
26
- const { draft: isDraft, domain } = event;
27
- const eventURL = domain ? `/domains/${domain}/events/${event.name}` : `/events/${event.name}`;
28
- const eventKey = domain ? `${domain}-${event.name}` : event.name;
29
-
30
- return (
31
- <li key={eventKey} className="flex">
32
- <Link href={eventURL}>
33
- <a className="flex shadow-sm rounded-md w-full">
34
- <div
35
- style={{
36
- background: getBackgroundColor(event.name),
37
- }}
38
- className={classNames(
39
- 'bg-red-500',
40
- 'flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md'
41
- )}
42
- />
43
- <div className="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md ">
44
- <div className="p-4 text-sm space-y-2 flex flex-col justify-between h-full">
45
- <div className="text-gray-900 font-bold hover:text-gray-600 break-all">
46
- {event.name}
47
- <span className="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">
48
- v{event.version}
49
- </span>
50
- {event.badges?.map((badge) => (
51
- <span
52
- key={`${event.name}-${badge.content}`}
53
- className={`ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-${badge.backgroundColor}-100 text-${badge.textColor}-800`}
54
- >
55
- {badge.content}
56
- </span>
57
- ))}
58
- {isDraft && (
59
- <span className="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-gray-500 text-gray-100">
60
- Draft
61
- </span>
62
- )}
63
- </div>
64
- <div className="text-gray-500 text-xs font-normal mt-2 ">{event.summary}</div>
65
- {showMermaidDiagrams && (
66
- <div className="h-full items-center flex">
67
- <Mermaid source="event" data={event} rootNodeColor={getBackgroundColor(event.name)} />
68
- </div>
69
- )}
70
- {showNodeGraphs && (
71
- <div className="h-full items-center flex">
72
- <NodeGraph source="event" data={event} rootNodeColor={getBackgroundColor(event.name)} />
73
- </div>
74
- )}
75
- <div className="flex space-x-4 text-xs pt-2 relative bottom-0 left-0">
76
- <div className=" font-medium text-gray-500">
77
- <CubeIcon className="h-4 w-4 text-green-400 inline-block mr-2" aria-hidden="true" />
78
- Producers ({event.producerNames.length})
79
- </div>
80
- <div className=" font-medium text-gray-500">
81
- <CubeIcon className="h-4 w-4 text-indigo-400 inline-block mr-2" aria-hidden="true" />
82
- Subscribers ({event.consumerNames.length})
83
- </div>
84
- {event.domain && (
85
- <div className=" font-medium text-gray-500">
86
- <CollectionIcon className="h-4 w-4 text-yellow-400 inline-block mr-2" aria-hidden="true" />
87
- {event.domain}
88
- </div>
89
- )}
90
- </div>
91
- </div>
92
- </div>
93
- </a>
94
- </Link>
95
- </li>
96
- );
97
- })}
98
- </ul>
99
- );
100
- }
101
-
102
- export default EventGrid;
@@ -1,84 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
-
4
- import { CubeIcon } from '@heroicons/react/outline';
5
-
6
- import { Service } from '@eventcatalog/types';
7
- import Mermaid from '@/components/Mermaid';
8
-
9
- import getBackgroundColor from '@/utils/random-bg';
10
- import NodeGraph from '@/components/Mdx/NodeGraph/NodeGraph';
11
-
12
- interface ServiceGridProps {
13
- services: Service[];
14
- showMermaidDiagrams?: boolean;
15
- showNodeGraphs?: boolean;
16
- }
17
-
18
- function ServiceGrid({ services = [], showMermaidDiagrams = false, showNodeGraphs = false }: ServiceGridProps) {
19
- return (
20
- <ul className="mt-3 grid grid-cols-1 gap-5 md:grid-cols-2">
21
- {services.map((service, index) => {
22
- const { draft: isDraft, domain } = service;
23
- const serviceUrl = domain ? `/domains/${domain}/services/${service.name}` : `/services/${service.name}`;
24
- return (
25
- <li key={`${service.name}-${index}`} className="flex">
26
- <Link href={serviceUrl}>
27
- <a className="flex shadow-sm w-full">
28
- <div
29
- style={{
30
- background: getBackgroundColor(service.name),
31
- }}
32
- className="w-4 rounded-l-md"
33
- />
34
- <div className="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md ">
35
- <div className="p-4 text-sm space-y-2 flex flex-col justify-between h-full">
36
- <div>
37
- <span className="text-gray-900 font-bold">{service.name}</span>
38
- {service.badges?.map((badge) => (
39
- <span
40
- key={`${service.name}-${badge.content}`}
41
- className={`ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-${badge.backgroundColor}-100 text-${badge.textColor}-800`}
42
- >
43
- {badge.content}
44
- </span>
45
- ))}
46
- {isDraft && (
47
- <span className="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-gray-500 text-gray-100">
48
- Draft
49
- </span>
50
- )}
51
- <div className="text-gray-500 text-xs font-normal mt-2 line-clamp-3">{service.summary}</div>
52
- </div>
53
- {showMermaidDiagrams && (
54
- <div className="h-full items-center flex">
55
- <Mermaid source="service" data={service} rootNodeColor={getBackgroundColor(service.name)} />
56
- </div>
57
- )}
58
- {showNodeGraphs && (
59
- <div className="h-full items-center flex">
60
- <NodeGraph source="service" data={service} rootNodeColor={getBackgroundColor(service.name)} />
61
- </div>
62
- )}
63
- <div className="flex space-x-4 text-xs pt-2 relative bottom-0 left-0">
64
- <div className=" font-medium text-gray-500">
65
- <CubeIcon className="h-4 w-4 text-green-400 inline-block mr-2" aria-hidden="true" />
66
- Subscribe Events ({service.subscribes.length})
67
- </div>
68
- <div className=" font-medium text-gray-500">
69
- <CubeIcon className="h-4 w-4 text-indigo-400 inline-block mr-2" aria-hidden="true" />
70
- Publish Events ({service.publishes.length})
71
- </div>
72
- </div>
73
- </div>
74
- </div>
75
- </a>
76
- </Link>
77
- </li>
78
- );
79
- })}
80
- </ul>
81
- );
82
- }
83
-
84
- export default ServiceGrid;
@@ -1,55 +0,0 @@
1
- import React from 'react';
2
- import Link from 'next/link';
3
-
4
- import { User } from '@eventcatalog/types';
5
-
6
- import getBackgroundColor from '@/utils/random-bg';
7
-
8
- interface UserGridProps {
9
- users: User[];
10
- }
11
-
12
- function UserGrid({ users = [] }: UserGridProps) {
13
- return (
14
- <ul className="mt-3 grid grid-cols-1 gap-5 md:grid-cols-2">
15
- {users.map((user, index) => {
16
- const UserUrl = `/users/${user.id}`;
17
- return (
18
- <li key={`${user.name}-${index}`} className="flex">
19
- <Link href={UserUrl}>
20
- <a className="flex shadow-sm w-full">
21
- <div
22
- style={{
23
- background: getBackgroundColor(user.name),
24
- }}
25
- className="w-4 rounded-l-md"
26
- />
27
-
28
- <div className="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md ">
29
- <div className="p-4 text-sm space-y-2 space-x-4 flex flex-col justify-between h-full">
30
- <div className="flex space-x-4 text-xs pt-2 relative bottom-0 left-0">
31
- <div className="font-medium text-gray-500">
32
- <div className="flex-shrink-0">
33
- <div className="relative">
34
- <img className="h-16 w-16 rounded-full max-w-none" src={user.avatarUrl} alt="" />
35
- <span className="absolute inset-0 shadow-inner rounded-full" aria-hidden="true" />
36
- </div>
37
- </div>
38
- </div>
39
- <div className="font-medium text-gray-500">
40
- <span className="text-gray-900 font-bold">{user.name}</span>
41
- <div className="text-gray-500 text-xs font-normal mt-2 line-clamp-3">{user.summary}</div>
42
- </div>
43
- </div>
44
- </div>
45
- </div>
46
- </a>
47
- </Link>
48
- </li>
49
- );
50
- })}
51
- </ul>
52
- );
53
- }
54
-
55
- export default UserGrid;