@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
Binary file
package/package.json CHANGED
@@ -1,67 +1,74 @@
1
1
  {
2
2
  "name": "@eventcatalog/core",
3
- "version": "1.2.6",
3
+ "type": "module",
4
+ "version": "2.0.0",
4
5
  "publishConfig": {
5
6
  "access": "public"
6
7
  },
7
8
  "bin": {
8
- "eventcatalog": "bin/eventcatalog.js"
9
+ "eventcatalog": "bin/dist/eventcatalog.cjs"
9
10
  },
10
11
  "scripts": {
11
- "dev": "next dev",
12
- "scripts:move-schema-for-download": "node scripts/move-schemas-for-download.js",
13
- "generate": "node scripts/generate.js",
14
- "build": "next build && next export",
15
- "start": "next start",
16
- "lint": "next lint"
12
+ "dev": "concurrently \"node scripts/watcher.js\" \"npm run scripts:hydrate-content && astro dev\"",
13
+ "dev:local": "concurrently \"node scripts/watcher.js\" \"astro dev\"",
14
+ "build:bin": "tsup",
15
+ "prepublishOnly": "npm run build:bin",
16
+ "test": "jest --config=$(pwd)/../../jest.config.js",
17
+ "start": "astro dev",
18
+ "build": "astro check --minimumSeverity error && astro build",
19
+ "build:cd": "node scripts/build-ci.js && astro check --minimumSeverity error && astro build",
20
+ "preview": "astro preview",
21
+ "astro": "astro",
22
+ "scripts:hydrate-content": "node scripts/catalog-to-astro-content-directory.js",
23
+ "start:catalog": "node scripts/start-catalog-locally.js",
24
+ "verify-build:catalog": "rimraf packages/eventcatalog/dist && node scripts/verify-build.js",
25
+ "changeset": "changeset",
26
+ "release": "changeset publish",
27
+ "format": "prettier --config .prettierrc --write \"**/*.{js,jsx,ts,tsx,json}\"",
28
+ "format:diff": "prettier --config .prettierrc --list-different \"**/*.{js,jsx,ts,tsx,json}\""
17
29
  },
18
30
  "dependencies": {
19
- "@asyncapi/react-component": "^1.2.13",
20
- "@headlessui/react": "^1.4.2",
21
- "@heroicons/react": "^1.0.5",
22
- "@mdx-js/react": "^1.6.22",
23
- "@stoplight/json-schema-viewer": "4.5.0",
24
- "@stoplight/markdown-viewer": "^5.4.2",
25
- "@stoplight/mosaic": "^1.15.3",
26
- "@stoplight/mosaic-code-viewer": "^1.15.3",
27
- "@tailwindcss/forms": "^0.5.4",
28
- "@tailwindcss/line-clamp": "^0.4.4",
29
- "@tailwindcss/typography": "^0.5.9",
30
- "@types/swagger-ui-react": "^4.18.0",
31
- "compare-versions": "^4.1.2",
32
- "copy-text-to-clipboard": "^3.0.1",
31
+ "@astrojs/check": "^0.7.0",
32
+ "@astrojs/markdown-remark": "^5.1.0",
33
+ "@astrojs/mdx": "^3.1.0",
34
+ "@astrojs/react": "^3.5.0",
35
+ "@astrojs/tailwind": "^5.1.0",
36
+ "@changesets/cli": "^2.27.5",
37
+ "@headlessui/react": "^2.0.3",
38
+ "@heroicons/react": "^2.1.3",
39
+ "@tailwindcss/typography": "^0.5.13",
40
+ "@tanstack/react-table": "^8.17.3",
41
+ "@types/dagre": "^0.7.52",
42
+ "@types/node": "^20.14.2",
43
+ "astro": "^4.10.1",
44
+ "astro-expressive-code": "^0.35.2",
45
+ "astro-pagefind": "^1.5.0",
46
+ "astro-seo": "^0.8.4",
33
47
  "dagre": "^0.8.5",
34
- "diff": "^5.0.0",
35
- "diff2html": "^3.4.13",
36
- "fs-extra": "^10.0.0",
37
- "gray-matter": "^4.0.3",
38
- "lodash.debounce": "^4.0.8",
39
- "mermaid": "10.3.0",
40
- "next": "^12.1.0",
41
- "next-mdx-remote": "^3.0.8",
42
- "react": "17.0.2",
43
- "react-dom": "17.0.2",
44
- "react-flow-renderer": "^9.7.3",
45
- "react-force-graph-3d": "^1.21.10",
46
- "react-syntax-highlighter": "^15.4.5",
47
- "swagger-ui-react": "5.10.5"
48
+ "glob": "^10.4.1",
49
+ "html-to-image": "^1.11.11",
50
+ "mermaid": "^10.9.1",
51
+ "rapidoc": "^9.3.4",
52
+ "react": "^18.3.1",
53
+ "react-dom": "^18.3.1",
54
+ "reactflow": "^11.11.3",
55
+ "rehype-slug": "^6.0.0",
56
+ "remark-gfm": "^3.0.1",
57
+ "tailwindcss": "^3.4.3",
58
+ "typescript": "^5.4.5",
59
+ "unist-util-visit": "^5.0.0"
48
60
  },
49
61
  "devDependencies": {
50
- "@eventcatalog/types": "0.4.2",
51
- "@types/react": "^17.0.36",
52
- "autoprefixer": "10.4.5",
53
- "commander": "^8.3.0",
62
+ "@parcel/watcher": "^2.4.1",
63
+ "@types/jest": "^29.5.12",
64
+ "@types/react": "^18.3.3",
65
+ "@types/react-dom": "^18.3.0",
66
+ "commander": "^12.1.0",
67
+ "concurrently": "^8.2.2",
54
68
  "cross-env": "^7.0.3",
55
- "eslint": "8.46.0",
56
- "eslint-config-next": "12.0.4",
57
- "postcss": "^8.3.11",
58
- "tailwindcss": "^3.3.3",
59
- "trim": "0.0.3",
60
- "typescript": "^5.1.6"
61
- },
62
- "browser": {
63
- "fs": false,
64
- "os": false
65
- },
66
- "gitHead": "5f82ce7f267e9b3ec771bbd3cc81359ed0a8fd18"
69
+ "jest": "^29.7.0",
70
+ "prettier": "^3.3.2",
71
+ "rimraf": "^5.0.7",
72
+ "tsup": "^8.1.0"
73
+ }
67
74
  }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg>
