@eventcatalog/core 5.0.0-beta.3 → 5.0.0-beta.30
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-RFIXKATC.js → chunk-4G7FSRPN.js} +35 -42
- package/dist/{chunk-6OC46WQJ.js → chunk-55QETQZ3.js} +66 -35
- package/dist/{chunk-TQLRG35T.js → chunk-AD7CL772.js} +78 -45
- package/dist/chunk-CA6WCQ2T.js +54 -0
- package/dist/chunk-CPW6G62V.js +17 -0
- package/dist/{chunk-423S2KHN.js → chunk-FLAZ2JVN.js} +4 -2
- package/dist/{chunk-BH2F5WPN.js → chunk-GQI5UYXZ.js} +1 -1
- package/dist/{chunk-GYIVJXOJ.js → chunk-NA7OTBWW.js} +1 -1
- package/dist/{chunk-MDWB5HLO.js → chunk-NKNOXQ62.js} +1 -1
- 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-NDJOAITI.js → chunk-T3OROMAU.js} +9 -3
- 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
|
@@ -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
|
|
|
@@ -176,13 +169,27 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
|
|
|
176
169
|
var import_os = __toESM(require("os"), 1);
|
|
177
170
|
|
|
178
171
|
// package.json
|
|
179
|
-
var version = "5.0.0-beta.
|
|
172
|
+
var version = "5.0.0-beta.30";
|
|
180
173
|
|
|
181
174
|
// src/constants.ts
|
|
182
175
|
var VERSION = version;
|
|
183
176
|
|
|
177
|
+
// src/analytics/telemetry.ts
|
|
178
|
+
var TELEMETRY_REQUEST_TIMEOUT_MS = 2e3;
|
|
179
|
+
var isOptOutEnvValue = (value) => {
|
|
180
|
+
if (typeof value !== "string") return false;
|
|
181
|
+
const normalized = value.trim().toLowerCase();
|
|
182
|
+
return normalized === "1" || normalized === "true";
|
|
183
|
+
};
|
|
184
|
+
var isTelemetryDisabled = (config, env) => {
|
|
185
|
+
if (isOptOutEnvValue(env.EVENTCATALOG_TELEMETRY_DISABLED)) return true;
|
|
186
|
+
if (isOptOutEnvValue(env.DO_NOT_TRACK)) return true;
|
|
187
|
+
return config?.telemetry === false;
|
|
188
|
+
};
|
|
189
|
+
|
|
184
190
|
// src/analytics/analytics.js
|
|
185
|
-
async function raiseEvent(eventData) {
|
|
191
|
+
async function raiseEvent(eventData, config) {
|
|
192
|
+
if (isTelemetryDisabled(config, process.env)) return;
|
|
186
193
|
if (typeof eventData?.command !== "string" || typeof eventData?.cId !== "string") return;
|
|
187
194
|
const url = "https://queue.simpleanalyticscdn.com/events";
|
|
188
195
|
const userAgent = `@eventcatalog/eventcatalog@${VERSION} (${import_os.default.platform()}; ${import_os.default.arch()}; Node/${process.version})`;
|
|
@@ -204,7 +211,8 @@ async function raiseEvent(eventData) {
|
|
|
204
211
|
const response = await fetch(url, {
|
|
205
212
|
method: "POST",
|
|
206
213
|
headers,
|
|
207
|
-
body: JSON.stringify(payload)
|
|
214
|
+
body: JSON.stringify(payload),
|
|
215
|
+
signal: AbortSignal.timeout(TELEMETRY_REQUEST_TIMEOUT_MS)
|
|
208
216
|
});
|
|
209
217
|
if (!response.ok) {
|
|
210
218
|
throw new Error(`Failed to raise analytics event: ${response.status}`);
|
|
@@ -281,10 +289,12 @@ function serializeCounts(counts) {
|
|
|
281
289
|
|
|
282
290
|
// src/utils/license-status.ts
|
|
283
291
|
var import_boxen = __toESM(require("boxen"), 1);
|
|
292
|
+
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
284
293
|
var import_license2 = require("@eventcatalog/license");
|
|
285
294
|
|
|
286
295
|
// eventcatalog/src/utils/trial.ts
|
|
287
|
-
var TRIAL_LENGTH_DAYS =
|
|
296
|
+
var TRIAL_LENGTH_DAYS = 60;
|
|
297
|
+
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.";
|
|
288
298
|
var DAY_IN_MS = 24 * 60 * 60 * 1e3;
|
|
289
299
|
var getTrialStatus = (tsd, now = Date.now()) => {
|
|
290
300
|
if (typeof tsd !== "number" || !Number.isFinite(tsd) || tsd <= 0) return;
|
|
@@ -311,6 +321,57 @@ var getLicenseAnalytics = (license = { state: "none" }, tsd) => ({
|
|
|
311
321
|
licenseExpiry: "expiresAt" in license ? license.expiresAt?.getTime() : void 0,
|
|
312
322
|
trialExpiry: getTrialStatus(tsd)?.endsAt.getTime()
|
|
313
323
|
});
|
|
324
|
+
var COLOURS = { bold: import_picocolors.default.bold, dim: import_picocolors.default.dim, link: (text) => import_picocolors.default.cyan(text) };
|
|
325
|
+
var FREE_USE_LINES = FREE_USE_NOTE.split(/(?<=\?) /);
|
|
326
|
+
|
|
327
|
+
// src/analytics/studio-usage.js
|
|
328
|
+
var import_node_fs3 = __toESM(require("fs"), 1);
|
|
329
|
+
var import_node_path5 = __toESM(require("path"), 1);
|
|
330
|
+
var DAY_IN_MS3 = 24 * 60 * 60 * 1e3;
|
|
331
|
+
var DEFAULT_DATABASE_PATH = ".eventcatalog/eventcatalog.db";
|
|
332
|
+
var getStudioMode = (configFile) => {
|
|
333
|
+
const enabled = configFile.studio?.enabled;
|
|
334
|
+
if (enabled === false) return "off";
|
|
335
|
+
return configFile.output === "server" && enabled === true ? "server" : "dev";
|
|
336
|
+
};
|
|
337
|
+
var getStorageType = (configFile) => configFile.storage?.type || "memory";
|
|
338
|
+
var loadSqlite = () => {
|
|
339
|
+
const emitWarning = process.emitWarning;
|
|
340
|
+
process.emitWarning = function(warning, ...args) {
|
|
341
|
+
const type = typeof args[0] === "object" ? args[0]?.type : args[0];
|
|
342
|
+
const message = typeof warning === "string" ? warning : warning?.message;
|
|
343
|
+
if (type === "ExperimentalWarning" && message?.startsWith("SQLite")) return;
|
|
344
|
+
return emitWarning.call(this, warning, ...args);
|
|
345
|
+
};
|
|
346
|
+
try {
|
|
347
|
+
return process.getBuiltinModule?.("node:sqlite");
|
|
348
|
+
} catch {
|
|
349
|
+
return void 0;
|
|
350
|
+
} finally {
|
|
351
|
+
process.emitWarning = emitWarning;
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
var UNKNOWN = "canvases:unknown";
|
|
355
|
+
var serializeStudioUsage = (projectDirectory, configFile, now = Date.now()) => {
|
|
356
|
+
if (getStudioMode(configFile) === "off" || getStorageType(configFile) !== "sqlite") return UNKNOWN;
|
|
357
|
+
const file = import_node_path5.default.resolve(projectDirectory, configFile.storage.path ?? DEFAULT_DATABASE_PATH);
|
|
358
|
+
if (!import_node_fs3.default.existsSync(file)) return "canvases:0,changed7d:0,changed30d:0,deleted:0";
|
|
359
|
+
let database;
|
|
360
|
+
try {
|
|
361
|
+
const sqlite = loadSqlite();
|
|
362
|
+
if (!sqlite?.DatabaseSync) return UNKNOWN;
|
|
363
|
+
database = new sqlite.DatabaseSync(file, { readOnly: true });
|
|
364
|
+
const canvases = database.prepare(
|
|
365
|
+
"SELECT COUNT(*) AS total, SUM(updated_at >= ?) AS changed7d, SUM(updated_at >= ?) AS changed30d FROM studio_canvases"
|
|
366
|
+
).get(now - 7 * DAY_IN_MS3, now - 30 * DAY_IN_MS3);
|
|
367
|
+
const { deleted } = database.prepare("SELECT COUNT(*) AS deleted FROM studio_deleted_canvases").get();
|
|
368
|
+
return `canvases:${canvases.total},changed7d:${canvases.changed7d ?? 0},changed30d:${canvases.changed30d ?? 0},deleted:${deleted}`;
|
|
369
|
+
} catch {
|
|
370
|
+
return UNKNOWN;
|
|
371
|
+
} finally {
|
|
372
|
+
database?.close();
|
|
373
|
+
}
|
|
374
|
+
};
|
|
314
375
|
|
|
315
376
|
// src/analytics/log-build.js
|
|
316
377
|
var isMCPEnabled = (configFile) => configFile.output === "server" && (configFile.mcp?.enabled ?? true);
|
|
@@ -325,7 +386,9 @@ var getFeatures = async (configFile) => {
|
|
|
325
386
|
environments: Array.isArray(configFile.environments) && configFile.environments.length > 0,
|
|
326
387
|
output: configFile.output || "static",
|
|
327
388
|
mcp,
|
|
328
|
-
mcpAuth: mcp && (configFile.mcp?.auth?.enabled ?? false)
|
|
389
|
+
mcpAuth: mcp && (configFile.mcp?.auth?.enabled ?? false),
|
|
390
|
+
studio: getStudioMode(configFile),
|
|
391
|
+
storage: getStorageType(configFile)
|
|
329
392
|
};
|
|
330
393
|
};
|
|
331
394
|
var getDirectoryProvider = (source) => {
|
|
@@ -367,50 +430,70 @@ var toCloudResourceCounts = (counts) => ({
|
|
|
367
430
|
customPages: counts.customPages || 0,
|
|
368
431
|
customApis: counts.customApis || 0
|
|
369
432
|
});
|
|
370
|
-
var
|
|
433
|
+
var getEnabledCloudAnalytics = (configFile) => {
|
|
371
434
|
const analytics = configFile.cloud?.analytics;
|
|
372
|
-
if (!analytics?.enabled || !analytics.trackingId || !analytics.writeKey) return;
|
|
435
|
+
if (!analytics?.enabled || !analytics.trackingId || !analytics.writeKey) return null;
|
|
436
|
+
return analytics;
|
|
437
|
+
};
|
|
438
|
+
var reportCloudResourceInventory = async (configFile, resourceCounts) => {
|
|
439
|
+
const analytics = getEnabledCloudAnalytics(configFile);
|
|
440
|
+
if (!analytics) return;
|
|
373
441
|
const endpoint = analytics.endpoint || CLOUD_ANALYTICS_ENDPOINT;
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
442
|
+
try {
|
|
443
|
+
await fetch(endpoint, {
|
|
444
|
+
method: "POST",
|
|
445
|
+
headers: {
|
|
446
|
+
"Content-Type": "application/json",
|
|
447
|
+
"X-EventCatalog-Analytics-Key": analytics.writeKey
|
|
448
|
+
},
|
|
449
|
+
body: JSON.stringify({
|
|
450
|
+
trackingId: analytics.trackingId,
|
|
451
|
+
event: "catalog.resource_inventory_reported",
|
|
452
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
453
|
+
counts: toCloudResourceCounts(resourceCounts)
|
|
454
|
+
}),
|
|
455
|
+
signal: AbortSignal.timeout(TELEMETRY_REQUEST_TIMEOUT_MS)
|
|
456
|
+
});
|
|
457
|
+
} catch {
|
|
458
|
+
}
|
|
387
459
|
};
|
|
388
460
|
var main = async (projectDir, { command = "build", license } = {}) => {
|
|
389
461
|
try {
|
|
390
462
|
await verifyRequiredFieldsAreInCatalogConfigFile(projectDir);
|
|
391
463
|
const configFile = await getEventCatalogConfigFile(projectDir);
|
|
464
|
+
if (isTelemetryDisabled(configFile, process.env)) {
|
|
465
|
+
if (getEnabledCloudAnalytics(configFile)) {
|
|
466
|
+
const resourceCounts2 = await countResources(projectDir);
|
|
467
|
+
await reportCloudResourceInventory(configFile, resourceCounts2);
|
|
468
|
+
}
|
|
469
|
+
return;
|
|
470
|
+
}
|
|
392
471
|
const { cId, tsd, organizationName, generators = [] } = configFile;
|
|
393
472
|
const generatorNames = generators.length > 0 ? generators.map((generator) => generator[0]) : ["none"];
|
|
394
473
|
const features = await getFeatures(configFile);
|
|
395
474
|
const resourceCounts = await countResources(projectDir);
|
|
396
475
|
const contentHash = await hashCatalogContent(projectDir);
|
|
397
476
|
await reportCloudResourceInventory(configFile, resourceCounts);
|
|
398
|
-
await raiseEvent(
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
477
|
+
await raiseEvent(
|
|
478
|
+
{
|
|
479
|
+
command,
|
|
480
|
+
org: organizationName,
|
|
481
|
+
cId,
|
|
482
|
+
// Trial start date (unix ms) from eventcatalog.config.js
|
|
483
|
+
tsd,
|
|
484
|
+
// Commercial license or trial, and when each expires (unix ms)
|
|
485
|
+
...getLicenseAnalytics(license, tsd),
|
|
486
|
+
// CI redeploys and human-run builds are different signals; tag rather than suppress
|
|
487
|
+
ci: process.env.CI ? "true" : "false",
|
|
488
|
+
contentHash,
|
|
489
|
+
generators: generatorNames.toString(),
|
|
490
|
+
features: Object.keys(features).map((feature) => `${feature}:${features[feature]}`).join(","),
|
|
491
|
+
directorySources: serializeDirectorySources(configFile),
|
|
492
|
+
resources: serializeCounts(resourceCounts),
|
|
493
|
+
studio: serializeStudioUsage(projectDir, configFile)
|
|
494
|
+
},
|
|
495
|
+
configFile
|
|
496
|
+
);
|
|
414
497
|
} catch (error) {
|
|
415
498
|
}
|
|
416
499
|
};
|
|
@@ -3,10 +3,10 @@ import { L as LicenseStatus } from '../license-C1y-56bb.cjs';
|
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
5
5
|
* @param {string} projectDir
|
|
6
|
-
* @param {{ command?: 'build' | 'dev', license?: import('../utils/license-status').LicenseStatus }} [options]
|
|
6
|
+
* @param {{ command?: 'build' | 'dev' | 'start', license?: import('../utils/license-status').LicenseStatus }} [options]
|
|
7
7
|
*/
|
|
8
8
|
declare function main(projectDir: string, { command, license }?: {
|
|
9
|
-
command?: "build" | "dev";
|
|
9
|
+
command?: "build" | "dev" | "start";
|
|
10
10
|
license?: LicenseStatus;
|
|
11
11
|
}): Promise<void>;
|
|
12
12
|
|
|
@@ -3,10 +3,10 @@ import { L as LicenseStatus } from '../license-C1y-56bb.js';
|
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
5
5
|
* @param {string} projectDir
|
|
6
|
-
* @param {{ command?: 'build' | 'dev', license?: import('../utils/license-status').LicenseStatus }} [options]
|
|
6
|
+
* @param {{ command?: 'build' | 'dev' | 'start', license?: import('../utils/license-status').LicenseStatus }} [options]
|
|
7
7
|
*/
|
|
8
8
|
declare function main(projectDir: string, { command, license }?: {
|
|
9
|
-
command?: "build" | "dev";
|
|
9
|
+
command?: "build" | "dev" | "start";
|
|
10
10
|
license?: LicenseStatus;
|
|
11
11
|
}): Promise<void>;
|
|
12
12
|
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-55QETQZ3.js";
|
|
4
|
+
import "../chunk-AD7CL772.js";
|
|
5
5
|
import "../chunk-ZAZHAVKB.js";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-CA6WCQ2T.js";
|
|
7
|
+
import "../chunk-T3OROMAU.js";
|
|
8
|
+
import "../chunk-CPW6G62V.js";
|
|
9
|
+
import "../chunk-NA7OTBWW.js";
|
|
10
|
+
import "../chunk-4G7FSRPN.js";
|
|
9
11
|
export {
|
|
10
12
|
log_build_default as default
|
|
11
13
|
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/analytics/studio-usage.js
|
|
31
|
+
var studio_usage_exports = {};
|
|
32
|
+
__export(studio_usage_exports, {
|
|
33
|
+
getStorageType: () => getStorageType,
|
|
34
|
+
getStudioMode: () => getStudioMode,
|
|
35
|
+
serializeStudioUsage: () => serializeStudioUsage
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(studio_usage_exports);
|
|
38
|
+
var import_node_fs = __toESM(require("fs"), 1);
|
|
39
|
+
var import_node_path = __toESM(require("path"), 1);
|
|
40
|
+
var DAY_IN_MS = 24 * 60 * 60 * 1e3;
|
|
41
|
+
var DEFAULT_DATABASE_PATH = ".eventcatalog/eventcatalog.db";
|
|
42
|
+
var getStudioMode = (configFile) => {
|
|
43
|
+
const enabled = configFile.studio?.enabled;
|
|
44
|
+
if (enabled === false) return "off";
|
|
45
|
+
return configFile.output === "server" && enabled === true ? "server" : "dev";
|
|
46
|
+
};
|
|
47
|
+
var getStorageType = (configFile) => configFile.storage?.type || "memory";
|
|
48
|
+
var loadSqlite = () => {
|
|
49
|
+
const emitWarning = process.emitWarning;
|
|
50
|
+
process.emitWarning = function(warning, ...args) {
|
|
51
|
+
const type = typeof args[0] === "object" ? args[0]?.type : args[0];
|
|
52
|
+
const message = typeof warning === "string" ? warning : warning?.message;
|
|
53
|
+
if (type === "ExperimentalWarning" && message?.startsWith("SQLite")) return;
|
|
54
|
+
return emitWarning.call(this, warning, ...args);
|
|
55
|
+
};
|
|
56
|
+
try {
|
|
57
|
+
return process.getBuiltinModule?.("node:sqlite");
|
|
58
|
+
} catch {
|
|
59
|
+
return void 0;
|
|
60
|
+
} finally {
|
|
61
|
+
process.emitWarning = emitWarning;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
var UNKNOWN = "canvases:unknown";
|
|
65
|
+
var serializeStudioUsage = (projectDirectory, configFile, now = Date.now()) => {
|
|
66
|
+
if (getStudioMode(configFile) === "off" || getStorageType(configFile) !== "sqlite") return UNKNOWN;
|
|
67
|
+
const file = import_node_path.default.resolve(projectDirectory, configFile.storage.path ?? DEFAULT_DATABASE_PATH);
|
|
68
|
+
if (!import_node_fs.default.existsSync(file)) return "canvases:0,changed7d:0,changed30d:0,deleted:0";
|
|
69
|
+
let database;
|
|
70
|
+
try {
|
|
71
|
+
const sqlite = loadSqlite();
|
|
72
|
+
if (!sqlite?.DatabaseSync) return UNKNOWN;
|
|
73
|
+
database = new sqlite.DatabaseSync(file, { readOnly: true });
|
|
74
|
+
const canvases = database.prepare(
|
|
75
|
+
"SELECT COUNT(*) AS total, SUM(updated_at >= ?) AS changed7d, SUM(updated_at >= ?) AS changed30d FROM studio_canvases"
|
|
76
|
+
).get(now - 7 * DAY_IN_MS, now - 30 * DAY_IN_MS);
|
|
77
|
+
const { deleted } = database.prepare("SELECT COUNT(*) AS deleted FROM studio_deleted_canvases").get();
|
|
78
|
+
return `canvases:${canvases.total},changed7d:${canvases.changed7d ?? 0},changed30d:${canvases.changed30d ?? 0},deleted:${deleted}`;
|
|
79
|
+
} catch {
|
|
80
|
+
return UNKNOWN;
|
|
81
|
+
} finally {
|
|
82
|
+
database?.close();
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
86
|
+
0 && (module.exports = {
|
|
87
|
+
getStorageType,
|
|
88
|
+
getStudioMode,
|
|
89
|
+
serializeStudioUsage
|
|
90
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
declare function getStudioMode(configFile: any): "off" | "server" | "dev";
|
|
2
|
+
declare function getStorageType(configFile: any): any;
|
|
3
|
+
declare function serializeStudioUsage(projectDirectory: any, configFile: any, now?: number): string;
|
|
4
|
+
|
|
5
|
+
export { getStorageType, getStudioMode, serializeStudioUsage };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
declare function getStudioMode(configFile: any): "off" | "server" | "dev";
|
|
2
|
+
declare function getStorageType(configFile: any): any;
|
|
3
|
+
declare function serializeStudioUsage(projectDirectory: any, configFile: any, now?: number): string;
|
|
4
|
+
|
|
5
|
+
export { getStorageType, getStudioMode, serializeStudioUsage };
|
|
@@ -0,0 +1,42 @@
|
|
|
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/analytics/telemetry.ts
|
|
21
|
+
var telemetry_exports = {};
|
|
22
|
+
__export(telemetry_exports, {
|
|
23
|
+
TELEMETRY_REQUEST_TIMEOUT_MS: () => TELEMETRY_REQUEST_TIMEOUT_MS,
|
|
24
|
+
isTelemetryDisabled: () => isTelemetryDisabled
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(telemetry_exports);
|
|
27
|
+
var TELEMETRY_REQUEST_TIMEOUT_MS = 2e3;
|
|
28
|
+
var isOptOutEnvValue = (value) => {
|
|
29
|
+
if (typeof value !== "string") return false;
|
|
30
|
+
const normalized = value.trim().toLowerCase();
|
|
31
|
+
return normalized === "1" || normalized === "true";
|
|
32
|
+
};
|
|
33
|
+
var isTelemetryDisabled = (config, env) => {
|
|
34
|
+
if (isOptOutEnvValue(env.EVENTCATALOG_TELEMETRY_DISABLED)) return true;
|
|
35
|
+
if (isOptOutEnvValue(env.DO_NOT_TRACK)) return true;
|
|
36
|
+
return config?.telemetry === false;
|
|
37
|
+
};
|
|
38
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
39
|
+
0 && (module.exports = {
|
|
40
|
+
TELEMETRY_REQUEST_TIMEOUT_MS,
|
|
41
|
+
isTelemetryDisabled
|
|
42
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** How long a telemetry request may take before it is aborted. */
|
|
2
|
+
declare const TELEMETRY_REQUEST_TIMEOUT_MS = 2000;
|
|
3
|
+
type TelemetryConfig = {
|
|
4
|
+
telemetry?: boolean;
|
|
5
|
+
};
|
|
6
|
+
type TelemetryEnv = {
|
|
7
|
+
EVENTCATALOG_TELEMETRY_DISABLED?: string;
|
|
8
|
+
DO_NOT_TRACK?: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Anonymous telemetry is on unless the catalog opts out.
|
|
12
|
+
* Opt out with EVENTCATALOG_TELEMETRY_DISABLED or DO_NOT_TRACK set to "1" or "true"
|
|
13
|
+
* (any case), or with telemetry: false in eventcatalog.config.js.
|
|
14
|
+
*
|
|
15
|
+
* packages/create-eventcatalog/templates/telemetry.ts copies the env rules and
|
|
16
|
+
* TELEMETRY_REQUEST_TIMEOUT_MS. Keep that copy in sync.
|
|
17
|
+
*/
|
|
18
|
+
declare const isTelemetryDisabled: (config: TelemetryConfig | null | undefined, env: TelemetryEnv) => boolean;
|
|
19
|
+
|
|
20
|
+
export { TELEMETRY_REQUEST_TIMEOUT_MS, isTelemetryDisabled };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** How long a telemetry request may take before it is aborted. */
|
|
2
|
+
declare const TELEMETRY_REQUEST_TIMEOUT_MS = 2000;
|
|
3
|
+
type TelemetryConfig = {
|
|
4
|
+
telemetry?: boolean;
|
|
5
|
+
};
|
|
6
|
+
type TelemetryEnv = {
|
|
7
|
+
EVENTCATALOG_TELEMETRY_DISABLED?: string;
|
|
8
|
+
DO_NOT_TRACK?: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Anonymous telemetry is on unless the catalog opts out.
|
|
12
|
+
* Opt out with EVENTCATALOG_TELEMETRY_DISABLED or DO_NOT_TRACK set to "1" or "true"
|
|
13
|
+
* (any case), or with telemetry: false in eventcatalog.config.js.
|
|
14
|
+
*
|
|
15
|
+
* packages/create-eventcatalog/templates/telemetry.ts copies the env rules and
|
|
16
|
+
* TELEMETRY_REQUEST_TIMEOUT_MS. Keep that copy in sync.
|
|
17
|
+
*/
|
|
18
|
+
declare const isTelemetryDisabled: (config: TelemetryConfig | null | undefined, env: TelemetryEnv) => boolean;
|
|
19
|
+
|
|
20
|
+
export { TELEMETRY_REQUEST_TIMEOUT_MS, isTelemetryDisabled };
|
package/dist/catalog-runtime.cjs
CHANGED
|
@@ -36,7 +36,7 @@ __export(catalog_runtime_exports, {
|
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(catalog_runtime_exports);
|
|
38
38
|
|
|
39
|
-
// ../../node_modules/.pnpm/tsup@8.5.0_jiti@2.7.0_postcss@8.5.
|
|
39
|
+
// ../../node_modules/.pnpm/tsup@8.5.0_jiti@2.7.0_postcss@8.5.29_tsx@4.23.15_typescript@5.9.3_yaml@2.9.1/node_modules/tsup/assets/cjs_shims.js
|
|
40
40
|
var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
41
41
|
var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
42
42
|
|