@eventcatalog/core 5.0.0-beta.9 → 5.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.
- package/LICENSE +13 -12
- package/README.md +5 -5
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +91 -44
- package/dist/analytics/log-build.d.cts +2 -2
- package/dist/analytics/log-build.d.ts +2 -2
- package/dist/analytics/log-build.js +6 -5
- package/dist/analytics/studio-usage.cjs +90 -0
- package/dist/analytics/studio-usage.d.cts +5 -0
- package/dist/analytics/studio-usage.d.ts +5 -0
- package/dist/analytics/studio-usage.js +10 -0
- package/dist/catalog-runtime.cjs +1 -1
- package/dist/{chunk-ZEY2XUJN.js → chunk-46TBJZC3.js} +1 -1
- package/dist/{chunk-RFIXKATC.js → chunk-4G7FSRPN.js} +35 -42
- package/dist/{chunk-AWOO63ME.js → chunk-AD7CL772.js} +11 -4
- package/dist/chunk-CA6WCQ2T.js +54 -0
- package/dist/{chunk-GAHKCOQM.js → chunk-DVHJTQWQ.js} +1 -1
- package/dist/{chunk-TZVDMWQX.js → chunk-HFR5OPHV.js} +4 -2
- package/dist/{chunk-4CFZUHGG.js → chunk-KTXSCPEK.js} +1 -1
- package/dist/{chunk-ENAG6UH7.js → chunk-NKNOXQ62.js} +1 -6
- package/dist/{chunk-36RYTYT5.js → chunk-PD7KTSYN.js} +1 -1
- package/dist/chunk-S5GWAUG5.js +29 -0
- package/dist/{chunk-EUNQJO3J.js → chunk-UWAXRTAJ.js} +1 -1
- package/dist/{chunk-JQMYHZWI.js → chunk-YPWK5ITM.js} +15 -7
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/api/02-config.md +57 -7
- package/dist/docs/development/00-why-eventcatalog.md +11 -11
- package/dist/docs/development/01-fundamentals.md +20 -13
- package/dist/docs/development/01-getting-started/configuration-overview.md +2 -2
- package/dist/docs/development/01-getting-started/installation.md +9 -1
- package/dist/docs/development/_getting-started.mdx +1 -1
- package/dist/docs/development/ask-your-architecture/01-intro.md +5 -5
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +0 -4
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +15 -3
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +0 -3
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +1 -1
- package/dist/docs/development/ask-your-architecture/02-llms.txt.md +1 -1
- package/dist/docs/development/ask-your-architecture/{05-skills/01-introduction.md → 03-install-skills.md} +57 -7
- package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +1 -1
- package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +86 -33
- package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +14 -4
- package/dist/docs/development/ask-your-architecture/03-schemas.txt.md +1 -1
- package/dist/docs/development/ask-your-architecture/04-agents/_category_.json +1 -1
- package/dist/docs/development/authentication/01-introduction.md +2 -23
- package/dist/docs/development/authentication/02-enabling-authentication.md +0 -20
- package/dist/docs/development/authentication/07-rbac-middleware.md +0 -2
- package/dist/docs/development/authentication/providers/03-setting-up-github.md +0 -2
- package/dist/docs/development/authentication/providers/03a-setting-up-google.md +0 -2
- package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +0 -2
- package/dist/docs/development/authentication/providers/05-setting-up-okta.md +0 -3
- package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +0 -2
- package/dist/docs/development/bring-your-own-documentation/01-introduction.md +0 -4
- package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +0 -3
- package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +0 -17
- package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +0 -4
- package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +0 -2
- package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +1 -3
- package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +1 -4
- package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +0 -2
- package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +1 -3
- package/dist/docs/development/components/components/11-flow.md +17 -0
- package/dist/docs/development/components/components/15-nodegraph.md +43 -10
- package/dist/docs/development/components/components/18-remote-schema.md +1 -4
- package/dist/docs/development/components/custom-components/07-reference.md +14 -0
- package/dist/docs/development/customization/02-themes.md +0 -5
- package/dist/docs/development/customization/03-search.md +1 -1
- package/dist/docs/development/customization/05-custom-pages-and-api-routes/01-introduction.md +0 -2
- package/dist/docs/development/customization/05-custom-pages-and-api-routes/04-reference.md +7 -1
- package/dist/docs/development/customization/05-resource-sidebar.md +1 -1
- package/dist/docs/development/customization/09-embed-eventcatalog.md +20 -25
- package/dist/docs/development/deployment/hosting-options.md +7 -2
- package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/05-fix-common-problems.md +16 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/03-rules.md +31 -1
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/05-supported-resources.md +1 -1
- package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +0 -10
- package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +0 -4
- package/dist/docs/development/guides/97-architecture-graph.md +1 -1
- package/dist/docs/development/guides/99-adding-analytics.md +0 -7
- package/dist/docs/development/guides/domains/03-model-subdomains.md +2 -2
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/01-add-systems-to-domains.md +3 -1
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/02-add-services-to-domains.md +5 -1
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/03-add-messages-to-domains.md +2 -2
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/05-add-entities-to-domains.md +1 -1
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/06-domain-resources-page.md +40 -0
- package/dist/docs/development/guides/domains/06-visualize-domains/01-domain-diagram.md +89 -0
- package/dist/docs/development/guides/domains/06-visualize-domains/_category_.json +1 -2
- package/dist/docs/development/guides/domains/09-reference.md +4 -4
- package/dist/docs/development/guides/owners/automated-teams-and-users/create-your-own-connector.md +0 -2
- package/dist/docs/development/guides/owners/automated-teams-and-users/sync-from-github.md +0 -3
- package/dist/docs/development/guides/owners/automated-teams-and-users/sync-from-microsoft-entra.md +0 -2
- package/dist/docs/development/guides/resources/adrs/03-linking-resources.md +8 -0
- package/dist/docs/development/guides/resources/adrs/06-reference.md +4 -4
- package/dist/docs/development/guides/resources/agents/11-reference.md +1 -1
- package/dist/docs/development/guides/resources/data/04-reference.md +1 -1
- package/dist/docs/development/guides/resources/data-products/07-reference.md +1 -1
- package/dist/docs/development/guides/resources/entities/05-entity-maps.md +1 -1
- package/dist/docs/development/guides/resources/entities/06-reference.md +2 -2
- package/dist/docs/development/guides/resources/flows/01-introduction.md +11 -1
- package/dist/docs/development/guides/resources/flows/03-model-flow-steps.md +65 -6
- package/dist/docs/development/guides/resources/flows/05-explore-flows.md +112 -0
- package/dist/docs/development/guides/resources/flows/06-reference.md +25 -4
- package/dist/docs/development/guides/resources/messages/01-what-are-messages.md +19 -0
- package/dist/docs/development/guides/resources/messages/04-message-channels/01-introduction.md +16 -0
- package/dist/docs/development/guides/resources/messages/04-message-channels/05-reference.md +2 -1
- package/dist/docs/development/guides/resources/messages/10-reference.md +6 -3
- package/dist/docs/development/guides/resources/schemas/04-explore-schemas/01-schema-explorer.md +2 -2
- package/dist/docs/development/guides/resources/schemas/04-explore-schemas/02-fields-explorer.md +0 -9
- package/dist/docs/development/guides/resources/schemas/05-schema-api.md +0 -3
- package/dist/docs/development/guides/resources/schemas/06-schema-mcp.md +11 -3
- package/dist/docs/development/guides/resources/services/04-add-resources-to-services/03-add-entities-to-services.md +1 -1
- package/dist/docs/development/guides/resources/services/05-resources-page.md +50 -0
- package/dist/docs/development/guides/resources/services/08-reference.md +2 -1
- package/dist/docs/development/guides/systems/01-introduction.md +1 -1
- package/dist/docs/development/guides/systems/02-create-system.md +2 -2
- package/dist/docs/development/guides/systems/03-add-resources-to-systems.md +35 -9
- package/dist/docs/development/guides/systems/04-model-relationships-and-actors.md +5 -3
- package/dist/docs/development/guides/systems/05-system-context-maps.md +39 -22
- package/dist/docs/development/guides/systems/06-reference.md +4 -4
- package/dist/docs/development/license/01-license-file.md +151 -0
- package/dist/docs/development/license/_category_.json +12 -0
- package/dist/docs/development/license-keys/_category_.json +3 -3
- package/dist/docs/development/license-keys/integrations.md +7 -37
- package/dist/docs/development/license-keys/license-validation.md +4 -0
- package/dist/docs/development/license-keys/overview.md +5 -1
- package/dist/docs/development/license-keys/plans.md +4 -2
- package/dist/docs/development/studio/01-introduction.md +60 -0
- package/dist/docs/development/studio/02-create-a-canvas.md +103 -0
- package/dist/docs/development/studio/03-set-up-persistent-storage.md +59 -0
- package/dist/docs/development/studio/04-collaborate-on-a-canvas.md +78 -0
- package/dist/docs/development/studio/05-connect-your-agent.md +102 -0
- package/dist/docs/development/studio/06-run-studio-in-production.md +54 -0
- package/dist/docs/development/studio/07-reference.md +294 -0
- package/dist/docs/development/studio/_category_.json +12 -0
- package/dist/docs/development/upgrading/v5.md +345 -0
- package/dist/docs/federation/00-overview.md +2 -8
- package/dist/docs/federation/01-first-federation.md +6 -18
- package/dist/docs/federation/explanation/how-it-works.md +0 -4
- package/dist/docs/federation/explanation/lockfile-and-cache.md +0 -4
- package/dist/docs/federation/explanation/mvp-status-and-feedback.md +0 -4
- package/dist/docs/federation/explanation/ownership-and-references.md +0 -4
- package/dist/docs/federation/how-to/configure-github-sources.md +6 -5
- package/dist/docs/federation/how-to/configure-validation-rules.md +0 -4
- package/dist/docs/federation/how-to/run-in-ci.md +2 -9
- package/dist/docs/federation/how-to/share-assets-and-components.md +0 -4
- package/dist/docs/federation/how-to/use-local-sources.md +0 -4
- package/dist/docs/federation/legacy-federation/00-introduction.md +4 -22
- package/dist/docs/federation/legacy-federation/01-installation.md +7 -58
- package/dist/docs/federation/legacy-federation/02-plugin-configuration.md +3 -21
- package/dist/docs/federation/legacy-federation/03-examples.md +3 -5
- package/dist/docs/federation/legacy-federation/04-configuration.md +3 -8
- package/dist/docs/federation/legacy-federation/05-setup-team-catalog.md +3 -6
- package/dist/docs/federation/reference/cli.md +2 -8
- package/dist/docs/federation/reference/configuration.md +0 -4
- package/dist/docs/federation/reference/diagnostic-rules.md +0 -5
- package/dist/docs/federation/reference/generated-output.md +0 -4
- package/dist/docs/federation/reference/supported-content.md +0 -4
- package/dist/docs/federation/reference/troubleshooting.md +0 -14
- package/dist/docs/plugins/02-generators.md +1 -1
- package/dist/docs/plugins/amazon-apigateway/00-intro.md +3 -28
- package/dist/docs/plugins/amazon-apigateway/01-installation.md +4 -56
- package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +1 -6
- package/dist/docs/plugins/apicurio/00-intro.md +2 -31
- package/dist/docs/plugins/apicurio/01-installation.md +2 -26
- package/dist/docs/plugins/apicurio/02-plugin-configuration.md +5 -13
- package/dist/docs/plugins/apicurio/03-features.md +1 -3
- package/dist/docs/plugins/asyncapi/00-intro.md +2 -28
- package/dist/docs/plugins/asyncapi/01-installation.md +3 -54
- package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +2 -1
- package/dist/docs/plugins/aws-glue-registry/00-intro.md +4 -32
- package/dist/docs/plugins/aws-glue-registry/00a-installation.md +3 -53
- package/dist/docs/plugins/azure-schema-registry/00-intro.md +4 -32
- package/dist/docs/plugins/azure-schema-registry/01-installation.md +6 -33
- package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +1 -14
- package/dist/docs/plugins/azure-schema-registry/04-examples.md +0 -2
- package/dist/docs/plugins/backstage/00-overview.md +1 -7
- package/dist/docs/plugins/backstage/01-get-started.md +6 -15
- package/dist/docs/plugins/backstage/06-configuration.md +2 -8
- package/dist/docs/plugins/confluent-schema-registry/00-intro.md +2 -29
- package/dist/docs/plugins/confluent-schema-registry/01-installation.md +2 -26
- package/dist/docs/plugins/eventbridge/00-intro.md +0 -4
- package/dist/docs/plugins/eventbridge/00a-installation.md +1 -87
- package/dist/docs/plugins/eventbridge/03-api.md +2 -20
- package/dist/docs/plugins/github/00-intro.md +0 -31
- package/dist/docs/plugins/github/01-installation.md +2 -34
- package/dist/docs/plugins/graphql/00-intro.md +0 -30
- package/dist/docs/plugins/graphql/01-installation.md +1 -53
- package/dist/docs/plugins/graphql/02-plugin-configuration.md +0 -1
- package/dist/docs/plugins/hookdeck/01-intro.md +1 -1
- package/dist/docs/plugins/openapi/00-intro.md +0 -30
- package/dist/docs/plugins/openapi/01-installation.md +1 -57
- package/dist/docs/plugins/openapi/02-plugin-configuration.md +0 -5
- package/dist/docs/plugins/openapi/03-features.md +0 -4
- package/dist/eventcatalog-config-file-utils.cjs +34 -41
- package/dist/eventcatalog-config-file-utils.d.cts +56 -58
- package/dist/eventcatalog-config-file-utils.d.ts +56 -58
- package/dist/eventcatalog-config-file-utils.js +1 -1
- package/dist/eventcatalog.cjs +340 -249
- package/dist/eventcatalog.config.d.cts +18 -15
- package/dist/eventcatalog.config.d.ts +18 -15
- package/dist/eventcatalog.js +46 -28
- package/dist/features.cjs +36 -49
- package/dist/features.d.cts +1 -3
- package/dist/features.d.ts +1 -3
- package/dist/features.js +4 -6
- package/dist/federation/federate.cjs +37 -44
- package/dist/federation/federate.js +2 -2
- package/dist/generate.cjs +37 -42
- package/dist/generate.js +4 -4
- package/dist/resolve-catalog-dependencies.cjs +34 -41
- package/dist/resolve-catalog-dependencies.js +2 -2
- package/dist/runtime-dependencies/@eventcatalog__visualiser__studio-fonts.css.mjs +3 -0
- package/dist/runtime-dependencies/@eventcatalog__visualiser__studio.css.mjs +3 -0
- package/dist/runtime-dependencies/@eventcatalog__visualiser__studio.mjs +3 -0
- package/dist/runtime-dependencies/htmlparser2.mjs +3 -0
- package/dist/runtime-dependencies/manifest.json +5 -1
- package/dist/runtime-dependencies/react-syntax-highlighter__dist__cjs__create-element.js.mjs +3 -0
- package/dist/utils/child-process-signals.cjs +53 -0
- package/dist/utils/child-process-signals.d.cts +19 -0
- package/dist/utils/child-process-signals.d.ts +19 -0
- package/dist/utils/child-process-signals.js +6 -0
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/dist/utils/license-status.cjs +11 -4
- package/dist/utils/license-status.d.cts +3 -2
- package/dist/utils/license-status.d.ts +3 -2
- package/dist/utils/license-status.js +1 -1
- package/eventcatalog/astro.config.mjs +21 -1
- package/eventcatalog/integrations/config-loader.mjs +56 -58
- package/eventcatalog/integrations/skip-startup-reload.mjs +31 -0
- package/eventcatalog/integrations/stable-dependency-order.mjs +29 -0
- package/eventcatalog/integrations/storage.mjs +20 -0
- package/eventcatalog/integrations/studio-server.mjs +4 -1
- package/eventcatalog/src/components/CatalogGraph/CatalogForceGraph.tsx +39 -0
- package/eventcatalog/src/components/ChatPanel/ChatPanel.tsx +2 -0
- package/eventcatalog/src/components/Homepage/CatalogDashboard.astro +342 -0
- package/eventcatalog/src/components/MDX/NodeGraph/AstroNodeGraph.tsx +60 -4
- package/eventcatalog/src/components/MDX/NodeGraph/NodeGraph.astro +5 -1
- package/eventcatalog/src/components/NavigationProgress.astro +7 -0
- package/eventcatalog/src/components/SchemaExplorer/ApiContentViewer.tsx +2 -0
- package/eventcatalog/src/components/SchemaExplorer/ExamplesViewer.tsx +2 -0
- package/eventcatalog/src/components/SchemaExplorer/SchemaCodeModal.tsx +2 -0
- package/eventcatalog/src/components/SchemaExplorer/SchemaContentViewer.tsx +2 -0
- package/eventcatalog/src/components/Search/SearchDataLoader.astro +16 -28
- package/eventcatalog/src/components/Search/SearchModal.tsx +2 -10
- package/eventcatalog/src/components/Search/search-utils.ts +26 -0
- package/eventcatalog/src/components/Seo.astro +5 -1
- package/eventcatalog/src/components/Settings/AssistantSettingsForm.tsx +53 -48
- package/eventcatalog/src/components/Settings/GeneralSettingsForm.tsx +183 -178
- package/eventcatalog/src/components/Settings/LicenseSettings.tsx +140 -31
- package/eventcatalog/src/components/Settings/LlmAccessSettingsForm.tsx +40 -35
- package/eventcatalog/src/components/Settings/LogoUpload.tsx +1 -1
- package/eventcatalog/src/components/Settings/McpSettingsForm.tsx +9 -8
- package/eventcatalog/src/components/Settings/Row.tsx +7 -4
- package/eventcatalog/src/components/Settings/SettingsShared.tsx +3 -3
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +37 -76
- package/eventcatalog/src/components/SideNav/NestedSideBar/storage.ts +2 -0
- package/eventcatalog/src/components/SideNav/NestedSideBar/utils.ts +122 -1
- package/eventcatalog/src/components/SideNav/SideNav.astro +9 -1
- package/eventcatalog/src/components/TrialBadge.astro +20 -9
- package/eventcatalog/src/content.config.ts +19 -2
- package/eventcatalog/src/features/auth/error.astro +4 -2
- package/eventcatalog/src/features/auth/login.astro +2 -1
- package/eventcatalog/src/features/auth/middleware/middleware-auth.ts +21 -1
- package/eventcatalog/src/features/auth/unauthorized.astro +1 -1
- package/eventcatalog/src/features/fields/pages/fields.astro +1 -1
- package/eventcatalog/src/features/integrations/eventcatalog-features.ts +13 -7
- package/eventcatalog/src/features/mcp/apps/architecture-diagram/node-chat.tsx +6 -45
- package/eventcatalog/src/features/mcp/apps/canvas/shared.ts +3 -3
- package/eventcatalog/src/features/mcp/apps/canvas/styles.css +3 -1
- package/eventcatalog/src/features/mcp/apps/canvas/view.tsx +7 -5
- package/eventcatalog/src/features/mcp/apps/generated/canvas.html +123 -98
- package/eventcatalog/src/features/mcp/apps/generated/viewer.html +118 -101
- package/eventcatalog/src/features/mcp/mcp-server.ts +20 -4
- package/eventcatalog/src/features/server/start.ts +25 -0
- package/eventcatalog/src/features/storage/database.ts +88 -0
- package/eventcatalog/src/features/storage/migrations.ts +85 -0
- package/eventcatalog/src/features/storage/sql/database.sql +5 -0
- package/eventcatalog/src/features/storage/sql/migrations/0001-studio-canvases.sql +12 -0
- package/eventcatalog/src/features/storage/sql/migrations.sql +15 -0
- package/eventcatalog/src/features/storage/sql.ts +28 -0
- package/eventcatalog/src/features/studio/agent-choreography.ts +13 -10
- package/eventcatalog/src/features/studio/agents.ts +28 -0
- package/eventcatalog/src/features/studio/api/canvases-api.ts +219 -0
- package/eventcatalog/src/features/studio/api/canvases.ts +25 -0
- package/eventcatalog/src/features/studio/api/client.ts +40 -0
- package/eventcatalog/src/features/studio/canvas-actions.ts +160 -34
- package/eventcatalog/src/features/studio/canvas-preview.ts +1 -2
- package/eventcatalog/src/features/studio/catalog.ts +16 -14
- package/eventcatalog/src/features/studio/components/CanvasHeader.tsx +274 -105
- package/eventcatalog/src/features/studio/components/CanvasStatusMenu.tsx +15 -14
- package/eventcatalog/src/features/studio/components/ConnectAgentDialog.tsx +272 -119
- package/eventcatalog/src/features/studio/components/ConnectionsChooser.tsx +1 -2
- package/eventcatalog/src/features/studio/components/DeleteCanvasDialog.tsx +65 -0
- package/eventcatalog/src/features/studio/components/Dialog.tsx +60 -0
- package/eventcatalog/src/features/studio/components/JoinForm.tsx +101 -26
- package/eventcatalog/src/features/studio/components/LeftPanel.tsx +122 -230
- package/eventcatalog/src/features/studio/components/NodeDetails.tsx +183 -0
- package/eventcatalog/src/features/studio/components/OpenInStudioDialog.tsx +79 -0
- package/eventcatalog/src/features/studio/components/Presence.tsx +52 -45
- package/eventcatalog/src/features/studio/components/ShareDialog.tsx +277 -141
- package/eventcatalog/src/features/studio/components/ShortcutsDialog.tsx +41 -0
- package/eventcatalog/src/features/studio/components/StudioDesigner.tsx +1314 -385
- package/eventcatalog/src/features/studio/components/StudioNotice.astro +24 -0
- package/eventcatalog/src/features/studio/document-name.ts +7 -0
- package/eventcatalog/src/features/studio/from-visualiser.ts +138 -0
- package/eventcatalog/src/features/studio/hooks/presence-sender.ts +19 -2
- package/eventcatalog/src/features/studio/hooks/use-canvas-webmcp.ts +9 -3
- package/eventcatalog/src/features/studio/hooks/use-comments.ts +2 -2
- package/eventcatalog/src/features/studio/hooks/use-follow-camera.ts +8 -3
- package/eventcatalog/src/features/studio/hooks/use-studio-flow.ts +244 -32
- package/eventcatalog/src/features/studio/identity.ts +25 -1
- package/eventcatalog/src/features/studio/limits.ts +2 -0
- package/eventcatalog/src/features/studio/pages/[id].astro +42 -16
- package/eventcatalog/src/features/studio/pages/index.astro +596 -373
- package/eventcatalog/src/features/studio/pages/webmcp-relay.ts +12 -15
- package/eventcatalog/src/features/studio/server/canvas-mcp.ts +8 -23
- package/eventcatalog/src/features/studio/server/runtime.ts +150 -46
- package/eventcatalog/src/features/studio/server/sql/storage.sql +18 -0
- package/eventcatalog/src/features/studio/server/storage.ts +53 -73
- package/eventcatalog/src/features/studio/webmcp-relay/LICENSE +21 -0
- package/eventcatalog/src/features/studio/webmcp-relay/README.md +5 -0
- package/eventcatalog/src/features/studio/webmcp-relay/embed.js +2 -0
- package/eventcatalog/src/features/studio/webmcp-relay/widget.html +10 -0
- package/eventcatalog/src/features/studio/webmcp-relay/widget.js +1 -0
- package/eventcatalog/src/features/tools/catalog-tools.ts +3 -1
- package/eventcatalog/src/layouts/BaseLayout.astro +4 -4
- package/eventcatalog/src/layouts/SettingsLayout.astro +2 -2
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +3 -2
- package/eventcatalog/src/pages/_index.astro +5 -342
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/_index.data.spec.ts +2 -3
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/index.astro +3 -1
- package/eventcatalog/src/pages/diagrams/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/diagrams/[id]/[version]/embed.astro +1 -0
- package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/directory/[type]/_index.data.ts +5 -7
- package/eventcatalog/src/pages/directory/[type]/index.astro +3 -1
- package/eventcatalog/src/pages/discover/[type]/_index.data.ts +5 -7
- package/eventcatalog/src/pages/discover/[type]/index.astro +3 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/[filename].astro +3 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/_[filename].data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/examples/[...filename].astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/examples/_[...filename].data.ts +0 -4
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/field-lineage/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/field-lineage/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +3 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/_[filename].data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/_index.data.spec.ts +2 -3
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename].astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/_[filename].data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/index.astro +2 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/language/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/language/index.astro +1 -0
- package/eventcatalog/src/pages/docs/custom/[...path]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/custom/[...path]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/services/[id]/[docType]/[docId]/index.astro +1 -1
- package/eventcatalog/src/pages/docs/services/[id]/[version]/resources/index.astro +1 -0
- package/eventcatalog/src/pages/docs/services/[id]/asyncapi/[filename].astro +1 -1
- package/eventcatalog/src/pages/docs/services/[id]/changelog/index.astro +1 -1
- package/eventcatalog/src/pages/docs/services/[id]/graphql/[filename].astro +1 -1
- package/eventcatalog/src/pages/docs/services/[id]/spec/[filename].astro +1 -1
- package/eventcatalog/src/pages/docs/teams/[id]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/teams/[id]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/users/[id]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/users/[id]/index.astro +1 -0
- package/eventcatalog/src/pages/index.astro +4 -2
- package/eventcatalog/src/pages/schemas/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/schemas/[type]/[id]/[version]/index.astro +9 -1
- package/eventcatalog/src/pages/schemas/explorer/_index.data.ts +0 -7
- package/eventcatalog/src/pages/schemas/explorer/index.astro +4 -2
- package/eventcatalog/src/pages/settings/license.astro +9 -1
- package/eventcatalog/src/pages/triggers/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/triggers/[type]/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/data/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/data/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/entity-map/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/entity-map/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/_index.data.ts +38 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/index.astro +18 -41
- package/eventcatalog/src/pages/visualiser/designs/[id]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/designs/[id]/index.astro +2 -1
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/entity-map/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/entity-map/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/systems-context/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/systems-context/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/context/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/context/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/types/react-syntax-highlighter.d.ts +10 -0
- package/eventcatalog/src/utils/collections/flows.ts +20 -7
- package/eventcatalog/src/utils/collections/resource-owners.ts +8 -2
- package/eventcatalog/src/utils/collections/resources.ts +2 -0
- package/eventcatalog/src/utils/collections/util.ts +8 -4
- package/eventcatalog/src/utils/git.ts +11 -0
- package/eventcatalog/src/utils/homepage-dashboard.ts +143 -0
- package/eventcatalog/src/utils/license.ts +1 -1
- package/eventcatalog/src/utils/link-validation.ts +25 -19
- package/eventcatalog/src/utils/node-graphs/domain-entity-map.ts +3 -1
- package/eventcatalog/src/utils/node-graphs/domain-levels-node-graph.ts +3 -3
- package/eventcatalog/src/utils/node-graphs/field-node-graph.ts +4 -2
- package/eventcatalog/src/utils/node-graphs/layout-node-graph.ts +20 -1
- package/eventcatalog/src/utils/node-graphs/node-resource.ts +67 -0
- package/eventcatalog/src/utils/node-graphs/systems-node-graph.ts +1 -1
- package/eventcatalog/src/utils/page-loaders/hybrid-page.ts +4 -15
- package/eventcatalog/src/utils/page-title.ts +15 -0
- package/eventcatalog/src/utils/syntax-highlighter-renderer.ts +64 -0
- package/eventcatalog/src/utils/trial.ts +13 -0
- package/package.json +12 -12
- package/dist/docs/development/ask-your-architecture/05-skills/02-installation.md +0 -60
- package/dist/docs/development/ask-your-architecture/05-skills/_category_.json +0 -11
- package/dist/docs/development/ask-your-architecture/06-slack-integration/01-introduction.md +0 -63
- package/dist/docs/development/ask-your-architecture/06-slack-integration/02-slack-app-setup.md +0 -154
- package/dist/docs/development/ask-your-architecture/06-slack-integration/03-installation.md +0 -169
- package/dist/docs/development/ask-your-architecture/06-slack-integration/04-deployment.md +0 -236
- package/dist/docs/development/ask-your-architecture/06-slack-integration/05-usage.md +0 -140
- package/dist/docs/development/ask-your-architecture/06-slack-integration/06-troubleshooting.md +0 -268
- package/dist/docs/development/ask-your-architecture/06-slack-integration/_category_.json +0 -13
- package/dist/docs/development/guides/domains/06-visualize-domains/01-domain-integration-map.md +0 -40
- package/dist/runtime-dependencies/@mcp-b__webmcp-local-relay.mjs +0 -3
- package/eventcatalog/src/features/studio/canvas-doc.ts +0 -409
- package/eventcatalog/src/features/studio/clipboard.ts +0 -97
- package/eventcatalog/src/features/studio/components/CanvasControls.tsx +0 -154
- package/eventcatalog/src/features/studio/components/Comments.tsx +0 -770
- package/eventcatalog/src/features/studio/components/ContainerChooser.tsx +0 -145
- package/eventcatalog/src/features/studio/components/DragGhost.tsx +0 -115
- package/eventcatalog/src/features/studio/components/Picture.tsx +0 -21
- package/eventcatalog/src/features/studio/components/PropertiesPanel.tsx +0 -212
- package/eventcatalog/src/features/studio/components/canvas-nodes.tsx +0 -255
- package/eventcatalog/src/features/studio/components/icons.ts +0 -53
- package/eventcatalog/src/features/studio/components/status.ts +0 -51
- package/eventcatalog/src/features/studio/edges.ts +0 -56
- package/eventcatalog/src/features/studio/flow-state.ts +0 -92
- package/eventcatalog/src/features/studio/grouping.ts +0 -226
- package/eventcatalog/src/features/studio/layout.ts +0 -42
- package/eventcatalog/src/features/studio/levels.ts +0 -282
- package/eventcatalog/src/features/studio/node-types.ts +0 -205
- package/eventcatalog/src/features/studio/pages/new.astro +0 -24
- package/eventcatalog/src/features/studio/pages/wake.ts +0 -15
- package/eventcatalog/src/features/studio/placement.ts +0 -197
- package/eventcatalog/src/features/studio/studio.css +0 -273
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1.5
|
|
3
|
+
keywords:
|
|
4
|
+
- Upgrade EventCatalog
|
|
5
|
+
- EventCatalog v5
|
|
6
|
+
sidebar_label: v5
|
|
7
|
+
title: Upgrade to EventCatalog v5
|
|
8
|
+
description: How to upgrade to EventCatalog v5.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
This guide will help you upgrade from v4 to v5 of EventCatalog. (Missed the announcement? [Read the blog post](/blog/eventcatalog-v5) to find out what's changing.)
|
|
12
|
+
|
|
13
|
+
EventCatalog v5 includes every feature in one product, moves the core to the Business Source License 1.1, and brings new visualiser diagrams with levels, flow grouping, Resources pages for more resources, and interactive diagrams in MCP clients.
|
|
14
|
+
|
|
15
|
+
## Upgrade EventCatalog
|
|
16
|
+
|
|
17
|
+
:::warning Install v5 from a clean install
|
|
18
|
+
v5 uses React 19. If you upgrade over an existing v4 install, your package manager can keep React 18 at the top of `node_modules` and give `@eventcatalog/core` its own copy of React 19. The build then fails with errors such as `Cannot read properties of null (reading 'useState')`.
|
|
19
|
+
|
|
20
|
+
Delete your installed packages and lock file before you install v5.
|
|
21
|
+
:::
|
|
22
|
+
|
|
23
|
+
1. Create a branch for the upgrade.
|
|
24
|
+
1. Delete `node_modules`, `.astro` and `.eventcatalog-core` (if you have one).
|
|
25
|
+
1. Delete your lock file: `package-lock.json`, `yarn.lock` or `pnpm-lock.yaml`.
|
|
26
|
+
1. If your `package.json` lists `react` or `react-dom`, change them to `^19.2.0`.
|
|
27
|
+
1. Install v5:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
rm -rf node_modules .astro .eventcatalog-core package-lock.json
|
|
31
|
+
npm install @eventcatalog/core@latest
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If you use yarn or pnpm, delete `yarn.lock` or `pnpm-lock.yaml` instead of `package-lock.json`, and install with that package manager.
|
|
35
|
+
|
|
36
|
+
_Problems upgrading? [Try resetting your project](/docs/development/upgrading#having-problems)._
|
|
37
|
+
|
|
38
|
+
## After you upgrade
|
|
39
|
+
|
|
40
|
+
Most v4 catalogs build on v5 without changes to their resources. The changes most likely to affect you are flow step validation, `pages/api` routes in static builds, custom React components, and links to visualiser pages.
|
|
41
|
+
|
|
42
|
+
1. Run `eventcatalog build` and fix any flow step errors it reports.
|
|
43
|
+
1. Run your catalog locally and check custom pages, custom components, custom navigation, and links to visualiser pages.
|
|
44
|
+
|
|
45
|
+
### The license has changed
|
|
46
|
+
|
|
47
|
+
`@eventcatalog/core` 5.0.0 and later is licensed under the Business Source License 1.1 (`BUSL-1.1`). Releases up to and including 4.x stay under the MIT License. Ecosystem packages, such as `@eventcatalog/create-eventcatalog`, stay MIT. The generators, integrations and plugins we publish are MIT too, and no longer need a license key. You can remove `EVENTCATALOG_LICENSE_KEY_*` variables and `licenseKey` options; they are ignored.
|
|
48
|
+
|
|
49
|
+
Read the [licensing FAQ](/license-faq) to find out whether you need a commercial license, and [pricing](/pricing) for prices. The [blog post](/blog/eventcatalog-v5) explains why the license changed.
|
|
50
|
+
|
|
51
|
+
If you have a license, add your `license.jwt` file to the catalog. See [License file](/docs/development/license/license-file).
|
|
52
|
+
|
|
53
|
+
### Every feature is included
|
|
54
|
+
|
|
55
|
+
Every feature now works without `EVENTCATALOG_SCALE_LICENSE_KEY`, a Starter or Scale plan, or a Backstage license key. This includes custom documentation, resource docs, custom pages, custom styles, the schema API and `schemas.txt`, Fields Explorer lineage, schema diffs, schema and directory sources, private remote files, analytics integrations, embedding, federation, the assistant, the MCP server, authentication and governance checks.
|
|
56
|
+
|
|
57
|
+
Federation is free for organizations that qualify for Free Use. Commercial customers need the Enterprise plan to use federation in production.
|
|
58
|
+
|
|
59
|
+
The [EventCatalog Assistant](/docs/development/ask-your-architecture/eventcatalog-assistant/what-is-eventcatalog-assistant), the [MCP server](/docs/development/ask-your-architecture/mcp-server/introduction) and [authentication](/docs/development/authentication/introduction) still need server output (`output: 'server'`) and their configuration files.
|
|
60
|
+
|
|
61
|
+
#### What do I need to do?
|
|
62
|
+
|
|
63
|
+
Nothing. You can remove `EVENTCATALOG_SCALE_LICENSE_KEY` and `EVENTCATALOG_STARTER_LICENSE_KEY` from your environment once you have a `license.jwt`. If you keep them, EventCatalog still recognizes them.
|
|
64
|
+
|
|
65
|
+
## Removed
|
|
66
|
+
|
|
67
|
+
The following features have now been entirely removed from the code base and can no longer be used.
|
|
68
|
+
|
|
69
|
+
### Removed: Billing settings page
|
|
70
|
+
|
|
71
|
+
The billing settings page (`/settings/billing`) and the upgrade prompts are removed. Your license is shown on the new **Settings > License** page.
|
|
72
|
+
|
|
73
|
+
#### What do I need to do?
|
|
74
|
+
|
|
75
|
+
Update any links to `/settings/billing` to `/settings/license`.
|
|
76
|
+
|
|
77
|
+
### Removed: Domain Integration Map
|
|
78
|
+
|
|
79
|
+
The Domain Integration Map page (`/visualiser/domain-integrations`) is removed. Level 1 of a domain's Diagram shows how domains integrate.
|
|
80
|
+
|
|
81
|
+
#### What do I need to do?
|
|
82
|
+
|
|
83
|
+
Update any custom navigation or links that point to `/visualiser/domain-integrations`.
|
|
84
|
+
|
|
85
|
+
### Removed: Data Dependency Graph
|
|
86
|
+
|
|
87
|
+
The service Data Dependency Graph (`/visualiser/services/:id/:version/data`) is removed, along with its sidebar link. Level 2 of the service's Diagram shows the same data stores and the services it talks to. The old route redirects there.
|
|
88
|
+
|
|
89
|
+
#### What do I need to do?
|
|
90
|
+
|
|
91
|
+
Nothing. Links redirect. If you embed this page, see [Changed: visualiser routes and levels](#changed-visualiser-routes-and-levels).
|
|
92
|
+
|
|
93
|
+
### Removed: Separate Resource, Context and System Diagram pages
|
|
94
|
+
|
|
95
|
+
Domains and systems now have a single **Diagram** page with three levels. The domain System Diagram (`/visualiser/domains/:id/:version/systems-context`) and the system Context Diagram (`/visualiser/systems/:id/:version/context`) redirect to level 1 of the Diagram page. The old Resource Diagram pages are replaced by the Diagram page.
|
|
96
|
+
|
|
97
|
+
#### What do I need to do?
|
|
98
|
+
|
|
99
|
+
Nothing. Links redirect. See [Changed: visualiser routes and levels](#changed-visualiser-routes-and-levels).
|
|
100
|
+
|
|
101
|
+
### Removed: Architecture overview pages
|
|
102
|
+
|
|
103
|
+
The architecture overview pages (`/architecture/{type}/{id}/{version}`) for domains, systems and services are replaced by their Resources pages. Old links redirect to the Resources page, or to the docs page when there is nothing to list. The sidebar's Architecture section no longer has an **Overview** link.
|
|
104
|
+
|
|
105
|
+
#### What do I need to do?
|
|
106
|
+
|
|
107
|
+
Nothing. Links redirect. Update custom navigation to point to `/docs/{type}/{id}/{version}/resources`.
|
|
108
|
+
|
|
109
|
+
### Removed: "Open in EventCatalog Studio" menu item
|
|
110
|
+
|
|
111
|
+
The visualiser canvas menu no longer has the **Open in EventCatalog Studio** item.
|
|
112
|
+
|
|
113
|
+
#### What do I need to do?
|
|
114
|
+
|
|
115
|
+
Remove any internal guidance that tells people to use this menu item.
|
|
116
|
+
|
|
117
|
+
### Removed: `EVENTCATALOG_SHOW_BRANDING`
|
|
118
|
+
|
|
119
|
+
The EventCatalog branding (the Discord and GitHub links in the header and the footer) is always shown. `EVENTCATALOG_SHOW_BRANDING` is no longer used.
|
|
120
|
+
|
|
121
|
+
#### What do I need to do?
|
|
122
|
+
|
|
123
|
+
Remove `EVENTCATALOG_SHOW_BRANDING` from your environment.
|
|
124
|
+
|
|
125
|
+
### Removed: `ENABLE_EMBED`
|
|
126
|
+
|
|
127
|
+
In v4, the EventCatalog CLI set `ENABLE_EMBED` from your license. `ENABLE_EMBED`, `EVENTCATALOG_STARTER` and `EVENTCATALOG_SCALE` are no longer passed to the Astro runtime. Embedding works for every catalog: add `embed=true` to a URL. See [Embed EventCatalog](/docs/development/customization/embed-eventcatalog).
|
|
128
|
+
|
|
129
|
+
#### What do I need to do?
|
|
130
|
+
|
|
131
|
+
Nothing, unless your custom code uses them. If it reads `ENABLE_EMBED`, `EVENTCATALOG_STARTER` or `EVENTCATALOG_SCALE`, or imports `isEventCatalogStarterEnabled` or `isEventCatalogScaleEnabled` from `@utils/feature`, remove those checks.
|
|
132
|
+
|
|
133
|
+
## Breaking changes
|
|
134
|
+
|
|
135
|
+
The following changes are considered breaking changes in EventCatalog v5. Breaking changes may or may not affect your catalog depending on how much you customize EventCatalog.
|
|
136
|
+
|
|
137
|
+
### Changed: visualiser routes and levels
|
|
138
|
+
|
|
139
|
+
Every diagram now has the same three levels, shown as L1, L2 and L3 in the canvas toolbar:
|
|
140
|
+
|
|
141
|
+
| Level | `?level=` | Shows |
|
|
142
|
+
| --- | --- | --- |
|
|
143
|
+
| L1 | `1` | Domains, systems and their relationships |
|
|
144
|
+
| L2 | `2` | Services and data stores |
|
|
145
|
+
| L3 | `3` | Adds messages and channels |
|
|
146
|
+
|
|
147
|
+
Domain and system diagrams live at `/visualiser/domains/:id/:version` and `/visualiser/systems/:id/:version`. Old routes redirect:
|
|
148
|
+
|
|
149
|
+
| Old route | Redirects to |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| `/visualiser/domains/:id/:version/systems-context` | `/visualiser/domains/:id/:version?level=1` |
|
|
152
|
+
| `/visualiser/systems/:id/:version/context` | `/visualiser/systems/:id/:version?level=1` |
|
|
153
|
+
| `/visualiser/services/:id/:version/data` | `/visualiser/services/:id/:version?level=2` |
|
|
154
|
+
|
|
155
|
+
#### What do I need to do?
|
|
156
|
+
|
|
157
|
+
- If you link to a diagram with `?level=`, check the value matches the new levels.
|
|
158
|
+
- Update embedded URLs that use the old routes. The redirect drops the query string, including `embed=true`.
|
|
159
|
+
- Update custom navigation that points to the old routes.
|
|
160
|
+
|
|
161
|
+
### Changed: sidebar labels
|
|
162
|
+
|
|
163
|
+
Sidebar links have been renamed:
|
|
164
|
+
|
|
165
|
+
| v4 label | v5 label |
|
|
166
|
+
| --- | --- |
|
|
167
|
+
| System Diagram (domains) | Diagram |
|
|
168
|
+
| Resource Diagram (domains and systems) | Diagram |
|
|
169
|
+
| Context Diagram (systems) | Diagram |
|
|
170
|
+
| Map | Diagram |
|
|
171
|
+
| Entity Map | Entity Diagram |
|
|
172
|
+
| System Context Map | System Context Diagram |
|
|
173
|
+
| Domain Resources | Resources |
|
|
174
|
+
| System Resources | Resources |
|
|
175
|
+
| Data Dependency Graph | Removed |
|
|
176
|
+
| Overview (in the Architecture section) | Removed |
|
|
177
|
+
|
|
178
|
+
Entity diagram pages and custom docs domain embeds also say "Diagram" instead of "Map".
|
|
179
|
+
|
|
180
|
+
#### What do I need to do?
|
|
181
|
+
|
|
182
|
+
Update screenshots, onboarding docs and training material that use the old labels.
|
|
183
|
+
|
|
184
|
+
### Changed: saved layouts for old Resource Diagrams don't carry over
|
|
185
|
+
|
|
186
|
+
Diagrams are now laid out with ELK instead of dagre, and domains and systems are laid out inside their boxes. Layouts you saved in dev mode for a domain's or system's old Resource Diagram don't carry over to the new Diagram page. Layouts saved for a system's context diagram carry over to level 1.
|
|
187
|
+
|
|
188
|
+
#### What do I need to do?
|
|
189
|
+
|
|
190
|
+
Open the diagram in `eventcatalog dev` and save the layout again if needed.
|
|
191
|
+
|
|
192
|
+
### Changed: `pages/api` routes require `output: 'server'`
|
|
193
|
+
|
|
194
|
+
Custom pages are now served for every catalog. In v4, catalogs without a Scale license skipped them. A `pages/api` directory now requires server output: a static build fails with a message instead of skipping the routes.
|
|
195
|
+
|
|
196
|
+
#### What do I need to do?
|
|
197
|
+
|
|
198
|
+
If you have a `pages/api` directory, set `output: 'server'` in `eventcatalog.config.js`, or remove the directory.
|
|
199
|
+
|
|
200
|
+
```js title="eventcatalog.config.js"
|
|
201
|
+
export default {
|
|
202
|
+
output: 'server',
|
|
203
|
+
};
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
See the [custom pages and API routes reference](/docs/development/customization/custom-pages-and-api-routes/reference).
|
|
207
|
+
|
|
208
|
+
### Changed: custom React components run on React 19
|
|
209
|
+
|
|
210
|
+
EventCatalog now uses React and React DOM 19. React components in your catalog's `components/` folder run on React 19.
|
|
211
|
+
|
|
212
|
+
#### What do I need to do?
|
|
213
|
+
|
|
214
|
+
If your `package.json` lists `react` or `react-dom`, change them to `^19.2.0` and reinstall from a clean install, as in [Upgrade EventCatalog](#upgrade-eventcatalog).
|
|
215
|
+
|
|
216
|
+
If any of your components use APIs that React 19 removed, update them:
|
|
217
|
+
|
|
218
|
+
- `defaultProps` on function components
|
|
219
|
+
- `propTypes`
|
|
220
|
+
- string refs
|
|
221
|
+
- `ReactDOM.render`
|
|
222
|
+
- `findDOMNode`
|
|
223
|
+
|
|
224
|
+
See the [custom components reference](/docs/development/components/custom-components/reference#react-components).
|
|
225
|
+
|
|
226
|
+
### Changed: header shows `repositoryUrl` next to the EventCatalog links
|
|
227
|
+
|
|
228
|
+
When [`repositoryUrl`](/docs/api/config#repositoryUrl) is set, the header shows your repository link next to the EventCatalog Discord and GitHub links, rather than in place of them.
|
|
229
|
+
|
|
230
|
+
#### What do I need to do?
|
|
231
|
+
|
|
232
|
+
Nothing.
|
|
233
|
+
|
|
234
|
+
### Changed: flow steps are validated
|
|
235
|
+
|
|
236
|
+
Mistakes in flows no longer fail silently:
|
|
237
|
+
|
|
238
|
+
- Unknown step properties fail the build. Custom properties must start with `x-`.
|
|
239
|
+
- Steps that use two node types, or both `next_step` and `next_steps`, fail with a message naming the step and what to change.
|
|
240
|
+
- A `next_step` to a step that doesn't exist, or a reference to a resource that isn't in the catalog, logs a warning naming the flow and the step.
|
|
241
|
+
- The step `type` field is still accepted, but ignored.
|
|
242
|
+
|
|
243
|
+
The [EventCatalog Linter](/docs/development/developer-tools/eventcatalog-linter) checks the same rules, and adds `refs/flow-step-exists` for next steps that aren't in the flow.
|
|
244
|
+
|
|
245
|
+
#### What do I need to do?
|
|
246
|
+
|
|
247
|
+
Run `eventcatalog build` and fix any errors. Rename custom step properties to start with `x-`:
|
|
248
|
+
|
|
249
|
+
```diff title="flows/Checkout/index.mdx"
|
|
250
|
+
steps:
|
|
251
|
+
- id: place-order
|
|
252
|
+
title: Place order
|
|
253
|
+
service:
|
|
254
|
+
id: OrderService
|
|
255
|
+
- priority: high
|
|
256
|
+
+ x-priority: high
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Changed: `@eventcatalog/visualiser` API
|
|
260
|
+
|
|
261
|
+
This only affects you if you use the `@eventcatalog/visualiser` package directly, for example to embed the visualiser in your own application.
|
|
262
|
+
|
|
263
|
+
- `layoutGraph` now returns a promise.
|
|
264
|
+
- The dagre helpers (`createDagreGraph`, `layoutDagreGraph`, `getNodesAndEdgesFromDagre`, `calculatedNodes`) are removed.
|
|
265
|
+
- Edges are drawn along the route in `data.route` when there is one.
|
|
266
|
+
- A new `@eventcatalog/visualiser/layout` entry (no React) exports `layoutWithElk`, `getNodeSize`, `hideMessageNodes`, `hideNodes`, `getMessagesLabel`, `isCarrier` and `isMessageNode`.
|
|
267
|
+
|
|
268
|
+
#### What do I need to do?
|
|
269
|
+
|
|
270
|
+
`await` calls to `layoutGraph`, and replace the dagre helpers with `layoutWithElk` from `@eventcatalog/visualiser/layout`.
|
|
271
|
+
|
|
272
|
+
## New features
|
|
273
|
+
|
|
274
|
+
The following new features and improvements have been added to EventCatalog v5.
|
|
275
|
+
|
|
276
|
+
### Diagram levels and the canvas toolbar
|
|
277
|
+
|
|
278
|
+
Every diagram has a floating canvas toolbar with the levels (L1, L2, L3), simulate messages, the minimap and fit to view. Levels a diagram doesn't have are greyed out. The level is kept in the URL, so shared links open at the same level.
|
|
279
|
+
|
|
280
|
+
Clicking a legend entry now hides or shows those nodes. The canvas menu has a **Hide messages** option.
|
|
281
|
+
|
|
282
|
+
### Domain and system Diagram pages
|
|
283
|
+
|
|
284
|
+
A domain's Diagram shows the domain with its systems and the other domains they send messages to or receive them from (L1). L2 expands the systems into their services and data stores, and L3 adds messages and channels. Subdomains are shown as domains inside the domain.
|
|
285
|
+
|
|
286
|
+

|
|
287
|
+
|
|
288
|
+

|
|
289
|
+
|
|
290
|
+
On a domain's diagram, the toolbar has **Highlight cross-domain communication**, which picks out the edges to and from other domains.
|
|
291
|
+
|
|
292
|
+
A system's Diagram shows the system context at L1, expands the system into its services at L2, and adds messages and channels at L3. Read more in [System diagrams](/docs/development/guides/systems/system-context-maps).
|
|
293
|
+
|
|
294
|
+
### Group flows by domain, system or team
|
|
295
|
+
|
|
296
|
+
Flows can group their steps by domain, system, team, or domain then system, drawn as boxes or lanes. Use the **Group by** menu (top right, or press G). Groups come from the catalog, so your flows need no changes. The choice is kept in the URL (`?group=system&groupStyle=boxes`).
|
|
297
|
+
|
|
298
|
+

|
|
299
|
+
|
|
300
|
+
To start a flow grouped in your docs, use `<Flow lanes="team" />`. See the [Flow component](/docs/development/components/components/flow).
|
|
301
|
+
|
|
302
|
+
Flows no longer show the L1/L2/L3 levels. The step-by-step walkthrough is smaller and starts at the first step: it numbers the steps walked so far, rings the current step, and offers a dropdown at branches.
|
|
303
|
+
|
|
304
|
+
### Channel flow steps
|
|
305
|
+
|
|
306
|
+
Flow steps can reference channels with `channel: { id, version }`. A step's `title` is now optional and defaults to the name of what it references. The SDK adds `FlowBuilder.addChannelStep`.
|
|
307
|
+
|
|
308
|
+
```md title="flows/Checkout/index.mdx"
|
|
309
|
+
steps:
|
|
310
|
+
- id: orders-topic
|
|
311
|
+
channel:
|
|
312
|
+
id: orders
|
|
313
|
+
version: 1.0.0
|
|
314
|
+
next_step: notify-customer
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
Read more in the [flows documentation](/docs/development/guides/resources/flows/introduction).
|
|
318
|
+
|
|
319
|
+
### Resources pages for services, flows, channels and messages
|
|
320
|
+
|
|
321
|
+
Services, flows, channels, events, commands and queries now have a Resources page, like domains and systems, linked from Quick Reference in the sidebar. Every Resources page lists the decision records (ADRs) that apply to it, and has a Relationship column (for example Sends, Receives, Reads from, Writes to) with Inbound and Outbound filters.
|
|
322
|
+
|
|
323
|
+

|
|
324
|
+
|
|
325
|
+
Read more about the [service Resources page](/docs/development/guides/resources/services/resources-page), the [message Resources page](/docs/development/guides/resources/messages/what-are-messages#resources-page) and the [channel Resources page](/docs/development/guides/resources/messages/message-channels/introduction#resources-page).
|
|
326
|
+
|
|
327
|
+
### Interactive diagrams and schemas in MCP clients
|
|
328
|
+
|
|
329
|
+
The MCP server has a new `showResource` tool. With `view: "architecture"` it returns a resource's diagram, built the same way as its Diagram page. With `view: "schema"` it shows a message's schema. In MCP clients that support MCP Apps (for example Claude, ChatGPT and VS Code) these open as interactive views. Other clients get Mermaid or the schema code.
|
|
330
|
+
|
|
331
|
+
Every MCP tool now has a title and is read-only, versions are optional, and hidden resources are not listed. Read more in [interactive diagrams and schemas](/docs/development/ask-your-architecture/mcp-server/getting-started#interactive-diagrams-and-schemas).
|
|
332
|
+
|
|
333
|
+
### Settings > MCP lists domain MCP servers
|
|
334
|
+
|
|
335
|
+
**Settings > MCP** lists each domain's MCP server next to the Catalog MCP Server, with full URLs to copy. See the [MCP server documentation](/docs/development/ask-your-architecture/mcp-server/introduction).
|
|
336
|
+
|
|
337
|
+
### License status in the CLI and Settings > License
|
|
338
|
+
|
|
339
|
+
`eventcatalog dev` and `eventcatalog build` show the catalog's license or trial in the terminal. While you run `eventcatalog dev`, the header shows the trial, or a reminder when your license is about to expire. The new **Settings > License** page shows who the catalog is licensed to and when the license expires.
|
|
340
|
+
|
|
341
|
+
Read more in [License file](/docs/development/license/license-file).
|
|
342
|
+
|
|
343
|
+
## Known issues
|
|
344
|
+
|
|
345
|
+
Please check [EventCatalog issues on GitHub](https://github.com/event-catalog/eventcatalog/issues) for any reported issues, or to file an issue yourself.
|
|
@@ -5,10 +5,6 @@ title: EventCatalog Federation
|
|
|
5
5
|
description: Combine independently owned EventCatalogs into one validated organization-wide catalog.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
EventCatalog Federation is a solution for distributed documentation across your organization. Teams document and own their services, domains, messages, ADRs, specifications, schemas, diagrams, and everything else EventCatalog supports in their own catalogs, while Federation combines them into one organization-wide view.
|
|
13
9
|
|
|
14
10
|
Each team keeps its documentation, ownership, and review workflow in its own EventCatalog project. A central catalog selects those catalogs, validates them together, and materializes their resources as one connected catalog.
|
|
@@ -128,11 +124,9 @@ npm run build
|
|
|
128
124
|
|
|
129
125
|
`eventcatalog federate` fetches, validates, and materializes the configured sources. `npm run build` renders the resulting catalog. Federation does not run automatically before `dev`, `build`, or `generate`.
|
|
130
126
|
|
|
131
|
-
:::info
|
|
132
|
-
|
|
133
|
-
EventCatalog Federation requires an EventCatalog Enterprise offline license. To try it, email [hello@eventcatalog.dev](mailto:hello@eventcatalog.dev?subject=EventCatalog%20Federation%20Trial) and we will send you an offline trial key. Save the `license.jwt` file in the root of your central catalog before running Federation.
|
|
127
|
+
:::info License
|
|
134
128
|
|
|
135
|
-
|
|
129
|
+
Federation is free for organizations that [qualify for Free Use](/license-faq), using their free license key. Commercial customers need the [Enterprise plan](/pricing). Every organization can try it during its 60-day evaluation.
|
|
136
130
|
|
|
137
131
|
:::
|
|
138
132
|
|
|
@@ -6,10 +6,6 @@ description: Create two local EventCatalog projects and combine them into one or
|
|
|
6
6
|
slug: /federation/first-federation
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
10
|
-
|
|
11
|
-
<EventCatalogEnterprise />
|
|
12
|
-
|
|
13
9
|
This tutorial takes you through the first successful Federation workflow:
|
|
14
10
|
|
|
15
11
|
1. Create a team catalog
|
|
@@ -52,9 +48,14 @@ Before you start, make sure you have:
|
|
|
52
48
|
|
|
53
49
|
- [Node.js 22 or later](https://nodejs.org/en/download/)
|
|
54
50
|
- Git installed
|
|
55
|
-
- An EventCatalog Enterprise offline license. Email [hello@eventcatalog.dev](mailto:hello@eventcatalog.dev?subject=EventCatalog%20Federation%20Trial) to request a trial key.
|
|
56
51
|
- A terminal and text editor
|
|
57
52
|
|
|
53
|
+
:::info License
|
|
54
|
+
|
|
55
|
+
Federation is free for organizations that [qualify for Free Use](/license-faq), using their free license key. Commercial customers need the [Enterprise plan](/pricing). Every organization can try it during its 60-day evaluation.
|
|
56
|
+
|
|
57
|
+
:::
|
|
58
|
+
|
|
58
59
|
Check Node and Git with:
|
|
59
60
|
|
|
60
61
|
```bash
|
|
@@ -91,19 +92,6 @@ federation-tutorial/
|
|
|
91
92
|
└── organization-catalog/
|
|
92
93
|
```
|
|
93
94
|
|
|
94
|
-
## Add your Enterprise license
|
|
95
|
-
|
|
96
|
-
Federation uses an offline Enterprise license. Save the `license.jwt` file we send you in the root of the organization catalog:
|
|
97
|
-
|
|
98
|
-
```text
|
|
99
|
-
organization-catalog/
|
|
100
|
-
├── license.jwt
|
|
101
|
-
├── eventcatalog.config.js
|
|
102
|
-
└── package.json
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
To try Federation, email [hello@eventcatalog.dev](mailto:hello@eventcatalog.dev?subject=EventCatalog%20Federation%20Trial) and ask for an offline trial key. You can commit `license.jwt` with the central catalog so it is available locally and in CI/CD. If your organization prefers not to commit it, provide the file during your CI/CD job instead.
|
|
106
|
-
|
|
107
95
|
## Configure the local source
|
|
108
96
|
|
|
109
97
|
Open `organization-catalog/eventcatalog.config.js` and add `federation.sources` to the exported configuration:
|
|
@@ -5,10 +5,6 @@ title: How EventCatalog Federation works
|
|
|
5
5
|
description: Understand how EventCatalog indexes, resolves, and materializes several catalogs into one organization view.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
EventCatalog Federation is a build-time composition process.
|
|
13
9
|
|
|
14
10
|
It reads independently owned catalogs, converts them into a common index, validates the combined graph, and writes generated catalog files that the normal EventCatalog application can render.
|
|
@@ -5,10 +5,6 @@ title: Federation lockfile and content cache
|
|
|
5
5
|
description: Understand what eventcatalog.lock records, what it does not pin, and how the Federation cache works.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
Federation writes two kinds of local state:
|
|
13
9
|
|
|
14
10
|
- `eventcatalog.lock` records the source state and managed public files from a completed run.
|
|
@@ -5,10 +5,6 @@ title: Federation MVP status and feedback
|
|
|
5
5
|
description: Understand the current Federation release boundaries and how to share useful feedback.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
EventCatalog Federation is being introduced as an initial working release for feedback.
|
|
13
9
|
|
|
14
10
|
The core workflow is ready to combine real catalogs, validate ownership, and build an organization-wide view. The first release deliberately keeps source configuration and execution explicit while EventCatalog learns how teams want to operate Federation.
|
|
@@ -5,10 +5,6 @@ title: Ownership and cross-catalog references
|
|
|
5
5
|
description: Understand how Federation assigns ownership and resolves relationships across catalog boundaries.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
Federation separates **owning a resource** from **referring to a resource**.
|
|
13
9
|
|
|
14
10
|
A catalog owns a resource when it contains the resource documentation. Other catalogs can use normal EventCatalog relationship pointers to refer to that ID without copying its definition.
|
|
@@ -5,10 +5,6 @@ title: Configure GitHub federation sources
|
|
|
5
5
|
description: Add public or private GitHub-hosted EventCatalog projects to a central catalog.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
Use this guide when the catalogs you want to federate are stored in GitHub repositories.
|
|
13
9
|
|
|
14
10
|
## Prerequisites
|
|
@@ -18,9 +14,14 @@ You need:
|
|
|
18
14
|
- A central EventCatalog project
|
|
19
15
|
- One or more EventCatalog projects in GitHub
|
|
20
16
|
- Git installed on the machine running Federation
|
|
21
|
-
- An EventCatalog Enterprise offline license. Email [hello@eventcatalog.dev](mailto:hello@eventcatalog.dev?subject=EventCatalog%20Federation%20Trial) to request a trial key.
|
|
22
17
|
- A GitHub token with read access when a repository is private
|
|
23
18
|
|
|
19
|
+
:::info License
|
|
20
|
+
|
|
21
|
+
Federation is free for organizations that [qualify for Free Use](/license-faq), using their free license key. Commercial customers need the [Enterprise plan](/pricing). Every organization can try it during its 60-day evaluation.
|
|
22
|
+
|
|
23
|
+
:::
|
|
24
|
+
|
|
24
25
|
## Add a catalog at the repository root
|
|
25
26
|
|
|
26
27
|
Add the source to `federation.sources` in the central `eventcatalog.config.js`:
|
|
@@ -5,10 +5,6 @@ title: Configure Federation validation rules
|
|
|
5
5
|
description: Change federation diagnostics to off, warn, or error for your organization.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
Federation rules work like lint rules. Every supported rule has one of three levels:
|
|
13
9
|
|
|
14
10
|
| Level | Behavior |
|
|
@@ -5,10 +5,6 @@ title: Run EventCatalog Federation in CI
|
|
|
5
5
|
description: Fetch and validate federated catalogs before building the organization catalog in CI.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
Run Federation before the normal EventCatalog build so the generated organization view exists when EventCatalog renders the site.
|
|
13
9
|
|
|
14
10
|
## Add explicit scripts
|
|
@@ -27,17 +23,14 @@ Add separate and combined scripts to the central catalog:
|
|
|
27
23
|
|
|
28
24
|
Keeping `federate` and `build` separate makes it clear which stage failed. The combined script is useful for deployment platforms that accept one build command.
|
|
29
25
|
|
|
30
|
-
## Provide
|
|
31
|
-
|
|
32
|
-
Federation requires an EventCatalog Enterprise offline license. Email [hello@eventcatalog.dev](mailto:hello@eventcatalog.dev?subject=EventCatalog%20Federation%20Trial) to request a trial key.
|
|
26
|
+
## Provide repository tokens
|
|
33
27
|
|
|
34
|
-
|
|
28
|
+
Federation is free for organizations that [qualify for Free Use](/license-faq), using their free license key. Commercial customers need the [Enterprise plan](/pricing). Every organization can try it during its 60-day evaluation.
|
|
35
29
|
|
|
36
30
|
Provide these environment variables when needed:
|
|
37
31
|
|
|
38
32
|
| Variable | When it is needed |
|
|
39
33
|
| --- | --- |
|
|
40
|
-
| `EC_LICENSE` | Optional path to the Enterprise offline license file when it is not stored at `./license.jwt` |
|
|
41
34
|
| `EVENTCATALOG_GITHUB_TOKEN` | Recommended for private GitHub sources |
|
|
42
35
|
| `GITHUB_TOKEN` | Used as a fallback when `EVENTCATALOG_GITHUB_TOKEN` is not set |
|
|
43
36
|
|
|
@@ -5,10 +5,6 @@ title: Share public assets and custom components through Federation
|
|
|
5
5
|
description: Include source catalog images, files, and custom components in the organization catalog.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
Federation includes top-level `public/` assets and `components/` custom components from source catalogs.
|
|
13
9
|
|
|
14
10
|
Use this guide when federated resource pages depend on images, downloadable files, or custom components owned by the source catalog.
|
|
@@ -5,10 +5,6 @@ title: Use local catalogs during development
|
|
|
5
5
|
description: Run the federation pipeline against catalogs on your local filesystem.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
-
|
|
10
|
-
<EventCatalogEnterprise />
|
|
11
|
-
|
|
12
8
|
Use filesystem sources to test cross-catalog relationships, ownership conflicts, rules, assets, and custom components before pushing source changes to GitHub.
|
|
13
9
|
|
|
14
10
|
## Configure a filesystem source
|
|
@@ -8,21 +8,18 @@ description: Merge multiple EventCatalog instances into a single catalog
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
11
|
-
import PluginLicense from '@site/src/components/MDX/PluginLicense';
|
|
12
11
|
import Beta from '@site/src/components/MDX/Beta';
|
|
13
|
-
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
:::warning Deprecated
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
The `@eventcatalog/generator-federation` generator is deprecated. Federation is now built into EventCatalog and runs with `eventcatalog federate`. See the [EventCatalog Federation docs](/docs/federation/overview) to get started.
|
|
18
16
|
|
|
19
|
-
This page documents the legacy
|
|
17
|
+
This page documents the legacy generator for existing users.
|
|
20
18
|
|
|
21
19
|
:::
|
|
22
20
|
|
|
23
21
|
<!-- <Beta /> -->
|
|
24
22
|
<AddedIn version="2.18.0" />
|
|
25
|
-
<PluginLicense url="#commercial-use" />
|
|
26
23
|
|
|
27
24
|
<iframe width="100%" height="415" src="https://www.youtube.com/embed/KnTQkrt-7cc?si=RjEasqw_KJ6AN4cr" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
|
28
25
|
|
|
@@ -30,7 +27,6 @@ This page documents the legacy `@eventcatalog/generator-federation` implementati
|
|
|
30
27
|
|
|
31
28
|
**EventCatalog Federation** is a feature that allows you to merge multiple EventCatalog instances into a single catalog.
|
|
32
29
|
|
|
33
|
-
|
|
34
30
|
This is useful if you:
|
|
35
31
|
|
|
36
32
|
- Have **multiple teams** that want to own there own EventCatalog / Documentation
|
|
@@ -52,8 +48,7 @@ EventCatalog Federation is powered by the [EventCatalog Federation Generator](ht
|
|
|
52
48
|
5. You use the federation generator to merge your teams catalogs into the main catalog
|
|
53
49
|
6. You setup CI/CD to keep your main catalog up to date with your teams catalogs (or just rebuild every X time)
|
|
54
50
|
|
|
55
|
-
|
|
56
|
-
You can get a free 30-day trial Scale license key for the plugin.
|
|
51
|
+
The federation generator is open source under the MIT License and doesn't need a license key.
|
|
57
52
|
|
|
58
53
|
You can read more documentation:
|
|
59
54
|
|
|
@@ -62,17 +57,4 @@ You can read more documentation:
|
|
|
62
57
|
- [Configuring your team catalogs](/docs/federation/legacy-federation/setup-team-catalog)
|
|
63
58
|
- This is the documentation for how to setup your team catalogs
|
|
64
59
|
|
|
65
|
-
## Commercial Use
|
|
66
|
-
|
|
67
|
-
This plugin requires an EventCatalog Scale license key to be used.
|
|
68
|
-
|
|
69
|
-
You can get a 30-day trial Scale license key by going to [EventCatalog Cloud](https://eventcatalog.cloud).
|
|
70
|
-
|
|
71
|
-
After the trial, you can continue using this plugin with EventCatalog Scale.
|
|
72
|
-
|
|
73
|
-
See [pricing](/pricing) for more information.
|
|
74
|
-
|
|
75
60
|
_Have any questions? You can email us at `hello@eventcatalog.dev`._
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
<a href="https://eventcatalog.cloud" target="_blank" className="bg-purple-500 hover:bg-purple-100 cursor-pointer hover:text-white !hover:underline px-2 py-1 rounded-md text-white ">Login to EventCatalog Dashboard</a>
|