@eventcatalog/core 5.0.0-beta.9 → 5.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.
- 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-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-JZN4RSMF.js} +1 -1
- package/dist/{chunk-JQMYHZWI.js → chunk-NEAVAFSJ.js} +16 -8
- package/dist/{chunk-4CFZUHGG.js → chunk-NIVST4WY.js} +1 -1
- package/dist/{chunk-ENAG6UH7.js → chunk-NKNOXQ62.js} +1 -6
- package/dist/{chunk-ZEY2XUJN.js → chunk-OX6TSVHY.js} +6 -6
- package/dist/{chunk-36RYTYT5.js → chunk-PD7KTSYN.js} +1 -1
- package/dist/{chunk-EUNQJO3J.js → chunk-RE7UTPWH.js} +1 -1
- package/dist/chunk-S5GWAUG5.js +29 -0
- package/dist/{chunk-TZVDMWQX.js → chunk-YQGRMDRB.js} +4 -2
- 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 +51 -33
- 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 +5 -5
- package/dist/federation/source-provider.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 +11 -11
- 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
- package/dist/{chunk-A2RZR3U4.js → chunk-6K7XZAYI.js} +3 -3
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
FederationConflictError,
|
|
3
3
|
FederationDiagnosticError,
|
|
4
4
|
federateCatalog
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-JJPB6EOZ.js";
|
|
5
|
+
} from "../chunk-OX6TSVHY.js";
|
|
7
6
|
import "../chunk-WRNH5C3U.js";
|
|
8
7
|
import "../chunk-5EPNFDT5.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-SDZQJTJW.js";
|
|
8
|
+
import "../chunk-6K7XZAYI.js";
|
|
11
9
|
import "../chunk-352FGP6W.js";
|
|
12
10
|
import "../chunk-R7Z5ALYI.js";
|
|
13
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-JJPB6EOZ.js";
|
|
12
|
+
import "../chunk-SDZQJTJW.js";
|
|
13
|
+
import "../chunk-4G7FSRPN.js";
|
|
14
14
|
export {
|
|
15
15
|
FederationConflictError,
|
|
16
16
|
FederationDiagnosticError,
|
package/dist/generate.cjs
CHANGED
|
@@ -46,65 +46,58 @@ var import_promises = require("fs/promises");
|
|
|
46
46
|
var import_node_fs = require("fs");
|
|
47
47
|
var import_node_path = __toESM(require("path"), 1);
|
|
48
48
|
var import_node_url = require("url");
|
|
49
|
-
var
|
|
49
|
+
var import_node_module = require("module");
|
|
50
50
|
async function cleanup(projectDirectory) {
|
|
51
51
|
const filePath = import_node_path.default.join(projectDirectory, "eventcatalog.config.mjs");
|
|
52
52
|
if ((0, import_node_fs.existsSync)(filePath)) {
|
|
53
53
|
await (0, import_promises.rm)(filePath);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
var
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
56
|
+
var hidesConfigModuleTypeWarning = false;
|
|
57
|
+
var loads = 0;
|
|
58
|
+
var hideConfigModuleTypeWarning = () => {
|
|
59
|
+
if (hidesConfigModuleTypeWarning) return;
|
|
60
|
+
hidesConfigModuleTypeWarning = true;
|
|
61
|
+
const emitWarning = process.emitWarning;
|
|
62
|
+
process.emitWarning = function(warning, ...args) {
|
|
63
|
+
const code = typeof args[0] === "object" ? args[0]?.code : args[1];
|
|
64
|
+
const message = typeof warning === "string" ? warning : warning?.message;
|
|
65
|
+
if (code === "MODULE_TYPELESS_PACKAGE_JSON" && message?.includes("eventcatalog.config.js")) return;
|
|
66
|
+
return emitWarning.call(this, warning, ...args);
|
|
67
|
+
};
|
|
69
68
|
};
|
|
70
|
-
var
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
var AS_MODULE_QUERY = "eventcatalog-config-as-module";
|
|
70
|
+
var loadsMarkedConfigsAsModules = false;
|
|
71
|
+
var loadMarkedConfigsAsModules = () => {
|
|
72
|
+
if (loadsMarkedConfigsAsModules) return;
|
|
73
|
+
loadsMarkedConfigsAsModules = true;
|
|
74
|
+
const hook = `export async function load(url, context, nextLoad) {
|
|
75
|
+
return nextLoad(url, url.includes('${AS_MODULE_QUERY}=') ? { ...context, format: 'module' } : context);
|
|
76
|
+
}`;
|
|
77
|
+
(0, import_node_module.register)(`data:text/javascript,${encodeURIComponent(hook)}`);
|
|
76
78
|
};
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return
|
|
79
|
+
var isCommonJSPackage = async (projectDirectory) => {
|
|
80
|
+
try {
|
|
81
|
+
const packageJson = JSON.parse(await (0, import_promises.readFile)(import_node_path.default.join(projectDirectory, "package.json"), "utf-8"));
|
|
82
|
+
return packageJson?.type === "commonjs";
|
|
83
|
+
} catch {
|
|
84
|
+
return false;
|
|
81
85
|
}
|
|
82
|
-
const tempDir = await (0, import_promises.mkdtemp)(import_node_path.default.join((0, import_node_os.tmpdir)(), "eventcatalog-config-"));
|
|
83
|
-
await linkNodeModulesIntoTempDirectory({ projectDirectory, tempDir });
|
|
84
|
-
return tempDir;
|
|
85
86
|
};
|
|
86
87
|
var getEventCatalogConfigFile = async (projectDirectory) => {
|
|
87
|
-
let tempDir;
|
|
88
88
|
try {
|
|
89
|
-
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
configFilePath = import_node_path.default.join(tempDir, "eventcatalog.config.mjs");
|
|
95
|
-
await (0, import_promises.copyFile)(import_node_path.default.join(projectDirectory, "eventcatalog.config.js"), configFilePath);
|
|
96
|
-
}
|
|
97
|
-
const configFileURL = `${(0, import_node_url.pathToFileURL)(configFilePath).href}?t=${Date.now()}`;
|
|
89
|
+
hideConfigModuleTypeWarning();
|
|
90
|
+
const asModule = await isCommonJSPackage(projectDirectory);
|
|
91
|
+
if (asModule) loadMarkedConfigsAsModules();
|
|
92
|
+
const configFileURL = (0, import_node_url.pathToFileURL)(import_node_path.default.join(projectDirectory, "eventcatalog.config.js")).href;
|
|
93
|
+
const query = `${asModule ? AS_MODULE_QUERY : "loaded"}=${Date.now()}-${loads++}`;
|
|
98
94
|
const config = await import(
|
|
99
95
|
/* @vite-ignore */
|
|
100
|
-
configFileURL
|
|
96
|
+
`${configFileURL}?${query}`
|
|
101
97
|
);
|
|
102
98
|
return config.default;
|
|
103
99
|
} finally {
|
|
104
100
|
await cleanup(projectDirectory);
|
|
105
|
-
if (tempDir) {
|
|
106
|
-
await (0, import_promises.rm)(tempDir, { recursive: true, force: true });
|
|
107
|
-
}
|
|
108
101
|
}
|
|
109
102
|
};
|
|
110
103
|
|
|
@@ -112,7 +105,7 @@ var getEventCatalogConfigFile = async (projectDirectory) => {
|
|
|
112
105
|
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
113
106
|
|
|
114
107
|
// package.json
|
|
115
|
-
var version = "5.0.0
|
|
108
|
+
var version = "5.0.0";
|
|
116
109
|
|
|
117
110
|
// src/constants.ts
|
|
118
111
|
var VERSION = version;
|
|
@@ -226,10 +219,12 @@ var generate = async (PROJECT_DIRECTORY) => {
|
|
|
226
219
|
for (const { plugin } of errors) {
|
|
227
220
|
logger.error(` - ${plugin}`, "generator");
|
|
228
221
|
}
|
|
222
|
+
process.exitCode = 1;
|
|
229
223
|
}
|
|
230
224
|
} catch (error) {
|
|
231
225
|
console.error(error);
|
|
232
226
|
await cleanup(PROJECT_DIRECTORY);
|
|
227
|
+
process.exitCode = 1;
|
|
233
228
|
}
|
|
234
229
|
};
|
|
235
230
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/generate.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generate
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-YQGRMDRB.js";
|
|
4
|
+
import "./chunk-JZN4RSMF.js";
|
|
5
|
+
import "./chunk-RE7UTPWH.js";
|
|
6
|
+
import "./chunk-4G7FSRPN.js";
|
|
7
7
|
export {
|
|
8
8
|
generate
|
|
9
9
|
};
|
|
@@ -45,65 +45,58 @@ var import_promises = require("fs/promises");
|
|
|
45
45
|
var import_node_fs = require("fs");
|
|
46
46
|
var import_node_path = __toESM(require("path"), 1);
|
|
47
47
|
var import_node_url = require("url");
|
|
48
|
-
var
|
|
48
|
+
var import_node_module = require("module");
|
|
49
49
|
async function cleanup(projectDirectory) {
|
|
50
50
|
const filePath = import_node_path.default.join(projectDirectory, "eventcatalog.config.mjs");
|
|
51
51
|
if ((0, import_node_fs.existsSync)(filePath)) {
|
|
52
52
|
await (0, import_promises.rm)(filePath);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
55
|
+
var hidesConfigModuleTypeWarning = false;
|
|
56
|
+
var loads = 0;
|
|
57
|
+
var hideConfigModuleTypeWarning = () => {
|
|
58
|
+
if (hidesConfigModuleTypeWarning) return;
|
|
59
|
+
hidesConfigModuleTypeWarning = true;
|
|
60
|
+
const emitWarning = process.emitWarning;
|
|
61
|
+
process.emitWarning = function(warning, ...args) {
|
|
62
|
+
const code = typeof args[0] === "object" ? args[0]?.code : args[1];
|
|
63
|
+
const message = typeof warning === "string" ? warning : warning?.message;
|
|
64
|
+
if (code === "MODULE_TYPELESS_PACKAGE_JSON" && message?.includes("eventcatalog.config.js")) return;
|
|
65
|
+
return emitWarning.call(this, warning, ...args);
|
|
66
|
+
};
|
|
68
67
|
};
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
var AS_MODULE_QUERY = "eventcatalog-config-as-module";
|
|
69
|
+
var loadsMarkedConfigsAsModules = false;
|
|
70
|
+
var loadMarkedConfigsAsModules = () => {
|
|
71
|
+
if (loadsMarkedConfigsAsModules) return;
|
|
72
|
+
loadsMarkedConfigsAsModules = true;
|
|
73
|
+
const hook = `export async function load(url, context, nextLoad) {
|
|
74
|
+
return nextLoad(url, url.includes('${AS_MODULE_QUERY}=') ? { ...context, format: 'module' } : context);
|
|
75
|
+
}`;
|
|
76
|
+
(0, import_node_module.register)(`data:text/javascript,${encodeURIComponent(hook)}`);
|
|
75
77
|
};
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return
|
|
78
|
+
var isCommonJSPackage = async (projectDirectory) => {
|
|
79
|
+
try {
|
|
80
|
+
const packageJson = JSON.parse(await (0, import_promises.readFile)(import_node_path.default.join(projectDirectory, "package.json"), "utf-8"));
|
|
81
|
+
return packageJson?.type === "commonjs";
|
|
82
|
+
} catch {
|
|
83
|
+
return false;
|
|
80
84
|
}
|
|
81
|
-
const tempDir = await (0, import_promises.mkdtemp)(import_node_path.default.join((0, import_node_os.tmpdir)(), "eventcatalog-config-"));
|
|
82
|
-
await linkNodeModulesIntoTempDirectory({ projectDirectory, tempDir });
|
|
83
|
-
return tempDir;
|
|
84
85
|
};
|
|
85
86
|
var getEventCatalogConfigFile = async (projectDirectory) => {
|
|
86
|
-
let tempDir;
|
|
87
87
|
try {
|
|
88
|
-
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
configFilePath = import_node_path.default.join(tempDir, "eventcatalog.config.mjs");
|
|
94
|
-
await (0, import_promises.copyFile)(import_node_path.default.join(projectDirectory, "eventcatalog.config.js"), configFilePath);
|
|
95
|
-
}
|
|
96
|
-
const configFileURL = `${(0, import_node_url.pathToFileURL)(configFilePath).href}?t=${Date.now()}`;
|
|
88
|
+
hideConfigModuleTypeWarning();
|
|
89
|
+
const asModule = await isCommonJSPackage(projectDirectory);
|
|
90
|
+
if (asModule) loadMarkedConfigsAsModules();
|
|
91
|
+
const configFileURL = (0, import_node_url.pathToFileURL)(import_node_path.default.join(projectDirectory, "eventcatalog.config.js")).href;
|
|
92
|
+
const query = `${asModule ? AS_MODULE_QUERY : "loaded"}=${Date.now()}-${loads++}`;
|
|
97
93
|
const config = await import(
|
|
98
94
|
/* @vite-ignore */
|
|
99
|
-
configFileURL
|
|
95
|
+
`${configFileURL}?${query}`
|
|
100
96
|
);
|
|
101
97
|
return config.default;
|
|
102
98
|
} finally {
|
|
103
99
|
await cleanup(projectDirectory);
|
|
104
|
-
if (tempDir) {
|
|
105
|
-
await (0, import_promises.rm)(tempDir, { recursive: true, force: true });
|
|
106
|
-
}
|
|
107
100
|
}
|
|
108
101
|
};
|
|
109
102
|
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
"@eventcatalog/sdk": "@eventcatalog__sdk.mjs",
|
|
22
22
|
"@eventcatalog/visualiser": "@eventcatalog__visualiser.mjs",
|
|
23
23
|
"@eventcatalog/visualiser/layout": "@eventcatalog__visualiser__layout.mjs",
|
|
24
|
+
"@eventcatalog/visualiser/studio": "@eventcatalog__visualiser__studio.mjs",
|
|
25
|
+
"@eventcatalog/visualiser/studio-fonts.css": "@eventcatalog__visualiser__studio-fonts.css.mjs",
|
|
26
|
+
"@eventcatalog/visualiser/studio.css": "@eventcatalog__visualiser__studio.css.mjs",
|
|
24
27
|
"@eventcatalog/visualiser/styles-core.css": "@eventcatalog__visualiser__styles-core.css.mjs",
|
|
25
28
|
"@fontsource/inter": "@fontsource__inter.mjs",
|
|
26
29
|
"@fontsource/inter/400.css": "@fontsource__inter__400.css.mjs",
|
|
@@ -37,7 +40,6 @@
|
|
|
37
40
|
"@hocuspocus/provider": "@hocuspocus__provider.mjs",
|
|
38
41
|
"@hocuspocus/server": "@hocuspocus__server.mjs",
|
|
39
42
|
"@iconify-json/logos": "@iconify-json__logos.mjs",
|
|
40
|
-
"@mcp-b/webmcp-local-relay": "@mcp-b__webmcp-local-relay.mjs",
|
|
41
43
|
"@mcp-b/webmcp-polyfill": "@mcp-b__webmcp-polyfill.mjs",
|
|
42
44
|
"@mermaid-js/layout-elk": "@mermaid-js__layout-elk.mjs",
|
|
43
45
|
"@mermaid-js/layout-elk/dist/mermaid-layout-elk.core.mjs": "@mermaid-js__layout-elk__dist__mermaid-layout-elk.core.mjs.mjs",
|
|
@@ -91,6 +93,7 @@
|
|
|
91
93
|
"gray-matter": "gray-matter.mjs",
|
|
92
94
|
"hono": "hono.mjs",
|
|
93
95
|
"html-to-image": "html-to-image.mjs",
|
|
96
|
+
"htmlparser2": "htmlparser2.mjs",
|
|
94
97
|
"js-yaml": "js-yaml.mjs",
|
|
95
98
|
"jsonpath-plus": "jsonpath-plus.mjs",
|
|
96
99
|
"jsonwebtoken": "jsonwebtoken.mjs",
|
|
@@ -114,6 +117,7 @@
|
|
|
114
117
|
"react-hotkeys-hook": "react-hotkeys-hook.mjs",
|
|
115
118
|
"react-markdown": "react-markdown.mjs",
|
|
116
119
|
"react-syntax-highlighter": "react-syntax-highlighter.mjs",
|
|
120
|
+
"react-syntax-highlighter/dist/cjs/create-element.js": "react-syntax-highlighter__dist__cjs__create-element.js.mjs",
|
|
117
121
|
"react-syntax-highlighter/dist/cjs/styles/prism": "react-syntax-highlighter__dist__cjs__styles__prism.mjs",
|
|
118
122
|
"react-syntax-highlighter/dist/cjs/styles/prism/index.js": "react-syntax-highlighter__dist__cjs__styles__prism__index.js.mjs",
|
|
119
123
|
"react-syntax-highlighter/dist/esm/languages/prism/graphql": "react-syntax-highlighter__dist__esm__languages__prism__graphql.mjs",
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/child-process-signals.ts
|
|
21
|
+
var child_process_signals_exports = {};
|
|
22
|
+
__export(child_process_signals_exports, {
|
|
23
|
+
stopChildWithParent: () => stopChildWithParent
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(child_process_signals_exports);
|
|
26
|
+
var import_node_os = require("os");
|
|
27
|
+
var FORWARDED_SIGNALS = ["SIGINT", "SIGTERM", "SIGHUP"];
|
|
28
|
+
var isRunning = (child) => child.exitCode === null && child.signalCode === null;
|
|
29
|
+
var stopChildWithParent = (child, parent = process) => {
|
|
30
|
+
let received;
|
|
31
|
+
const onSignal = (signal) => {
|
|
32
|
+
received = signal;
|
|
33
|
+
if (isRunning(child)) child.kill(signal);
|
|
34
|
+
};
|
|
35
|
+
const onExit = () => {
|
|
36
|
+
if (isRunning(child)) child.kill("SIGTERM");
|
|
37
|
+
};
|
|
38
|
+
for (const signal of FORWARDED_SIGNALS) parent.on(signal, onSignal);
|
|
39
|
+
parent.on("exit", onExit);
|
|
40
|
+
return {
|
|
41
|
+
childClosed: () => {
|
|
42
|
+
for (const signal of FORWARDED_SIGNALS) parent.off(signal, onSignal);
|
|
43
|
+
parent.off("exit", onExit);
|
|
44
|
+
if (!received) return false;
|
|
45
|
+
parent.exit(128 + import_node_os.constants.signals[received]);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
51
|
+
0 && (module.exports = {
|
|
52
|
+
stopChildWithParent
|
|
53
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChildProcess } from 'node:child_process';
|
|
2
|
+
|
|
3
|
+
type Child = Pick<ChildProcess, 'kill' | 'exitCode' | 'signalCode'>;
|
|
4
|
+
type Parent = Pick<NodeJS.Process, 'on' | 'off' | 'exit'>;
|
|
5
|
+
/**
|
|
6
|
+
* Stops a child process along with the CLI. Without this, `kill` or a container stopping the CLI
|
|
7
|
+
* stopped the CLI only: its child (e.g. the server `eventcatalog start` runs) kept running and holding
|
|
8
|
+
* its port. A signal the CLI receives is passed to the child, which can finish what it's doing; the
|
|
9
|
+
* CLI then exits as the signal would have stopped it (128 + the signal's number). It exits explicitly
|
|
10
|
+
* rather than raising the signal again, which a container's first process (PID 1) would ignore.
|
|
11
|
+
*
|
|
12
|
+
* Call `childClosed` once the child has closed: it returns true when the CLI is exiting because of a
|
|
13
|
+
* signal, so the caller shouldn't report the child's exit as a failure.
|
|
14
|
+
*/
|
|
15
|
+
declare const stopChildWithParent: (child: Child, parent?: Parent) => {
|
|
16
|
+
childClosed: () => boolean;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { stopChildWithParent };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChildProcess } from 'node:child_process';
|
|
2
|
+
|
|
3
|
+
type Child = Pick<ChildProcess, 'kill' | 'exitCode' | 'signalCode'>;
|
|
4
|
+
type Parent = Pick<NodeJS.Process, 'on' | 'off' | 'exit'>;
|
|
5
|
+
/**
|
|
6
|
+
* Stops a child process along with the CLI. Without this, `kill` or a container stopping the CLI
|
|
7
|
+
* stopped the CLI only: its child (e.g. the server `eventcatalog start` runs) kept running and holding
|
|
8
|
+
* its port. A signal the CLI receives is passed to the child, which can finish what it's doing; the
|
|
9
|
+
* CLI then exits as the signal would have stopped it (128 + the signal's number). It exits explicitly
|
|
10
|
+
* rather than raising the signal again, which a container's first process (PID 1) would ignore.
|
|
11
|
+
*
|
|
12
|
+
* Call `childClosed` once the child has closed: it returns true when the CLI is exiting because of a
|
|
13
|
+
* signal, so the caller shouldn't report the child's exit as a failure.
|
|
14
|
+
*/
|
|
15
|
+
declare const stopChildWithParent: (child: Child, parent?: Parent) => {
|
|
16
|
+
childClosed: () => boolean;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { stopChildWithParent };
|
package/dist/utils/cli-logger.js
CHANGED
|
@@ -44,6 +44,9 @@ var import_license2 = require("@eventcatalog/license");
|
|
|
44
44
|
var TRIAL_LENGTH_DAYS = 60;
|
|
45
45
|
var LICENSE_FAQ_URL = "https://www.eventcatalog.dev/license-faq";
|
|
46
46
|
var LICENSE_RENEW_URL = "https://eventcatalog.cloud";
|
|
47
|
+
var BUY_BUSINESS_URL = "https://www.eventcatalog.dev/buy?source=cli";
|
|
48
|
+
var PRICING_URL = "https://www.eventcatalog.dev/pricing";
|
|
49
|
+
var FREE_USE_NOTE = "Under $10M revenue and $10M raised, an individual or an open-source project? You qualify for Free Use; get a free key at eventcatalog.cloud.";
|
|
47
50
|
var DAY_IN_MS = 24 * 60 * 60 * 1e3;
|
|
48
51
|
var getTrialStatus = (tsd, now = Date.now()) => {
|
|
49
52
|
if (typeof tsd !== "number" || !Number.isFinite(tsd) || tsd <= 0) return;
|
|
@@ -162,15 +165,17 @@ var formatDate = (date) => date.toLocaleDateString(void 0, { dateStyle: "medium"
|
|
|
162
165
|
var formatDays = (days) => `${days} ${days === 1 ? "day" : "days"}`;
|
|
163
166
|
var PLAIN = { bold: (text) => text, dim: (text) => text, link: (text) => text };
|
|
164
167
|
var COLOURS = { bold: import_picocolors.default.bold, dim: import_picocolors.default.dim, link: (text) => import_picocolors.default.cyan(text) };
|
|
165
|
-
var render = ({ headline, rows, links }, colours) => {
|
|
168
|
+
var render = ({ headline, rows, links, note }, colours) => {
|
|
166
169
|
const width = Math.max(0, ...[...rows, ...links].map(([label]) => label.length));
|
|
167
170
|
const row = ([label, value]) => `${colours.dim(label.padEnd(width))} ${value}`;
|
|
168
171
|
return [
|
|
169
172
|
colours.bold(headline),
|
|
170
173
|
...rows.length ? ["", ...rows.map(row)] : [],
|
|
171
|
-
...links.length ? ["", ...links.map(([label, url]) => row([label, colours.link(url)]))] : []
|
|
174
|
+
...links.length ? ["", ...links.map(([label, url]) => row([label, colours.link(url)]))] : [],
|
|
175
|
+
...note?.length ? ["", ...note.map(colours.dim)] : []
|
|
172
176
|
].join("\n");
|
|
173
177
|
};
|
|
178
|
+
var FREE_USE_LINES = FREE_USE_NOTE.split(/(?<=\?) /);
|
|
174
179
|
var message = (content) => ({
|
|
175
180
|
...content,
|
|
176
181
|
text: render(content, PLAIN)
|
|
@@ -217,7 +222,8 @@ var getLicenseStatusMessage = (license, tsd, now = Date.now()) => {
|
|
|
217
222
|
color: trial.ended ? "yellow" : "green",
|
|
218
223
|
headline: trial.ended ? "Your EventCatalog trial has ended" : `You're on the ${TRIAL_LENGTH_DAYS}-day EventCatalog trial`,
|
|
219
224
|
rows: trialRows,
|
|
220
|
-
links: trial.ended ? [["Get a license", LICENSE_RENEW_URL], licensing] : [licensing]
|
|
225
|
+
links: trial.ended ? [["Get a license", LICENSE_RENEW_URL], ["Buy Business", BUY_BUSINESS_URL], licensing] : [["Buy a license", PRICING_URL], licensing],
|
|
226
|
+
note: trial.ended ? FREE_USE_LINES : void 0
|
|
221
227
|
});
|
|
222
228
|
}
|
|
223
229
|
if (license.state === "expired") {
|
|
@@ -231,7 +237,8 @@ var getLicenseStatusMessage = (license, tsd, now = Date.now()) => {
|
|
|
231
237
|
title: "EventCatalog license",
|
|
232
238
|
color: "yellow",
|
|
233
239
|
headline: "Your commercial license has expired",
|
|
234
|
-
|
|
240
|
+
// A catalog has a license or is on the trial: an expired license is renewed, not replaced by the trial
|
|
241
|
+
rows: [...licensedTo, ...expiredOn],
|
|
235
242
|
links: [renew, licensing]
|
|
236
243
|
});
|
|
237
244
|
}
|
|
@@ -17,8 +17,8 @@ declare const getLicenseAnalytics: (license?: LicenseStatus, tsd?: unknown) => {
|
|
|
17
17
|
};
|
|
18
18
|
type Row = [label: string, value: string];
|
|
19
19
|
/**
|
|
20
|
-
* What the license box says: a headline, the facts as aligned rows ("Licensed to acme"),
|
|
21
|
-
* rows, so it can be read at a glance. `text` is the box's content without colours.
|
|
20
|
+
* What the license box says: a headline, the facts as aligned rows ("Licensed to acme"), links on their own
|
|
21
|
+
* rows, and an optional note at the end, so it can be read at a glance. `text` is the box's content without colours.
|
|
22
22
|
*/
|
|
23
23
|
type LicenseStatusMessage = {
|
|
24
24
|
title: string;
|
|
@@ -26,6 +26,7 @@ type LicenseStatusMessage = {
|
|
|
26
26
|
headline: string;
|
|
27
27
|
rows: Row[];
|
|
28
28
|
links: Row[];
|
|
29
|
+
note?: string[];
|
|
29
30
|
text: string;
|
|
30
31
|
};
|
|
31
32
|
/**
|
|
@@ -17,8 +17,8 @@ declare const getLicenseAnalytics: (license?: LicenseStatus, tsd?: unknown) => {
|
|
|
17
17
|
};
|
|
18
18
|
type Row = [label: string, value: string];
|
|
19
19
|
/**
|
|
20
|
-
* What the license box says: a headline, the facts as aligned rows ("Licensed to acme"),
|
|
21
|
-
* rows, so it can be read at a glance. `text` is the box's content without colours.
|
|
20
|
+
* What the license box says: a headline, the facts as aligned rows ("Licensed to acme"), links on their own
|
|
21
|
+
* rows, and an optional note at the end, so it can be read at a glance. `text` is the box's content without colours.
|
|
22
22
|
*/
|
|
23
23
|
type LicenseStatusMessage = {
|
|
24
24
|
title: string;
|
|
@@ -26,6 +26,7 @@ type LicenseStatusMessage = {
|
|
|
26
26
|
headline: string;
|
|
27
27
|
rows: Row[];
|
|
28
28
|
links: Row[];
|
|
29
|
+
note?: string[];
|
|
29
30
|
text: string;
|
|
30
31
|
};
|
|
31
32
|
/**
|
|
@@ -27,6 +27,7 @@ import expressiveCode from 'astro-expressive-code';
|
|
|
27
27
|
// preprocessors and the rehype plugin below load those same package defaults.
|
|
28
28
|
import expressiveCodeConfig from './ec.config.mjs';
|
|
29
29
|
import ecstudioWatcher from './integrations/ecstudio-watcher.mjs';
|
|
30
|
+
import storage from './integrations/storage.mjs';
|
|
30
31
|
import studioServer from './integrations/studio-server.mjs';
|
|
31
32
|
import eventCatalogIntegration from './src/features/integrations/eventcatalog-features.ts';
|
|
32
33
|
import eventCatalogRuntime, { getDevServerFileSystem, packageDirectory } from './integrations/eventcatalog-runtime.mjs';
|
|
@@ -34,6 +35,8 @@ import config from './src/utils/eventcatalog-config/source.ts';
|
|
|
34
35
|
import preprocessExpressiveCodeConfig from './integrations/expressive-code-config.mjs';
|
|
35
36
|
import catalogAssets from './integrations/catalog-assets.mjs';
|
|
36
37
|
import runtimeDependencies from './integrations/runtime-dependencies.mjs';
|
|
38
|
+
import stableDependencyOrder from './integrations/stable-dependency-order.mjs';
|
|
39
|
+
import skipStartupReload from './integrations/skip-startup-reload.mjs';
|
|
37
40
|
import { getRuntimePaths } from './integrations/runtime-paths.mjs';
|
|
38
41
|
import { collectClientDependencies } from './integrations/client-dependencies.mjs';
|
|
39
42
|
|
|
@@ -114,6 +117,11 @@ export default defineConfig({
|
|
|
114
117
|
|
|
115
118
|
// just turn this off for all users (for now...)
|
|
116
119
|
devToolbar: { enabled: false },
|
|
120
|
+
build: {
|
|
121
|
+
// Render several pages at once: pages wait on file reads and graph layouts, and a 640-event
|
|
122
|
+
// catalog built in ~40s rather than ~70s, with the same pages and less memory.
|
|
123
|
+
concurrency: 4,
|
|
124
|
+
},
|
|
117
125
|
|
|
118
126
|
// Unused resource types are valid. Astro otherwise warns on every getCollection()
|
|
119
127
|
// call for those empty collections ("check your content config file for errors").
|
|
@@ -140,6 +148,8 @@ export default defineConfig({
|
|
|
140
148
|
catalogAssets({ projectDirectory, generatedDirectory: join(runtimeDirectory, 'public') }),
|
|
141
149
|
effectiveOutput !== 'server' && compress && (await loadAstroCompressIntegration(projectDirectory)),
|
|
142
150
|
ecstudioWatcher(),
|
|
151
|
+
// Before Studio: its database is opened and migrated first
|
|
152
|
+
storage(),
|
|
143
153
|
studioServer(),
|
|
144
154
|
eventCatalogIntegration(),
|
|
145
155
|
linkValidation(config.linkValidation),
|
|
@@ -163,6 +173,8 @@ export default defineConfig({
|
|
|
163
173
|
},
|
|
164
174
|
plugins: [
|
|
165
175
|
runtimeDependencies(),
|
|
176
|
+
stableDependencyOrder(),
|
|
177
|
+
skipStartupReload(),
|
|
166
178
|
tailwindcss(),
|
|
167
179
|
...(await eventCatalogLikeC4(projectDirectory)),
|
|
168
180
|
...(config.trailingSlash === true ? [astroTrailingSlashEndpointFix()] : []),
|
|
@@ -221,7 +233,15 @@ export default defineConfig({
|
|
|
221
233
|
},
|
|
222
234
|
optimizeDeps: {
|
|
223
235
|
exclude: [],
|
|
224
|
-
include:
|
|
236
|
+
include: [
|
|
237
|
+
...collectClientDependencies(),
|
|
238
|
+
// <ClientRouter /> imports these from a virtual module the dependency scan can't follow,
|
|
239
|
+
// so without them every cold start re-bundles on the first page and reloads it
|
|
240
|
+
'astro/virtual-modules/transitions-events.js',
|
|
241
|
+
'astro/virtual-modules/transitions-router.js',
|
|
242
|
+
'astro/virtual-modules/transitions-swap-functions.js',
|
|
243
|
+
'astro/virtual-modules/transitions-types.js',
|
|
244
|
+
],
|
|
225
245
|
},
|
|
226
246
|
},
|
|
227
247
|
});
|