@eventcatalog/core 3.28.3 → 3.28.4

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.
@@ -37,7 +37,7 @@ var import_axios = __toESM(require("axios"), 1);
37
37
  var import_os = __toESM(require("os"), 1);
38
38
 
39
39
  // package.json
40
- var version = "3.28.3";
40
+ var version = "3.28.4";
41
41
 
42
42
  // src/constants.ts
43
43
  var VERSION = version;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  raiseEvent
3
- } from "../chunk-SBZBCN3T.js";
4
- import "../chunk-L36OEOCB.js";
3
+ } from "../chunk-34MH7O22.js";
4
+ import "../chunk-45JFXFTE.js";
5
5
  export {
6
6
  raiseEvent
7
7
  };
@@ -111,7 +111,7 @@ var import_axios = __toESM(require("axios"), 1);
111
111
  var import_os = __toESM(require("os"), 1);
112
112
 
113
113
  // package.json
114
- var version = "3.28.3";
114
+ var version = "3.28.4";
115
115
 
116
116
  // src/constants.ts
117
117
  var VERSION = version;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  log_build_default
3
- } from "../chunk-JLGWTWR4.js";
4
- import "../chunk-SBZBCN3T.js";
3
+ } from "../chunk-BGEC3Y5J.js";
4
+ import "../chunk-34MH7O22.js";
5
5
  import "../chunk-4UVFXLPI.js";
6
- import "../chunk-L36OEOCB.js";
6
+ import "../chunk-45JFXFTE.js";
7
7
  import "../chunk-5T63CXKU.js";
8
8
  export {
9
9
  log_build_default as default
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-L36OEOCB.js";
3
+ } from "./chunk-45JFXFTE.js";
4
4
 
5
5
  // src/analytics/analytics.js
6
6
  import axios from "axios";
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "3.28.3";
2
+ var version = "3.28.4";
3
3
 
4
4
  // src/constants.ts
5
5
  var VERSION = version;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-L36OEOCB.js";
3
+ } from "./chunk-45JFXFTE.js";
4
4
 
5
5
  // src/utils/cli-logger.ts
6
6
  import pc from "picocolors";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  raiseEvent
3
- } from "./chunk-SBZBCN3T.js";
3
+ } from "./chunk-34MH7O22.js";
4
4
  import {
5
5
  countResources,
6
6
  serializeCounts
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logger
3
- } from "./chunk-LLC66YM2.js";
3
+ } from "./chunk-4FMLF7P3.js";
4
4
  import {
5
5
  cleanup,
6
6
  getEventCatalogConfigFile
@@ -25,7 +25,7 @@ __export(constants_exports, {
25
25
  module.exports = __toCommonJS(constants_exports);
26
26
 
27
27
  // package.json
28
- var version = "3.28.3";
28
+ var version = "3.28.4";
29
29
 
30
30
  // src/constants.ts
31
31
  var VERSION = version;
package/dist/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-L36OEOCB.js";
3
+ } from "./chunk-45JFXFTE.js";
4
4
  export {
5
5
  VERSION
6
6
  };
@@ -114,7 +114,7 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
114
114
  var import_picocolors = __toESM(require("picocolors"), 1);
115
115
 
116
116
  // package.json
117
- var version = "3.28.3";
117
+ var version = "3.28.4";
118
118
 
119
119
  // src/constants.ts
120
120
  var VERSION = version;
@@ -6,8 +6,8 @@ import {
6
6
  } from "./chunk-PLNJC7NZ.js";
7
7
  import {
8
8
  log_build_default
9
- } from "./chunk-JLGWTWR4.js";
10
- import "./chunk-SBZBCN3T.js";
9
+ } from "./chunk-BGEC3Y5J.js";
10
+ import "./chunk-34MH7O22.js";
11
11
  import "./chunk-4UVFXLPI.js";
12
12
  import {
13
13
  runMigrations
@@ -22,13 +22,13 @@ import {
22
22
  } from "./chunk-3KXCGYET.js";
23
23
  import {
24
24
  generate
25
- } from "./chunk-KP324TGM.js";
25
+ } from "./chunk-TSBHPGIL.js";
26
26
  import {
27
27
  logger
28
- } from "./chunk-LLC66YM2.js";
28
+ } from "./chunk-4FMLF7P3.js";
29
29
  import {
30
30
  VERSION
31
- } from "./chunk-L36OEOCB.js";
31
+ } from "./chunk-45JFXFTE.js";
32
32
  import {
33
33
  getEventCatalogConfigFile,
34
34
  verifyRequiredFieldsAreInCatalogConfigFile
package/dist/generate.cjs CHANGED
@@ -78,7 +78,7 @@ var getEventCatalogConfigFile = async (projectDirectory) => {
78
78
  var import_picocolors = __toESM(require("picocolors"), 1);
79
79
 
80
80
  // package.json
81
- var version = "3.28.3";
81
+ var version = "3.28.4";
82
82
 
83
83
  // src/constants.ts
84
84
  var VERSION = version;
package/dist/generate.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  generate
3
- } from "./chunk-KP324TGM.js";
4
- import "./chunk-LLC66YM2.js";
5
- import "./chunk-L36OEOCB.js";
3
+ } from "./chunk-TSBHPGIL.js";
4
+ import "./chunk-4FMLF7P3.js";
5
+ import "./chunk-45JFXFTE.js";
6
6
  import "./chunk-5T63CXKU.js";
