@eventcatalog/core 5.0.2 → 5.1.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.
@@ -335,6 +335,18 @@ interface Config {
335
335
  llmsTxt?: {
336
336
  enabled: boolean;
337
337
  };
338
+ /** Files written alongside the catalog when it is built. */
339
+ exports?: {
340
+ /**
341
+ * The architecture reference: the whole catalog as one self-contained HTML file, written to
342
+ * `architecture.html` in the build output. On by default. Catalogs with auth must set `enabled: true`,
343
+ * because build output is served without auth.
344
+ * @default { enabled: true }
345
+ */
346
+ html?: {
347
+ enabled?: boolean;
348
+ };
349
+ };
338
350
  logo?: {
339
351
  alt: string;
340
352
  src: string;
@@ -335,6 +335,18 @@ interface Config {
335
335
  llmsTxt?: {
336
336
  enabled: boolean;
337
337
  };
338
+ /** Files written alongside the catalog when it is built. */
339
+ exports?: {
340
+ /**
341
+ * The architecture reference: the whole catalog as one self-contained HTML file, written to
342
+ * `architecture.html` in the build output. On by default. Catalogs with auth must set `enabled: true`,
343
+ * because build output is served without auth.
344
+ * @default { enabled: true }
345
+ */
346
+ html?: {
347
+ enabled?: boolean;
348
+ };
349
+ };
338
350
  logo?: {
339
351
  alt: string;
340
352
  src: string;
@@ -1,34 +1,36 @@
1
+ import {
2
+ stopChildWithParent
3
+ } from "./chunk-S5GWAUG5.js";
1
4
  import {
2
5
  runMigrations
3
6
  } from "./chunk-XUAF2H54.js";
4
7
  import "./chunk-CA4U2JP7.js";
5
- import {
6
- stopChildWithParent
7
- } from "./chunk-S5GWAUG5.js";
8
8
  import {
9
9
  log_build_default
10
- } from "./chunk-AI5SK4WP.js";
10
+ } from "./chunk-G3CHTDAE.js";
11
11
  import {
12
12
  getLicenseStatus,
13
13
  printLicenseStatus
14
14
  } from "./chunk-AD7CL772.js";
15
+ import "./chunk-FHZXZWCY.js";
15
16
  import "./chunk-ZAZHAVKB.js";
16
17
  import "./chunk-CA6WCQ2T.js";
18
+ import "./chunk-CPW6G62V.js";
17
19
  import {
18
20
  FederationConflictError,
19
21
  FederationDiagnosticError,
20
22
  federateCatalog
21
- } from "./chunk-OX6TSVHY.js";
23
+ } from "./chunk-QJ7KKN2D.js";
22
24
  import "./chunk-WRNH5C3U.js";
23
25
  import "./chunk-5EPNFDT5.js";
24
- import "./chunk-6K7XZAYI.js";
26
+ import "./chunk-A2RZR3U4.js";
27
+ import "./chunk-SDZQJTJW.js";
25
28
  import "./chunk-352FGP6W.js";
26
29
  import "./chunk-R7Z5ALYI.js";
27
30
  import {
28
31
  getFederationDiagnosticCounts,
29
32
  getVisibleFederationDiagnostics
30
33
  } from "./chunk-JJPB6EOZ.js";
31
- import "./chunk-SDZQJTJW.js";
32
34
  import {
33
35
  getProjectOutDir,
34
36
  isAuthEnabled,
@@ -37,10 +39,10 @@ import {
37
39
  } from "./chunk-NKNOXQ62.js";
38
40
  import {
39
41
  generate
40
- } from "./chunk-QS6PIAHG.js";
42
+ } from "./chunk-TBXLUIJD.js";
41
43
  import {
42
44
  logger
43
- } from "./chunk-D73WCJQD.js";
45
+ } from "./chunk-WBUSFEBH.js";
44
46
  import {
45
47
  resolve_catalog_dependencies_default
46
48
  } from "./chunk-PD7KTSYN.js";
@@ -54,8 +56,11 @@ import {
54
56
  import {
55
57
  watch
56
58
  } from "./chunk-U63GDPPY.js";
57
- import "./chunk-A7AVNA6M.js";
58
- import "./chunk-CPW6G62V.js";
59
+ import {
60
+ isCatalogAuthEnabled,
61
+ resolveArchitectureExport,
62
+ writeArchitectureExport
63
+ } from "./chunk-E6WTCJUL.js";
59
64
  import {
60
65
  getAstroConfigPath
61
66
  } from "./chunk-VIJJ7JKH.js";
@@ -71,7 +76,7 @@ import {
71
76
  } from "./chunk-LFQJXLHG.js";
72
77
  import {
73
78
  VERSION
74
- } from "./chunk-MSRXEI5A.js";
79
+ } from "./chunk-OT57IOWN.js";
75
80
  import {
76
81
  getEventCatalogConfigFile,
77
82
  verifyRequiredFieldsAreInCatalogConfigFile
@@ -1033,6 +1038,29 @@ program.command("build").description("Run build of EventCatalog").action(async (
1033
1038
  });
1034
1039
  logger.info(`Indexed ${result.records} page(s) into ${path2.relative(dir, result.outputPath)}`, "search");
1035
1040
  }
1041
+ const architectureExport = resolveArchitectureExport(config, {
1042
+ authEnabled: isCatalogAuthEnabled({ config, projectDir: dir, isServer })
1043
+ });
1044
+ if (architectureExport.enabled) {
1045
+ try {
1046
+ const result = await writeArchitectureExport({
1047
+ projectDir: dir,
1048
+ outDir: path2.resolve(dir, await getProjectOutDir()),
1049
+ isServer
1050
+ });
1051
+ logger.info(
1052
+ `Wrote the architecture reference to ${path2.relative(dir, result.path)} (${Math.round(result.bytes / 1024)} KB in ${result.durationMs} ms)`,
1053
+ "export"
1054
+ );
1055
+ } catch (err) {
1056
+ logger.info(`Skipped the architecture reference: ${err.message}`, "export");
1057
+ }
1058
+ } else if (architectureExport.reason === "auth") {
1059
+ logger.info(
1060
+ "Skipped the architecture reference because auth is enabled and build output is served without it. Set exports.html.enabled to true to publish it anyway.",
1061
+ "export"
1062
+ );
1063
+ }
1036
1064
  });