Binary file
@@ -0,0 +1 @@
1
+ <svg height="256" preserveAspectRatio="xMidYMid" viewBox="0 0 256 256" width="256" xmlns="http://www.w3.org/2000/svg"><path d="m53.8412698 161.320635c0 14.831746-11.9873015 26.819048-26.8190476 26.819048-14.831746 0-26.8190476-11.987302-26.8190476-26.819048s11.9873016-26.819048 26.8190476-26.819048h26.8190476zm13.4095239 0c0-14.831746 11.9873015-26.819048 26.8190476-26.819048 14.8317457 0 26.8190477 11.987302 26.8190477 26.819048v67.047619c0 14.831746-11.987302 26.819048-26.8190477 26.819048-14.8317461 0-26.8190476-11.987302-26.8190476-26.819048z" fill="#e01e5a"/><path d="m94.0698413 53.6380952c-14.8317461 0-26.8190476-11.9873015-26.8190476-26.8190476 0-14.831746 11.9873015-26.8190476 26.8190476-26.8190476 14.8317457 0 26.8190477 11.9873016 26.8190477 26.8190476v26.8190476zm0 13.6126985c14.8317457 0 26.8190477 11.9873015 26.8190477 26.8190476 0 14.8317457-11.987302 26.8190477-26.8190477 26.8190477h-67.2507937c-14.831746 0-26.8190476-11.987302-26.8190476-26.8190477 0-14.8317461 11.9873016-26.8190476 26.8190476-26.8190476z" fill="#36c5f0"/><path d="m201.549206 94.0698413c0-14.8317461 11.987302-26.8190476 26.819048-26.8190476s26.819048 11.9873015 26.819048 26.8190476c0 14.8317457-11.987302 26.8190477-26.819048 26.8190477h-26.819048zm-13.409523 0c0 14.8317457-11.987302 26.8190477-26.819048 26.8190477s-26.819048-11.987302-26.819048-26.8190477v-67.2507937c0-14.831746 11.987302-26.8190476 26.819048-26.8190476s26.819048 11.9873016 26.819048 26.8190476z" fill="#2eb67d"/><path d="m161.320635 201.549206c14.831746 0 26.819048 11.987302 26.819048 26.819048s-11.987302 26.819048-26.819048 26.819048-26.819048-11.987302-26.819048-26.819048v-26.819048zm0-13.409523c-14.831746 0-26.819048-11.987302-26.819048-26.819048s11.987302-26.819048 26.819048-26.819048h67.250794c14.831746 0 26.819047 11.987302 26.819047 26.819048s-11.987301 26.819048-26.819047 26.819048z" fill="#ecb22e"/></svg>
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env node
2
+
3
+ // This is used for CI on vercel. Must copy files before building.
4
+ import { join } from 'node:path';
5
+ import fs from 'fs';
6
+ import { execSync } from 'node:child_process';
7
+ const __dirname = import.meta.dirname;
8
+
9
+ const args = process.argv.slice(2);
10
+ const catalog = args[0] || 'default';
11
+
12
+ const catalogDir = join(__dirname, '../');
13
+ const projectDIR = join(__dirname, `../examples/${catalog}`);
14
+
15
+ fs.copyFileSync(join(projectDIR, 'eventcatalog.config.js'), join(catalogDir, 'eventcatalog.config.js'));
16
+
17
+ fs.copyFileSync(join(projectDIR, 'eventcatalog.styles.css'), join(catalogDir, 'eventcatalog.styles.css'));
18
+
19
+ execSync(`NODE_ENV=CI PROJECT_DIR=${projectDIR} CATALOG_DIR=${catalogDir} npm run scripts:hydrate-content`, {
20
+ cwd: catalogDir,
21
+ stdio: 'inherit',
22
+ });
@@ -0,0 +1,188 @@
1
+ import { glob } from 'glob';
2
+ import * as path from 'node:path';
3
+ import fs from 'fs';
4
+ import { fileURLToPath } from 'url';
5
+
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const scriptsDir = path.dirname(__filename);
8
+
9
+ const getTargetPath = (source, target, type, file) => {
10
+ const relativePath = path.relative(source, file);
11
+ const cleanedRelativePath = relativePath.split(`${type}/`);
12
+ const targetForEvents = path.join(type, cleanedRelativePath[1]);
13
+ return path.join(target, targetForEvents);
14
+ };
15
+
16
+ const ensureDirSync = async (filePath) => {
17
+ const dir = path.dirname(filePath);
18
+
19
+ if (!fs.existsSync(dir)) {
20
+ fs.mkdirSync(dir, { recursive: true });
21
+ }
22
+ };
23
+
24
+ const copyFiles = async ({ source, target, catalogFilesDir, pathToMarkdownFiles, pathToAllFiles, type }) => {
25
+ // Find all the event files
26
+ const markdownFiles = await glob(pathToMarkdownFiles, {
27
+ nodir: true,
28
+ });
29
+ const files = await glob(pathToAllFiles, {
30
+ ignore: {
31
+ ignored: (p) => /\.md$/.test(p.name),
32
+ },
33
+ nodir: true,
34
+ });
35
+
36
+ const publicDir = path.join(target, '../../public/generated');
37
+
38
+ // Copy markdown files into the astro content (collection) folder
39
+ for (const file of markdownFiles) {
40
+ const targetPath = getTargetPath(source, target, type, file);
41
+
42
+ //ensure the directory exists
43
+ ensureDirSync(path.dirname(targetPath));
44
+ fs.cpSync(file, targetPath.replace('index.md', 'index.mdx'));
45
+ }
46
+
47
+ // Copy all other files (non markdown) files into catalog-files directory (non collection)
48
+ for (const file of files) {
49
+ // Ignore any md files
50
+ if (file.endsWith('.md')) {
51
+ continue;
52
+ }
53
+
54
+ const relativePath = path.relative(source, file);
55
+ const cleanedRelativePath = relativePath.split(`${type}/`);
56
+ if (!cleanedRelativePath[1]) continue;
57
+ const targetForEvents = path.join(type, cleanedRelativePath[1]);
58
+
59
+ // Catalog-files-directory
60
+ const targetPath = path.join(catalogFilesDir, targetForEvents);
61
+ if (!fs.existsSync(path.dirname(targetPath))) {
62
+ fs.mkdirSync(path.dirname(targetPath), { recursive: true });
63
+ }
64
+ await fs.cpSync(file, targetPath);
65
+
66
+ // // // Public Directory
67
+ const publicTargetPath = path.join(publicDir, targetForEvents);
68
+
69
+ if (!fs.existsSync(path.dirname(publicTargetPath))) {
70
+ fs.mkdirSync(path.dirname(publicTargetPath), { recursive: true });
71
+ }
72
+
73
+ await fs.cpSync(file, publicTargetPath);
74
+ }
75
+
76
+ // Check if the directory is empty. EC (astro collections) requires at least 1 item in the collection
77
+ // insert empty one that is filtered out
78
+ if (markdownFiles.length === 0) {
79
+ const defaultCollectionFilesDir = path.join(scriptsDir, 'default-files-for-collections');
80
+ const defaultFile = path.join(defaultCollectionFilesDir, `${type}.md`);
81
+ const targetDir = path.join(target, type);
82
+ if (!fs.existsSync(targetDir)) {
83
+ fs.mkdirSync(targetDir, { recursive: true });
84
+ }
85
+ await fs.cpSync(defaultFile, path.join(targetDir, `${type}.md`));
86
+ }
87
+ };
88
+
89
+ export const catalogToAstro = async (source, astroContentDir, catalogFilesDir) => {
90
+ // Config file
91
+ const astroConfigFile = fs.readFileSync(path.join(astroContentDir, 'config.ts'));
92
+
93
+ // Clear the astro directory before we copy files over
94
+ await fs.rmSync(astroContentDir, { recursive: true });
95
+
96
+ // Create the folder again
97
+ fs.mkdirSync(astroContentDir);
98
+
99
+ // Write config file back
100
+ // ensureDirSync(astroContentDir);
101
+ fs.writeFileSync(path.join(astroContentDir, 'config.ts'), astroConfigFile);
102
+
103
+ // Copy all the event files over
104
+ await copyFiles({
105
+ source,
106
+ target: astroContentDir,
107
+ catalogFilesDir,
108
+ pathToMarkdownFiles: [
109
+ path.join(source, 'events/**/**/index.md'),
110
+ path.join(source, 'services/**/events/**/index.md'),
111
+ path.join(source, 'domains/**/events/**/index.md'),
112
+ ],
113
+ pathToAllFiles: [
114
+ path.join(source, 'events/**'),
115
+ path.join(source, 'services/**/events/**'),
116
+ path.join(source, 'domains/**/events/**'),
117
+ ],
118
+ type: 'events',
119
+ });
120
+
121
+ // // copy commands
122
+ await copyFiles({
123
+ source,
124
+ target: astroContentDir,
125
+ catalogFilesDir,
126
+ pathToMarkdownFiles: [
127
+ path.join(source, 'commands/**/**/index.md'),
128
+ path.join(source, 'services/**/commands/**/index.md'),
129
+ path.join(source, 'domains/**/commands/**/index.md'),
130
+ ],
131
+ pathToAllFiles: [
132
+ path.join(source, 'commands/**'),
133
+ path.join(source, 'services/**/commands/**'),
134
+ path.join(source, 'domains/**/commands/**'),
135
+ ],
136
+ type: 'commands',
137
+ });
138
+
139
+ // // Copy all the service files over
140
+ await copyFiles({
141
+ source,
142
+ target: astroContentDir,
143
+ catalogFilesDir,
144
+ pathToMarkdownFiles: [path.join(source, 'services/**/**/index.md'), path.join(source, 'domains/**/services/**/index.md')],
145
+ pathToAllFiles: [path.join(source, 'services/**'), path.join(source, 'domains/**/services/**')],
146
+ type: 'services',
147
+ });
148
+
149
+ // // Copy all the domain files over
150
+ await copyFiles({
151
+ source,
152
+ target: astroContentDir,
153
+ catalogFilesDir,
154
+ pathToMarkdownFiles: [path.join(source, 'domains/**/**/index.md')],
155
+ pathToAllFiles: [path.join(source, 'domains/**')],
156
+ type: 'domains',
157
+ });
158
+
159
+ // // Copy all the users
160
+ await copyFiles({
161
+ source,
162
+ target: astroContentDir,
163
+ catalogFilesDir,
164
+ pathToMarkdownFiles: [path.join(source, 'users/**/*.md')],
165
+ pathToAllFiles: [],
166
+ type: 'users',
167
+ });
168
+
169
+ // // Copy all the teams
170
+ await copyFiles({
171
+ source,
172
+ target: astroContentDir,
173
+ catalogFilesDir,
174
+ pathToMarkdownFiles: [path.join(source, 'teams/**/*.md')],
175
+ pathToAllFiles: [],
176
+ type: 'teams',
177
+ });
178
+ };
179
+
180
+ if (process.env.NODE_ENV !== 'test') {
181
+ // // Get the project directory of the source
182
+ const source = process.env.PROJECT_DIR;
183
+
184
+ const astroContentDir = path.join(process.env.CATALOG_DIR, 'src/content');
185
+ const catalogFilesDir = path.join(process.env.CATALOG_DIR, 'src/catalog-files');
186
+
187
+ catalogToAstro(source, astroContentDir, catalogFilesDir);
188
+ }
@@ -0,0 +1,8 @@
1
+ ---
2
+ id: empty
3
+ name: empty
4
+ version: 0.0.1
5
+ hidden: true
6
+ ---
7
+
8
+ <!-- Do not delete this file, required for EC, you an ignore this file -->
@@ -0,0 +1,8 @@
1
+ ---
2
+ id: empty
3
+ name: empty
4
+ version: 0.0.1
5
+ hidden: true
6
+ ---
7
+
8
+ <!-- Do not delete this file, required for EC, you an ignore this file -->
@@ -0,0 +1,8 @@
1
+ ---
2
+ id: empty
3
+ name: empty
4
+ version: 0.0.1
5
+ hidden: true
6
+ ---
7
+
8
+ <!-- Do not delete this file, required for EC, you an ignore this file -->
@@ -0,0 +1,8 @@
1
+ ---
2
+ id: empty
3
+ name: empty
4
+ version: 0.0.1
5
+ hidden: true
6
+ ---
7
+
8
+ <!-- Do not delete this file, required for EC, you an ignore this file -->
@@ -0,0 +1,11 @@
1
+ ---
2
+ id: dboyne
3
+ name: David Boyne
4
+ avatarUrl: "https://pbs.twimg.com/profile_images/1262283153563140096/DYRDqKg6_400x400.png"
5
+ role: Lead developer
6
+ email: test@test.com
7
+ hidden: true
8
+ slackDirectMessageUrl: https://yourteam.slack.com/channels/boyney123
9
+ ---
10
+
11
+ <!-- Do not delete this file, required for EC, you an ignore this file -->
@@ -0,0 +1,11 @@
1
+ ---
2
+ id: dboyne
3
+ name: David Boyne
4
+ avatarUrl: "https://pbs.twimg.com/profile_images/1262283153563140096/DYRDqKg6_400x400.png"
5
+ role: Lead developer
6
+ email: test@test.com
7
+ hidden: true
8
+ slackDirectMessageUrl: https://yourteam.slack.com/channels/boyney123
9
+ ---
10
+
11
+ <!-- Do not delete this file, required for EC, you an ignore this file -->
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ import { join } from 'node:path';
3
+ import fs from 'fs';
4
+ import { execSync } from 'node:child_process';
5
+ const __dirname = import.meta.dirname;
6
+
7
+ const args = process.argv.slice(2);
8
+ const catalog = args[0] || 'default';
9
+
10
+ const catalogDir = join(__dirname, '../');
11
+ const projectDIR = join(__dirname, `../examples/${catalog}`);
12
+
13
+ fs.copyFileSync(join(projectDIR, 'eventcatalog.config.js'), join(catalogDir, 'eventcatalog.config.js'));
14
+
15
+ fs.copyFileSync(join(projectDIR, 'eventcatalog.styles.css'), join(catalogDir, 'eventcatalog.styles.css'));
16
+
17
+ execSync(
18
+ `NODE_ENV=development PROJECT_DIR=${projectDIR} CATALOG_DIR=${catalogDir} npm run scripts:hydrate-content && PROJECT_DIR=${projectDIR} CATALOG_DIR=${catalogDir} npm run dev:local`,
19
+ {
20
+ cwd: catalogDir,
21
+ stdio: 'inherit',
22
+ }
23
+ );
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+ import watcher from '@parcel/watcher';
3
+ import path from 'path';
4
+ import fs from 'fs';
5
+
6
+ // Where the users project is located
7
+ const projectDirectory = process.env.PROJECT_DIR || process.cwd();
8
+ // Where the catalog code is located.
9
+ const catalogDirectory = process.env.CATALOG_DIR;
10
+
11
+ const contentPath = path.join(catalogDirectory, 'src', 'content');
12
+
13
+ const watchList = ['domains', 'commands', 'events', 'services', 'teams', 'users'];
14
+ // const absoluteWatchList = watchList.map((item) => path.join(projectDirectory, item));
15
+
16
+ // confirm folders exist before watching them
17
+ const verifiedWatchList = watchList.filter((item) => fs.existsSync(path.join(projectDirectory, item)));
18
+
19
+ const extensionReplacer = (collection, file) => {
20
+ if (collection === 'teams' || collection == 'users') return file;
21
+ return file.replace('.md', '.mdx');
22
+ };
23
+
24
+ for (let item of [...verifiedWatchList]) {
25
+ // Listen to the users directory for any changes.
26
+ watcher.subscribe(path.join(projectDirectory, item), (err, events) => {
27
+ if (err) {
28
+ return;
29
+ }
30
+ for (let event of events) {
31
+ const { path: eventPath, type } = event;
32
+ const file = eventPath.split(item)[1];
33
+ const newPath = path.join(contentPath, item, extensionReplacer(item, file));
34
+
35
+ // If config files have changes
36
+ if (eventPath.includes('eventcatalog.config.js') || eventPath.includes('eventcatalog.styles.css')) {
37
+ fs.cpSync(eventPath, path.join(catalogDirectory, file));
38
+ return;
39
+ }
40
+
41
+ // If markdown files copy file over to the required location
42
+ if (eventPath.endsWith('.md') && type === 'update') {
43
+ fs.cpSync(eventPath, newPath);
44
+ }
45
+
46
+ // IF directory remove it
47
+ if (type === 'delete') {
48
+ console.log('eventPath', eventPath);
49
+ fs.rmSync(newPath);
50
+ }
51
+ }
52
+ });
53
+ }
@@ -0,0 +1,110 @@
1
+ ---
2
+ import { getCommands } from '@utils/commands';
3
+ import { getDomains } from '@utils/domains/domains';
4
+ import { getEvents } from '@utils/events';
5
+ import { getServices } from '@utils/services/services';
6
+ import { getTeams } from '@utils/teams';
7
+ import { getUsers } from '@utils/users';
8
+ import config from '@eventcatalog';
9
+
10
+ const events = await getEvents({ getAllVersions: false });
11
+ const commands = await getCommands({ getAllVersions: false });
12
+ const services = await getServices({ getAllVersions: false });
13
+ const domains = await getDomains({ getAllVersions: false });
14
+ const teams = await getTeams();
15
+ const users = await getUsers();
16
+
17
+ const messages = [...events, ...commands];
18
+
19
+ const allData = [ ...domains, ...services, ...messages, ...teams, ...users];
20
+
21
+ const fetchHeadings = allData.map(async (item) => {
22
+ const renderHeadings = config?.docs?.sidebar?.showPageHeadings ?? true;
23
+ const headings = renderHeadings ? await item.render() : { headings: []};
24
+ return {
25
+ ...item,
26
+ headings: headings.headings,
27
+ };
28
+ });
29
+
30
+
31
+
32
+ const withHeadings = await Promise.all(fetchHeadings);
33
+
34
+ const sideNav = withHeadings.reduce((acc, item) => {
35
+
36
+ const title = (item.collection === 'events' || item.collection === 'commands') ? 'Messages' : item.collection;
37
+
38
+ const group = acc[title] || [];
39
+
40
+ const navigationItem = {
41
+ label: item.data.name,
42
+ version: item.collection === 'teams' || item.collection === 'users' ? null : item.data.version,
43
+ items: item.collection === 'users' ? [] : item.headings,
44
+ // @ts-ignore
45
+ href: item.data.version ? `/docs/${item.collection}/${item.data.id}/${item.data.version}` : `/docs/${item.collection}/${item.data.id}`,
46
+ };
47
+
48
+ group.push(navigationItem);
49
+
50
+ return {
51
+ ...acc,
52
+ [title]: group,
53
+ };
54
+ }, {} as any);
55
+
56
+ const currentPath = Astro.url.pathname;
57
+
58
+ ---
59
+
60
+ <div class="font-light w-full xl:pr-10 pb-20 ">
61
+ {
62
+ Object.keys(sideNav).map((key) => {
63
+ const collection = sideNav[key];
64
+ return (
65
+ <ul class=" w-full space-y-2 pb-8">
66
+ <li class="font-semibold capitalize ">{key}</li>
67
+ {collection.map((item: any) => {
68
+ return (
69
+ <li class="px-2 w-full text-md xl:text-lg border-l border-gray-200 space-y-2 scroll-m-20" id={item.href} >
70
+ <a class={`flex justify-between items-center w-full px-2 rounded-md font-normal ${currentPath.includes(item.href) ? 'bg-purple-200 text-purple-800 ' : 'font-thin'}`} href={`${item.href}`}>
71
+ <span class="block">{item.label}</span>
72
+ {item.version && <span class="block text-sm bg-purple-100 p-0.5 px-1 text-gray-600 rounded-md font-light">v{item.version}</span>}
73
+ </a>
74
+ <ul class="hidden xl:block px-4 text-gray-500 text-md space-y-2 ">
75
+ {item.items.map((heading: any) => {
76
+ return (
77
+ <li class="text-xs">
78
+ <a href={`${item.href}/#${heading.slug}`}>{heading.text}</a>
79
+ </li>
80
+ );
81
+ })}
82
+ </ul>
83
+ </li>
84
+ );
85
+ })}
86
+ </ul>
87
+ );
88
+ })
89
+ }
90
+ </div>
91
+
92
+ <script>
93
+ // Scroll to the current page element
94
+ document.addEventListener('DOMContentLoaded', () => {
95
+ const currentPath = document.location.pathname;
96
+ const currentElement = document.getElementById(currentPath);
97
+ if (currentElement) {
98
+ // scroll to the current element with padding
99
+ currentElement.scrollIntoView({
100
+ behavior: 'auto',
101
+ block: 'start',
102
+ inline: 'start',
103
+ });
104
+
105
+ // currentElement.scrollIntoView({
106
+ // behavior: 'auto'
107
+ // });
108
+ }
109
+ });
110
+ </script>