7
7
  export {
8
8
  generate
@@ -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 = "3.28.3";
39
+ var version = "3.28.4";
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-LLC66YM2.js";
4
- import "../chunk-L36OEOCB.js";
3
+ } from "../chunk-4FMLF7P3.js";
4
+ import "../chunk-45JFXFTE.js";
5
5
  export {
6
6
  logger
7
7
  };
@@ -19,6 +19,18 @@ interface SchemaPropertyProps {
19
19
  expand: boolean;
20
20
  }
21
21
 
22
+ // JSON Schema allows `type` to be a string or an array of strings (e.g. ["object", "null"]).
23
+ // These helpers normalise both forms so the rest of the viewer can treat type checks uniformly.
24
+ function hasType(type: any, candidate: string): boolean {
25
+ if (Array.isArray(type)) return type.includes(candidate);
26
+ return type === candidate;
27
+ }
28
+
29
+ function formatType(type: any): string {
30
+ if (Array.isArray(type)) return type.join(' | ');
31
+ return type ?? '';
32
+ }
33
+
22
34
  // Helper function to count properties recursively
23
35
  function countProperties(obj: any): number {
24
36
  if (!obj || typeof obj !== 'object') return 0;
@@ -196,7 +208,7 @@ function processSchema(schema: any, rootSchema?: any): any {
196
208
  }
197
209
 
198
210
  // Process array items
199
- if (schema.type === 'array' && schema.items) {
211
+ if (hasType(schema.type, 'array') && schema.items) {
200
212
  schema = { ...schema, items: processSchema(schema.items, root) };
201
213
  }
202
214
 
@@ -269,11 +281,11 @@ const SchemaProperty = ({ name, details, isRequired, level, isListItem = false,
269
281
  setIsExpanded(expand);
270
282
  }, [expand]);
271
283
 
272
- const hasNestedProperties = details.type === 'object' && details.properties && Object.keys(details.properties).length > 0;
273
- const hasArrayItems = details.type === 'array' && details.items;
284
+ const hasNestedProperties = hasType(details.type, 'object') && details.properties && Object.keys(details.properties).length > 0;
285
+ const hasArrayItems = hasType(details.type, 'array') && details.items;
274
286
  const hasArrayItemProperties =
275
287
  hasArrayItems &&
276
- ((details.items.type === 'object' && details.items.properties) ||
288
+ ((hasType(details.items.type, 'object') && details.items.properties) ||
277
289
  details.items.allOf ||
278
290
  details.items.oneOf ||
279
291
  details.items.anyOf ||
@@ -307,8 +319,8 @@ const SchemaProperty = ({ name, details, isRequired, level, isListItem = false,
307
319
  <div>
308
320
  <span className="font-semibold text-[rgb(var(--ec-page-text))] text-sm">{name}</span>
309
321
  <span className="ml-1.5 text-[rgb(var(--ec-accent))] font-mono text-xs">
310
- {hasVariants ? (details.variantType === 'anyOf' ? 'anyOf' : 'oneOf') : details.type}
311
- {details.type === 'array' && details.items?.type ? `[${details.items.type}]` : ''}
322
+ {hasVariants ? (details.variantType === 'anyOf' ? 'anyOf' : 'oneOf') : formatType(details.type)}
323
+ {hasType(details.type, 'array') && details.items?.type ? `[${formatType(details.items.type)}]` : ''}
312
324
  {details.format ? `<${details.format}>` : ''}
313
325
  {details._refPath && (
314
326
  <span className="text-blue-600 dark:text-blue-400 ml-1">→ {details._refName || details._refPath}</span>
@@ -513,9 +525,9 @@ export default function JSONSchemaViewer({
513
525
  let display = processedSchema;
514
526
  let isArray = false;
515
527
 
516
- if (processedSchema.type === 'array' && processedSchema.items) {
528
+ if (hasType(processedSchema.type, 'array') && processedSchema.items) {
517
529
  isArray = true;
518
- if (processedSchema.items.type === 'object' && processedSchema.items.properties) {
530
+ if (hasType(processedSchema.items.type, 'object') && processedSchema.items.properties) {
519
531
  display = {
520
532
  ...processedSchema.items,
521
533
  description: processedSchema.description || processedSchema.items.description,
@@ -838,7 +850,9 @@ export default function JSONSchemaViewer({
838
850
  <div className="text-[rgb(var(--ec-page-text-muted))] text-sm">
839
851
  <p>
840
852
  This array contains items of type:{' '}
841
- <span className="font-mono text-blue-600 dark:text-blue-400">{processedSchema.items?.type || 'unknown'}</span>
853
+ <span className="font-mono text-blue-600 dark:text-blue-400">
854
+ {processedSchema.items?.type ? formatType(processedSchema.items.type) : 'unknown'}
855
+ </span>
842
856
  </p>
843
857
  {processedSchema.items?.description && (
844
858
  <p className="text-xs mt-2 text-[rgb(var(--ec-page-text-muted))]">{processedSchema.items.description}</p>
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "license": "SEE LICENSE IN LICENSE",
9
9
  "type": "module",
10
- "version": "3.28.3",
10
+ "version": "3.28.4",
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
@@ -103,9 +103,9 @@
103
103
  "update-notifier": "^7.3.1",
104
104
  "uuid": "^10.0.0",
105
105
  "zod": "^4.3.6",
106
- "@eventcatalog/linter": "1.0.21",
107
106
  "@eventcatalog/sdk": "2.20.0",
108
- "@eventcatalog/visualiser": "^3.18.4"
107
+ "@eventcatalog/visualiser": "^3.18.4",
108
+ "@eventcatalog/linter": "1.0.21"
109
109
  },
110
110
  "devDependencies": {
111
111
  "@astrojs/check": "^0.9.8",