1037
1065
  var previewCatalog = async ({ command }) => {
1038
1066
  await runCommandWithFilteredOutput({
@@ -2,14 +2,14 @@ import {
2
2
  FederationConflictError,
3
3
  FederationDiagnosticError,
4
4
  federateCatalog
5
- } from "../chunk-OX6TSVHY.js";
5
+ } from "../chunk-QJ7KKN2D.js";
6
6
  import "../chunk-WRNH5C3U.js";
7
7
  import "../chunk-5EPNFDT5.js";
8
- import "../chunk-6K7XZAYI.js";
8
+ import "../chunk-A2RZR3U4.js";
9
+ import "../chunk-SDZQJTJW.js";
9
10
  import "../chunk-352FGP6W.js";
10
11
  import "../chunk-R7Z5ALYI.js";
11
12
  import "../chunk-JJPB6EOZ.js";
12
- import "../chunk-SDZQJTJW.js";
13
13
  import "../chunk-4G7FSRPN.js";
14
14
  export {
15
15
  FederationConflictError,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createFederationSourceProvider
3
- } from "../chunk-6K7XZAYI.js";
4
- import "../chunk-352FGP6W.js";
3
+ } from "../chunk-A2RZR3U4.js";
5
4
  import "../chunk-SDZQJTJW.js";
5
+ import "../chunk-352FGP6W.js";
6
6
  export {
7
7
  createFederationSourceProvider
8
8
  };
package/dist/generate.cjs CHANGED
@@ -105,7 +105,7 @@ var getEventCatalogConfigFile = async (projectDirectory) => {
105
105
  var import_picocolors = __toESM(require("picocolors"), 1);
106
106
 
107
107
  // package.json
108
- var version = "5.0.2";
108
+ var version = "5.1.0";
109
109
 
110
110
  // src/constants.ts
111
111
  var VERSION = version;
package/dist/generate.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  generate
3
- } from "./chunk-QS6PIAHG.js";
4
- import "./chunk-D73WCJQD.js";
5
- import "./chunk-MSRXEI5A.js";
3
+ } from "./chunk-TBXLUIJD.js";
4
+ import "./chunk-WBUSFEBH.js";
5
+ import "./chunk-OT57IOWN.js";
6
6
  import "./chunk-4G7FSRPN.js";
7
7
  export {
8
8
  generate
@@ -0,0 +1,3 @@
1
+ export * from "@eventcatalog/exporters";
2
+ import * as dependency from "@eventcatalog/exporters";
3
+ export default dependency.default;
@@ -16,6 +16,7 @@
16
16
  "@auth/core/providers/microsoft-entra-id": "@auth__core__providers__microsoft-entra-id.mjs",
17
17
  "@auth/core/providers/okta": "@auth__core__providers__okta.mjs",
18
18
  "@auth/core/types": "@auth__core__types.mjs",
19
+ "@eventcatalog/exporters": "@eventcatalog__exporters.mjs",
19
20
  "@eventcatalog/license": "@eventcatalog__license.mjs",
20
21
  "@eventcatalog/linter": "@eventcatalog__linter.mjs",
21
22
  "@eventcatalog/sdk": "@eventcatalog__sdk.mjs",
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(cli_logger_exports);
36
36
  var import_picocolors = __toESM(require("picocolors"), 1);
37
37
 
38
38
  // package.json
39
- var version = "5.0.2";
39
+ var version = "5.1.0";
40
40
 
41
41
  // src/constants.ts
42
42
  var VERSION = version;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  logger
3
- } from "../chunk-D73WCJQD.js";
4
- import "../chunk-MSRXEI5A.js";
3
+ } from "../chunk-WBUSFEBH.js";
4
+ import "../chunk-OT57IOWN.js";
5
5
  export {
6
6
  logger
7
7
  };
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "license": "BUSL-1.1",
9
9
  "type": "module",
10
- "version": "5.0.2",
10
+ "version": "5.1.0",
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
@@ -140,9 +140,10 @@
140
140
  "y-protocols": "^1.0.7",
141
141
  "yjs": "^13.6.33",
142
142
  "zod": "^4.6.6",
143
+ "@eventcatalog/exporters": "0.0.2",
143
144
  "@eventcatalog/linter": "1.2.1",
144
- "@eventcatalog/visualiser": "^5.0.0",
145
- "@eventcatalog/sdk": "2.30.0"
145
+ "@eventcatalog/sdk": "2.30.0",
146
+ "@eventcatalog/visualiser": "^5.0.0"
146
147
  },
147
148
  "devDependencies": {
148
149
  "@astrojs/check": "^0.9.10",
@@ -1,9 +1,9 @@
1
- import {
2
- createGitHubSourceProvider
3
- } from "./chunk-352FGP6W.js";
4
1
  import {
5
2
  createFileSystemSourceProvider
6
3
  } from "./chunk-SDZQJTJW.js";
4
+ import {
5
+ createGitHubSourceProvider
6
+ } from "./chunk-352FGP6W.js";
7
7
 
8
8
  // src/federation/source-provider.ts
9
9
  var createFederationSourceProvider = (projectDirectory, providers = {}) => {