@eventcatalog/core 5.0.0-beta.3 → 5.0.0-beta.31
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 +234 -134
- package/README.md +5 -5
- package/dist/analytics/analytics.cjs +18 -3
- package/dist/analytics/analytics.d.cts +1 -1
- package/dist/analytics/analytics.d.ts +1 -1
- package/dist/analytics/analytics.js +3 -2
- package/dist/analytics/log-build.cjs +160 -77
- package/dist/analytics/log-build.d.cts +2 -2
- package/dist/analytics/log-build.d.ts +2 -2
- package/dist/analytics/log-build.js +7 -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/analytics/telemetry.cjs +42 -0
- package/dist/analytics/telemetry.d.cts +20 -0
- package/dist/analytics/telemetry.d.ts +20 -0
- package/dist/analytics/telemetry.js +8 -0
- package/dist/catalog-runtime.cjs +1 -1
- package/dist/{chunk-BH2F5WPN.js → chunk-2UCCTEIH.js} +1 -1
- package/dist/{chunk-RFIXKATC.js → chunk-4G7FSRPN.js} +35 -42
- package/dist/{chunk-TQLRG35T.js → chunk-AD7CL772.js} +78 -45
- package/dist/{chunk-NDJOAITI.js → chunk-BNSLGNQI.js} +9 -3
- package/dist/chunk-CA6WCQ2T.js +54 -0
- package/dist/chunk-CPW6G62V.js +17 -0
- package/dist/{chunk-MDWB5HLO.js → chunk-NKNOXQ62.js} +1 -1
- package/dist/{chunk-423S2KHN.js → chunk-OUEGYMBA.js} +4 -2
- package/dist/{chunk-3PKS2IIP.js → chunk-OX6TSVHY.js} +1 -1
- package/dist/{chunk-36RYTYT5.js → chunk-PD7KTSYN.js} +1 -1
- package/dist/chunk-S5GWAUG5.js +29 -0
- package/dist/{chunk-GYIVJXOJ.js → chunk-WADZVNCA.js} +1 -1
- package/dist/{chunk-6OC46WQJ.js → chunk-XRFL642Z.js} +66 -35
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- 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 +531 -356
- package/dist/eventcatalog.config.d.cts +59 -1
- package/dist/eventcatalog.config.d.ts +59 -1
- package/dist/eventcatalog.js +63 -25
- package/dist/features.cjs +34 -41
- package/dist/features.js +2 -2
- 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/@hocuspocus__provider.mjs +3 -0
- package/dist/runtime-dependencies/@hocuspocus__server.mjs +3 -0
- package/dist/runtime-dependencies/@mcp-b__webmcp-local-relay.mjs +3 -0
- package/dist/runtime-dependencies/@mcp-b__webmcp-polyfill.mjs +3 -0
- package/dist/runtime-dependencies/htmlparser2.mjs +3 -0
- package/dist/runtime-dependencies/manifest.json +13 -1
- package/dist/runtime-dependencies/react-hotkeys-hook.mjs +3 -0
- package/dist/runtime-dependencies/react-syntax-highlighter__dist__cjs__create-element.js.mjs +3 -0
- package/dist/runtime-dependencies/y-protocols.mjs +3 -0
- package/dist/runtime-dependencies/y-protocols__awareness.mjs +3 -0
- package/dist/runtime-dependencies/yjs.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 +78 -45
- package/dist/utils/license-status.d.cts +15 -5
- package/dist/utils/license-status.d.ts +15 -5
- package/dist/utils/license-status.js +1 -1
- package/eventcatalog/astro.config.mjs +23 -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 +32 -0
- package/eventcatalog/src/components/CatalogGraph/CatalogForceGraph.tsx +39 -0
- package/eventcatalog/src/components/ChatPanel/ChatPanel.tsx +2 -0
- package/eventcatalog/src/components/Header.astro +3 -3
- 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 +53 -83
- package/eventcatalog/src/components/SideNav/NestedSideBar/storage.ts +2 -0
- package/eventcatalog/src/components/SideNav/NestedSideBar/utils.ts +131 -0
- 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 +10 -0
- 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 +34 -1
- package/eventcatalog/src/features/mcp/apps/architecture-diagram/node-chat.tsx +6 -45
- package/eventcatalog/src/features/mcp/apps/canvas/shared.ts +47 -0
- package/eventcatalog/src/features/mcp/apps/canvas/styles.css +24 -0
- package/eventcatalog/src/features/mcp/apps/canvas/view.tsx +278 -0
- package/eventcatalog/src/features/mcp/apps/generated/canvas.html +272 -0
- package/eventcatalog/src/features/mcp/apps/generated/viewer.html +65 -65
- package/eventcatalog/src/features/mcp/apps/shared/app-view.tsx +2 -1
- package/eventcatalog/src/features/mcp/mcp-apps.ts +6 -3
- package/eventcatalog/src/features/mcp/mcp-server.ts +36 -5
- 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 +384 -0
- 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 +540 -0
- package/eventcatalog/src/features/studio/canvas-preview.ts +52 -0
- package/eventcatalog/src/features/studio/catalog-resources.ts +155 -0
- package/eventcatalog/src/features/studio/catalog.ts +173 -0
- package/eventcatalog/src/features/studio/components/CanvasHeader.tsx +518 -0
- package/eventcatalog/src/features/studio/components/CanvasStatusMenu.tsx +118 -0
- package/eventcatalog/src/features/studio/components/ConnectAgentDialog.tsx +434 -0
- package/eventcatalog/src/features/studio/components/ConnectionsChooser.tsx +143 -0
- 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 +109 -0
- package/eventcatalog/src/features/studio/components/LeftPanel.tsx +206 -0
- 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 +293 -0
- package/eventcatalog/src/features/studio/components/ShareDialog.tsx +396 -0
- package/eventcatalog/src/features/studio/components/ShortcutsDialog.tsx +41 -0
- package/eventcatalog/src/features/studio/components/StudioDesigner.tsx +2091 -0
- 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 +63 -0
- package/eventcatalog/src/features/studio/hooks/presence-store.ts +119 -0
- package/eventcatalog/src/features/studio/hooks/use-canvas-webmcp.ts +353 -0
- package/eventcatalog/src/features/studio/hooks/use-comments.ts +54 -0
- package/eventcatalog/src/features/studio/hooks/use-follow-camera.ts +109 -0
- package/eventcatalog/src/features/studio/hooks/use-studio-flow.ts +782 -0
- package/eventcatalog/src/features/studio/identity.ts +59 -0
- package/eventcatalog/src/features/studio/limits.ts +2 -0
- package/eventcatalog/src/features/studio/pages/[id].astro +69 -0
- package/eventcatalog/src/features/studio/pages/index.astro +784 -0
- package/eventcatalog/src/features/studio/pages/webmcp-relay.ts +27 -0
- package/eventcatalog/src/features/studio/server/canvas-mcp.ts +495 -0
- package/eventcatalog/src/features/studio/server/runtime.ts +498 -0
- package/eventcatalog/src/features/studio/server/sign-in.ts +18 -0
- package/eventcatalog/src/features/studio/server/sql/storage.sql +18 -0
- package/eventcatalog/src/features/studio/server/storage.ts +90 -0
- package/eventcatalog/src/features/studio/server/tool-icons.ts +30 -0
- package/eventcatalog/src/features/studio/tool-sync.ts +75 -0
- package/eventcatalog/src/layouts/BaseLayout.astro +4 -4
- package/eventcatalog/src/layouts/SettingsLayout.astro +2 -2
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +13 -5
- 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 +1 -0
- 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/util.ts +8 -4
- package/eventcatalog/src/utils/feature.ts +8 -0
- package/eventcatalog/src/utils/git.ts +22 -5
- 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/export-mermaid.ts +0 -2
- 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 +14 -1
- package/package.json +19 -13
- package/dist/runtime-dependencies/shelljs.mjs +0 -3
- package/eventcatalog/public/studio-bg.png +0 -0
- package/eventcatalog/src/components/Studio/StudioPageModal.tsx +0 -150
- package/eventcatalog/src/pages/studio.astro +0 -316
|
@@ -48,65 +48,58 @@ var import_promises = require("fs/promises");
|
|
|
48
48
|
var import_node_fs = require("fs");
|
|
49
49
|
var import_node_path = __toESM(require("path"), 1);
|
|
50
50
|
var import_node_url = require("url");
|
|
51
|
-
var
|
|
51
|
+
var import_node_module = require("module");
|
|
52
52
|
async function cleanup(projectDirectory) {
|
|
53
53
|
const filePath = import_node_path.default.join(projectDirectory, "eventcatalog.config.mjs");
|
|
54
54
|
if ((0, import_node_fs.existsSync)(filePath)) {
|
|
55
55
|
await (0, import_promises.rm)(filePath);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
58
|
+
var hidesConfigModuleTypeWarning = false;
|
|
59
|
+
var loads = 0;
|
|
60
|
+
var hideConfigModuleTypeWarning = () => {
|
|
61
|
+
if (hidesConfigModuleTypeWarning) return;
|
|
62
|
+
hidesConfigModuleTypeWarning = true;
|
|
63
|
+
const emitWarning = process.emitWarning;
|
|
64
|
+
process.emitWarning = function(warning, ...args) {
|
|
65
|
+
const code = typeof args[0] === "object" ? args[0]?.code : args[1];
|
|
66
|
+
const message = typeof warning === "string" ? warning : warning?.message;
|
|
67
|
+
if (code === "MODULE_TYPELESS_PACKAGE_JSON" && message?.includes("eventcatalog.config.js")) return;
|
|
68
|
+
return emitWarning.call(this, warning, ...args);
|
|
69
|
+
};
|
|
71
70
|
};
|
|
72
|
-
var
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
71
|
+
var AS_MODULE_QUERY = "eventcatalog-config-as-module";
|
|
72
|
+
var loadsMarkedConfigsAsModules = false;
|
|
73
|
+
var loadMarkedConfigsAsModules = () => {
|
|
74
|
+
if (loadsMarkedConfigsAsModules) return;
|
|
75
|
+
loadsMarkedConfigsAsModules = true;
|
|
76
|
+
const hook = `export async function load(url, context, nextLoad) {
|
|
77
|
+
return nextLoad(url, url.includes('${AS_MODULE_QUERY}=') ? { ...context, format: 'module' } : context);
|
|
78
|
+
}`;
|
|
79
|
+
(0, import_node_module.register)(`data:text/javascript,${encodeURIComponent(hook)}`);
|
|
78
80
|
};
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return
|
|
81
|
+
var isCommonJSPackage = async (projectDirectory) => {
|
|
82
|
+
try {
|
|
83
|
+
const packageJson = JSON.parse(await (0, import_promises.readFile)(import_node_path.default.join(projectDirectory, "package.json"), "utf-8"));
|
|
84
|
+
return packageJson?.type === "commonjs";
|
|
85
|
+
} catch {
|
|
86
|
+
return false;
|
|
83
87
|
}
|
|
84
|
-
const tempDir = await (0, import_promises.mkdtemp)(import_node_path.default.join((0, import_node_os.tmpdir)(), "eventcatalog-config-"));
|
|
85
|
-
await linkNodeModulesIntoTempDirectory({ projectDirectory, tempDir });
|
|
86
|
-
return tempDir;
|
|
87
88
|
};
|
|
88
89
|
var getEventCatalogConfigFile = async (projectDirectory) => {
|
|
89
|
-
let tempDir;
|
|
90
90
|
try {
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
configFilePath = import_node_path.default.join(tempDir, "eventcatalog.config.mjs");
|
|
97
|
-
await (0, import_promises.copyFile)(import_node_path.default.join(projectDirectory, "eventcatalog.config.js"), configFilePath);
|
|
98
|
-
}
|
|
99
|
-
const configFileURL = `${(0, import_node_url.pathToFileURL)(configFilePath).href}?t=${Date.now()}`;
|
|
91
|
+
hideConfigModuleTypeWarning();
|
|
92
|
+
const asModule = await isCommonJSPackage(projectDirectory);
|
|
93
|
+
if (asModule) loadMarkedConfigsAsModules();
|
|
94
|
+
const configFileURL = (0, import_node_url.pathToFileURL)(import_node_path.default.join(projectDirectory, "eventcatalog.config.js")).href;
|
|
95
|
+
const query = `${asModule ? AS_MODULE_QUERY : "loaded"}=${Date.now()}-${loads++}`;
|
|
100
96
|
const config = await import(
|
|
101
97
|
/* @vite-ignore */
|
|
102
|
-
configFileURL
|
|
98
|
+
`${configFileURL}?${query}`
|
|
103
99
|
);
|
|
104
100
|
return config.default;
|
|
105
101
|
} finally {
|
|
106
102
|
await cleanup(projectDirectory);
|
|
107
|
-
if (tempDir) {
|
|
108
|
-
await (0, import_promises.rm)(tempDir, { recursive: true, force: true });
|
|
109
|
-
}
|
|
110
103
|
}
|
|
111
104
|
};
|
|
112
105
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { rm, readFile
|
|
1
|
+
import { rm, readFile } from 'node:fs/promises';
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { pathToFileURL } from 'node:url';
|
|
5
|
-
import {
|
|
5
|
+
import { register } from 'node:module';
|
|
6
6
|
|
|
7
7
|
async function cleanup(projectDirectory) {
|
|
8
8
|
const filePath = path.join(projectDirectory, 'eventcatalog.config.mjs');
|
|
@@ -11,76 +11,74 @@ async function cleanup(projectDirectory) {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
let hidesConfigModuleTypeWarning = false;
|
|
15
|
+
let loads = 0;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Node loads an eventcatalog.config.js that uses import/export as an ES module even when the catalog's
|
|
19
|
+
* package.json has no "type": "module" (a new catalog's doesn't), and warns that it had to detect it.
|
|
20
|
+
* That warning, for the config file only, is hidden: the catalog doesn't need to change anything.
|
|
21
|
+
*/
|
|
22
|
+
const hideConfigModuleTypeWarning = () => {
|
|
23
|
+
if (hidesConfigModuleTypeWarning) return;
|
|
24
|
+
hidesConfigModuleTypeWarning = true;
|
|
25
|
+
|
|
26
|
+
const emitWarning = process.emitWarning;
|
|
27
|
+
process.emitWarning = function (warning, ...args) {
|
|
28
|
+
const code = typeof args[0] === 'object' ? args[0]?.code : args[1];
|
|
29
|
+
const message = typeof warning === 'string' ? warning : warning?.message;
|
|
30
|
+
if (code === 'MODULE_TYPELESS_PACKAGE_JSON' && message?.includes('eventcatalog.config.js')) return;
|
|
31
|
+
return emitWarning.call(this, warning, ...args);
|
|
32
|
+
};
|
|
32
33
|
};
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
// Marks a config URL Node should load as an ES module, whatever the catalog's package.json says
|
|
36
|
+
const AS_MODULE_QUERY = 'eventcatalog-config-as-module';
|
|
37
|
+
let loadsMarkedConfigsAsModules = false;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Node won't load a config written with import/export in a catalog whose package.json has
|
|
41
|
+
* "type": "commonjs". A loader hook loads that config file (and only it) as an ES module.
|
|
42
|
+
*/
|
|
43
|
+
const loadMarkedConfigsAsModules = () => {
|
|
44
|
+
if (loadsMarkedConfigsAsModules) return;
|
|
45
|
+
loadsMarkedConfigsAsModules = true;
|
|
46
|
+
const hook = `export async function load(url, context, nextLoad) {
|
|
47
|
+
return nextLoad(url, url.includes('${AS_MODULE_QUERY}=') ? { ...context, format: 'module' } : context);
|
|
48
|
+
}`;
|
|
49
|
+
register(`data:text/javascript,${encodeURIComponent(hook)}`);
|
|
42
50
|
};
|
|
43
51
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Loads the catalog's eventcatalog.config.js from where it is, so paths it builds from its own location
|
|
54
|
+
* (`import.meta.url`, `import.meta.dirname`) and its relative imports point into the catalog. It was
|
|
55
|
+
* loaded from a copy in a temporary folder before, which broke them (e.g. the paths to a generator's specs).
|
|
56
|
+
*/
|
|
57
|
+
const isCommonJSPackage = async (projectDirectory) => {
|
|
58
|
+
try {
|
|
59
|
+
const packageJson = JSON.parse(await readFile(path.join(projectDirectory, 'package.json'), 'utf-8'));
|
|
60
|
+
return packageJson?.type === 'commonjs';
|
|
61
|
+
} catch {
|
|
62
|
+
return false;
|
|
49
63
|
}
|
|
50
|
-
|
|
51
|
-
const tempDir = await mkdtemp(path.join(tmpdir(), 'eventcatalog-config-'));
|
|
52
|
-
await linkNodeModulesIntoTempDirectory({ projectDirectory, tempDir });
|
|
53
|
-
return tempDir;
|
|
54
64
|
};
|
|
55
65
|
|
|
56
66
|
const getEventCatalogConfigFile = async (projectDirectory) => {
|
|
57
|
-
let tempDir;
|
|
58
|
-
|
|
59
67
|
try {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
68
|
+
hideConfigModuleTypeWarning();
|
|
69
|
+
// A catalog's config is an ES module, as it always was (with "type": "commonjs" it was loaded from an .mjs copy)
|
|
70
|
+
const asModule = await isCommonJSPackage(projectDirectory);
|
|
71
|
+
if (asModule) loadMarkedConfigsAsModules();
|
|
64
72
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
tempDir = await createTemporaryConfigDirectory(projectDirectory);
|
|
70
|
-
configFilePath = path.join(tempDir, 'eventcatalog.config.mjs');
|
|
71
|
-
await copyFile(path.join(projectDirectory, 'eventcatalog.config.js'), configFilePath);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
const configFileURL = `${pathToFileURL(configFilePath).href}?t=${Date.now()}`;
|
|
75
|
-
const config = await import(/* @vite-ignore */ configFileURL);
|
|
73
|
+
const configFileURL = pathToFileURL(path.join(projectDirectory, 'eventcatalog.config.js')).href;
|
|
74
|
+
// A new URL each time, so a changed config is loaded again (not `?t=`: Vite drops it as its own timestamp)
|
|
75
|
+
const query = `${asModule ? AS_MODULE_QUERY : 'loaded'}=${Date.now()}-${loads++}`;
|
|
76
|
+
const config = await import(/* @vite-ignore */ `${configFileURL}?${query}`);
|
|
76
77
|
|
|
77
78
|
return config.default;
|
|
78
79
|
} finally {
|
|
80
|
+
// Earlier versions loaded a copy from eventcatalog.config.mjs in the catalog: remove one left behind
|
|
79
81
|
await cleanup(projectDirectory);
|
|
80
|
-
|
|
81
|
-
if (tempDir) {
|
|
82
|
-
await rm(tempDir, { recursive: true, force: true });
|
|
83
|
-
}
|
|
84
82
|
}
|
|
85
83
|
};
|
|
86
84
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { rm, readFile
|
|
1
|
+
import { rm, readFile } from 'node:fs/promises';
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { pathToFileURL } from 'node:url';
|
|
5
|
-
import {
|
|
5
|
+
import { register } from 'node:module';
|
|
6
6
|
|
|
7
7
|
async function cleanup(projectDirectory) {
|
|
8
8
|
const filePath = path.join(projectDirectory, 'eventcatalog.config.mjs');
|
|
@@ -11,76 +11,74 @@ async function cleanup(projectDirectory) {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
let hidesConfigModuleTypeWarning = false;
|
|
15
|
+
let loads = 0;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Node loads an eventcatalog.config.js that uses import/export as an ES module even when the catalog's
|
|
19
|
+
* package.json has no "type": "module" (a new catalog's doesn't), and warns that it had to detect it.
|
|
20
|
+
* That warning, for the config file only, is hidden: the catalog doesn't need to change anything.
|
|
21
|
+
*/
|
|
22
|
+
const hideConfigModuleTypeWarning = () => {
|
|
23
|
+
if (hidesConfigModuleTypeWarning) return;
|
|
24
|
+
hidesConfigModuleTypeWarning = true;
|
|
25
|
+
|
|
26
|
+
const emitWarning = process.emitWarning;
|
|
27
|
+
process.emitWarning = function (warning, ...args) {
|
|
28
|
+
const code = typeof args[0] === 'object' ? args[0]?.code : args[1];
|
|
29
|
+
const message = typeof warning === 'string' ? warning : warning?.message;
|
|
30
|
+
if (code === 'MODULE_TYPELESS_PACKAGE_JSON' && message?.includes('eventcatalog.config.js')) return;
|
|
31
|
+
return emitWarning.call(this, warning, ...args);
|
|
32
|
+
};
|
|
32
33
|
};
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
// Marks a config URL Node should load as an ES module, whatever the catalog's package.json says
|
|
36
|
+
const AS_MODULE_QUERY = 'eventcatalog-config-as-module';
|
|
37
|
+
let loadsMarkedConfigsAsModules = false;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Node won't load a config written with import/export in a catalog whose package.json has
|
|
41
|
+
* "type": "commonjs". A loader hook loads that config file (and only it) as an ES module.
|
|
42
|
+
*/
|
|
43
|
+
const loadMarkedConfigsAsModules = () => {
|
|
44
|
+
if (loadsMarkedConfigsAsModules) return;
|
|
45
|
+
loadsMarkedConfigsAsModules = true;
|
|
46
|
+
const hook = `export async function load(url, context, nextLoad) {
|
|
47
|
+
return nextLoad(url, url.includes('${AS_MODULE_QUERY}=') ? { ...context, format: 'module' } : context);
|
|
48
|
+
}`;
|
|
49
|
+
register(`data:text/javascript,${encodeURIComponent(hook)}`);
|
|
42
50
|
};
|
|
43
51
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Loads the catalog's eventcatalog.config.js from where it is, so paths it builds from its own location
|
|
54
|
+
* (`import.meta.url`, `import.meta.dirname`) and its relative imports point into the catalog. It was
|
|
55
|
+
* loaded from a copy in a temporary folder before, which broke them (e.g. the paths to a generator's specs).
|
|
56
|
+
*/
|
|
57
|
+
const isCommonJSPackage = async (projectDirectory) => {
|
|
58
|
+
try {
|
|
59
|
+
const packageJson = JSON.parse(await readFile(path.join(projectDirectory, 'package.json'), 'utf-8'));
|
|
60
|
+
return packageJson?.type === 'commonjs';
|
|
61
|
+
} catch {
|
|
62
|
+
return false;
|
|
49
63
|
}
|
|
50
|
-
|
|
51
|
-
const tempDir = await mkdtemp(path.join(tmpdir(), 'eventcatalog-config-'));
|
|
52
|
-
await linkNodeModulesIntoTempDirectory({ projectDirectory, tempDir });
|
|
53
|
-
return tempDir;
|
|
54
64
|
};
|
|
55
65
|
|
|
56
66
|
const getEventCatalogConfigFile = async (projectDirectory) => {
|
|
57
|
-
let tempDir;
|
|
58
|
-
|
|
59
67
|
try {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
68
|
+
hideConfigModuleTypeWarning();
|
|
69
|
+
// A catalog's config is an ES module, as it always was (with "type": "commonjs" it was loaded from an .mjs copy)
|
|
70
|
+
const asModule = await isCommonJSPackage(projectDirectory);
|
|
71
|
+
if (asModule) loadMarkedConfigsAsModules();
|
|
64
72
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
tempDir = await createTemporaryConfigDirectory(projectDirectory);
|
|
70
|
-
configFilePath = path.join(tempDir, 'eventcatalog.config.mjs');
|
|
71
|
-
await copyFile(path.join(projectDirectory, 'eventcatalog.config.js'), configFilePath);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
const configFileURL = `${pathToFileURL(configFilePath).href}?t=${Date.now()}`;
|
|
75
|
-
const config = await import(/* @vite-ignore */ configFileURL);
|
|
73
|
+
const configFileURL = pathToFileURL(path.join(projectDirectory, 'eventcatalog.config.js')).href;
|
|
74
|
+
// A new URL each time, so a changed config is loaded again (not `?t=`: Vite drops it as its own timestamp)
|
|
75
|
+
const query = `${asModule ? AS_MODULE_QUERY : 'loaded'}=${Date.now()}-${loads++}`;
|
|
76
|
+
const config = await import(/* @vite-ignore */ `${configFileURL}?${query}`);
|
|
76
77
|
|
|
77
78
|
return config.default;
|
|
78
79
|
} finally {
|
|
80
|
+
// Earlier versions loaded a copy from eventcatalog.config.mjs in the catalog: remove one left behind
|
|
79
81
|
await cleanup(projectDirectory);
|
|
80
|
-
|
|
81
|
-
if (tempDir) {
|
|
82
|
-
await rm(tempDir, { recursive: true, force: true });
|
|
83
|
-
}
|
|
84
82
|
}
|
|
85
83
|
};
|
|
86
84
|
|