@eventcatalog/core 4.12.0-beta.8 → 4.12.0-beta.9
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/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-3ZWYGVW6.js → chunk-4S47JELQ.js} +1 -1
- package/dist/{chunk-2VXWWWTT.js → chunk-GNFKUOXD.js} +1 -1
- package/dist/{chunk-AP3ENLC2.js → chunk-K3DWGBGQ.js} +1 -1
- package/dist/{chunk-5HXYLZWD.js → chunk-UIHG2TPV.js} +1 -1
- package/dist/{chunk-WR5Q4QXI.js → chunk-YOIPWS7L.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.js +10 -10
- package/dist/federation/federate.js +2 -2
- package/dist/generate.cjs +1 -1
- package/dist/generate.js +3 -3
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/eventcatalog/src/components/Badge.astro +63 -56
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/_index.data.ts +2 -11
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/index.astro +5 -40
- package/eventcatalog/src/utils/badge-styles.ts +8 -4
- package/eventcatalog/src/utils/changelog-resource-badge.ts +52 -0
- package/package.json +1 -1
|
@@ -176,7 +176,7 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
|
|
|
176
176
|
var import_os = __toESM(require("os"), 1);
|
|
177
177
|
|
|
178
178
|
// package.json
|
|
179
|
-
var version = "4.12.0-beta.
|
|
179
|
+
var version = "4.12.0-beta.9";
|
|
180
180
|
|
|
181
181
|
// src/constants.ts
|
|
182
182
|
var VERSION = version;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-4S47JELQ.js";
|
|
4
4
|
import "../chunk-ZAZHAVKB.js";
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-YOIPWS7L.js";
|
|
6
|
+
import "../chunk-UIHG2TPV.js";
|
|
7
7
|
import "../chunk-RFIXKATC.js";
|
|
8
8
|
export {
|
|
9
9
|
log_build_default as default
|
package/dist/constants.cjs
CHANGED
package/dist/constants.js
CHANGED
package/dist/eventcatalog.cjs
CHANGED
|
@@ -181,7 +181,7 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
|
|
|
181
181
|
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
182
182
|
|
|
183
183
|
// package.json
|
|
184
|
-
var version = "4.12.0-beta.
|
|
184
|
+
var version = "4.12.0-beta.9";
|
|
185
185
|
|
|
186
186
|
// src/constants.ts
|
|
187
187
|
var VERSION = version;
|
package/dist/eventcatalog.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
log_build_default
|
|
3
|
+
} from "./chunk-4S47JELQ.js";
|
|
4
|
+
import "./chunk-ZAZHAVKB.js";
|
|
1
5
|
import {
|
|
2
6
|
runMigrations
|
|
3
7
|
} from "./chunk-XUAF2H54.js";
|
|
4
8
|
import "./chunk-CA4U2JP7.js";
|
|
5
|
-
import {
|
|
6
|
-
log_build_default
|
|
7
|
-
} from "./chunk-3ZWYGVW6.js";
|
|
8
|
-
import "./chunk-ZAZHAVKB.js";
|
|
9
9
|
import {
|
|
10
10
|
FederationConflictError,
|
|
11
11
|
FederationDiagnosticError,
|
|
@@ -14,14 +14,14 @@ import {
|
|
|
14
14
|
import "./chunk-WRNH5C3U.js";
|
|
15
15
|
import "./chunk-5EPNFDT5.js";
|
|
16
16
|
import "./chunk-A2RZR3U4.js";
|
|
17
|
+
import "./chunk-SDZQJTJW.js";
|
|
18
|
+
import "./chunk-352FGP6W.js";
|
|
17
19
|
import "./chunk-R7Z5ALYI.js";
|
|
18
20
|
import {
|
|
19
21
|
getFederationDiagnosticCounts,
|
|
20
22
|
getVisibleFederationDiagnostics
|
|
21
23
|
} from "./chunk-JJPB6EOZ.js";
|
|
22
24
|
import "./chunk-FV56YFM4.js";
|
|
23
|
-
import "./chunk-SDZQJTJW.js";
|
|
24
|
-
import "./chunk-352FGP6W.js";
|
|
25
25
|
import {
|
|
26
26
|
getProjectOutDir,
|
|
27
27
|
isAuthEnabled,
|
|
@@ -30,10 +30,10 @@ import {
|
|
|
30
30
|
} from "./chunk-MDWB5HLO.js";
|
|
31
31
|
import {
|
|
32
32
|
generate
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-K3DWGBGQ.js";
|
|
34
34
|
import {
|
|
35
35
|
logger
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-GNFKUOXD.js";
|
|
37
37
|
import {
|
|
38
38
|
resolve_catalog_dependencies_default
|
|
39
39
|
} from "./chunk-36RYTYT5.js";
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
import {
|
|
48
48
|
watch
|
|
49
49
|
} from "./chunk-U63GDPPY.js";
|
|
50
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-YOIPWS7L.js";
|
|
51
51
|
import {
|
|
52
52
|
getAstroConfigPath
|
|
53
53
|
} from "./chunk-VIJJ7JKH.js";
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
} from "./chunk-LFQJXLHG.js";
|
|
64
64
|
import {
|
|
65
65
|
VERSION
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-UIHG2TPV.js";
|
|
67
67
|
import {
|
|
68
68
|
getEventCatalogConfigFile,
|
|
69
69
|
verifyRequiredFieldsAreInCatalogConfigFile
|
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
import "../chunk-WRNH5C3U.js";
|
|
7
7
|
import "../chunk-5EPNFDT5.js";
|
|
8
8
|
import "../chunk-A2RZR3U4.js";
|
|
9
|
+
import "../chunk-SDZQJTJW.js";
|
|
10
|
+
import "../chunk-352FGP6W.js";
|
|
9
11
|
import "../chunk-R7Z5ALYI.js";
|
|
10
12
|
import "../chunk-JJPB6EOZ.js";
|
|
11
13
|
import "../chunk-FV56YFM4.js";
|
|
12
|
-
import "../chunk-SDZQJTJW.js";
|
|
13
|
-
import "../chunk-352FGP6W.js";
|
|
14
14
|
import "../chunk-RFIXKATC.js";
|
|
15
15
|
export {
|
|
16
16
|
FederationConflictError,
|
package/dist/generate.cjs
CHANGED
|
@@ -112,7 +112,7 @@ var getEventCatalogConfigFile = async (projectDirectory) => {
|
|
|
112
112
|
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
113
113
|
|
|
114
114
|
// package.json
|
|
115
|
-
var version = "4.12.0-beta.
|
|
115
|
+
var version = "4.12.0-beta.9";
|
|
116
116
|
|
|
117
117
|
// src/constants.ts
|
|
118
118
|
var VERSION = version;
|
package/dist/generate.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generate
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-K3DWGBGQ.js";
|
|
4
|
+
import "./chunk-GNFKUOXD.js";
|
|
5
|
+
import "./chunk-UIHG2TPV.js";
|
|
6
6
|
import "./chunk-RFIXKATC.js";
|
|
7
7
|
export {
|
|
8
8
|
generate
|
package/dist/utils/cli-logger.js
CHANGED
|
@@ -17,75 +17,82 @@ type Badge = {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
type Props = {
|
|
20
|
-
badge
|
|
20
|
+
badge?: Badge | null;
|
|
21
21
|
className?: string;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
const { badge, className = '' } = Astro.props;
|
|
25
|
-
const href = getBadgeHref(badge);
|
|
25
|
+
const href = badge ? getBadgeHref(badge) : undefined;
|
|
26
26
|
// Only links that leave the catalog get the external-link arrow.
|
|
27
27
|
const isExternalHref = !!href && (/^[a-z][a-z0-9+.-]*:/i.test(href) || href.startsWith('//'));
|
|
28
|
-
const Icon = badge
|
|
29
|
-
const hasThemedIcon = badge
|
|
28
|
+
const Icon = badge?.icon || badge?.iconComponent;
|
|
29
|
+
const hasThemedIcon = Boolean(badge?.iconURLLight && badge?.iconURLDark);
|
|
30
|
+
const badgeId = badge?.id || undefined;
|
|
31
|
+
const content = badge?.content ?? '';
|
|
32
|
+
const iconURL = badge?.iconURL;
|
|
33
|
+
const iconURLLight = badge?.iconURLLight;
|
|
34
|
+
const iconURLDark = badge?.iconURLDark;
|
|
35
|
+
const style = badge ? getBadgeStyle(badge) : '';
|
|
30
36
|
const classes = `
|
|
31
37
|
inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md text-xs font-medium
|
|
32
|
-
${badge
|
|
38
|
+
${badge?.backgroundColor ? 'bg-[rgb(var(--ec-content-hover))]' : 'bg-transparent'} border border-[rgb(var(--ec-page-border))]
|
|
33
39
|
text-[rgb(var(--ec-page-text))]
|
|
34
40
|
shadow-xs
|
|
35
|
-
${badge
|
|
41
|
+
${badge?.class ? badge.class : ''}
|
|
36
42
|
${className}
|
|
37
43
|
`;
|
|
38
44
|
---
|
|
39
45
|
|
|
40
46
|
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
47
|
+
badge &&
|
|
48
|
+
(href ? (
|
|
49
|
+
<a id={badgeId} href={href} class={classes} style={style} title={content}>
|
|
50
|
+
{Icon && <Icon className="w-3 h-3 flex-shrink-0" />}
|
|
51
|
+
{hasThemedIcon && (
|
|
52
|
+
<img
|
|
53
|
+
src={iconURLLight}
|
|
54
|
+
class="w-3 h-3 flex-shrink-0 opacity-80 dark:hidden"
|
|
55
|
+
alt=""
|
|
56
|
+
onerror="this.style.display='none'"
|
|
57
|
+
/>
|
|
58
|
+
)}
|
|
59
|
+
{hasThemedIcon && (
|
|
60
|
+
<img
|
|
61
|
+
src={iconURLDark}
|
|
62
|
+
class="hidden w-3 h-3 flex-shrink-0 opacity-80 dark:inline-block"
|
|
63
|
+
alt=""
|
|
64
|
+
onerror="this.style.display='none'"
|
|
65
|
+
/>
|
|
66
|
+
)}
|
|
67
|
+
{!hasThemedIcon && iconURL && (
|
|
68
|
+
<img src={iconURL} class="w-3 h-3 flex-shrink-0 opacity-80" alt="" onerror="this.style.display='none'" />
|
|
69
|
+
)}
|
|
70
|
+
<span>{content}</span>
|
|
71
|
+
{isExternalHref && <ArrowTopRightOnSquareIcon className="w-2.5 h-2.5 flex-shrink-0 opacity-70" aria-hidden="true" />}
|
|
72
|
+
</a>
|
|
73
|
+
) : (
|
|
74
|
+
<span id={badgeId} class={classes} style={style} title={content}>
|
|
75
|
+
{Icon && <Icon className="w-3 h-3 flex-shrink-0" />}
|
|
76
|
+
{hasThemedIcon && (
|
|
77
|
+
<img
|
|
78
|
+
src={iconURLLight}
|
|
79
|
+
class="w-3 h-3 flex-shrink-0 opacity-80 dark:hidden"
|
|
80
|
+
alt=""
|
|
81
|
+
onerror="this.style.display='none'"
|
|
82
|
+
/>
|
|
83
|
+
)}
|
|
84
|
+
{hasThemedIcon && (
|
|
85
|
+
<img
|
|
86
|
+
src={iconURLDark}
|
|
87
|
+
class="hidden w-3 h-3 flex-shrink-0 opacity-80 dark:inline-block"
|
|
88
|
+
alt=""
|
|
89
|
+
onerror="this.style.display='none'"
|
|
90
|
+
/>
|
|
91
|
+
)}
|
|
92
|
+
{!hasThemedIcon && iconURL && (
|
|
93
|
+
<img src={iconURL} class="w-3 h-3 flex-shrink-0 opacity-80" alt="" onerror="this.style.display='none'" />
|
|
94
|
+
)}
|
|
95
|
+
<span>{content}</span>
|
|
96
|
+
</span>
|
|
97
|
+
))
|
|
91
98
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isSSR, isChangelogEnabled } from '@utils/feature';
|
|
2
|
+
import { changelogResourceCollections } from '@utils/changelog-resource-badge';
|
|
2
3
|
import { HybridPage } from '@utils/page-loaders/hybrid-page';
|
|
3
4
|
import type { PageTypes } from '@types';
|
|
4
5
|
|
|
@@ -14,17 +15,7 @@ export class Page extends HybridPage {
|
|
|
14
15
|
|
|
15
16
|
const { pageDataLoader } = await import('@utils/page-loaders/page-data-loader');
|
|
16
17
|
|
|
17
|
-
const itemTypes: PageTypes[] = [
|
|
18
|
-
'agents',
|
|
19
|
-
'events',
|
|
20
|
-
'commands',
|
|
21
|
-
'queries',
|
|
22
|
-
'services',
|
|
23
|
-
'domains',
|
|
24
|
-
'systems',
|
|
25
|
-
'flows',
|
|
26
|
-
'containers',
|
|
27
|
-
];
|
|
18
|
+
const itemTypes: PageTypes[] = [...changelogResourceCollections];
|
|
28
19
|
const allItems = await Promise.all(itemTypes.map((type) => pageDataLoader[type]()));
|
|
29
20
|
|
|
30
21
|
return allItems.flatMap((items, index) =>
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
import Footer from '@layouts/Footer.astro';
|
|
3
3
|
import { getChangeLogs } from '@utils/collections/changelogs';
|
|
4
|
-
import {
|
|
5
|
-
RectangleGroupIcon,
|
|
6
|
-
ServerIcon,
|
|
7
|
-
BoltIcon,
|
|
8
|
-
ChatBubbleLeftIcon,
|
|
9
|
-
MagnifyingGlassIcon,
|
|
10
|
-
QueueListIcon,
|
|
11
|
-
} from '@heroicons/react/24/outline';
|
|
12
|
-
import { DatabaseIcon } from 'lucide-react';
|
|
4
|
+
import { getChangelogResourceBadge } from '@utils/changelog-resource-badge';
|
|
13
5
|
import { render, getEntry } from 'astro:content';
|
|
14
6
|
import mdxComponents from '@components/MDX/components';
|
|
15
7
|
import 'diff2html/bundles/css/diff2html.min.css';
|
|
@@ -20,7 +12,6 @@ import { getDiffsForCurrentAndPreviousVersion } from '@utils/file-diffs';
|
|
|
20
12
|
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
21
13
|
import Badge from '@components/Badge.astro';
|
|
22
14
|
import { ClientRouter } from 'astro:transitions';
|
|
23
|
-
import { isChangelogEnabled } from '@utils/feature';
|
|
24
15
|
|
|
25
16
|
import { Page } from './_index.data';
|
|
26
17
|
|
|
@@ -72,33 +63,7 @@ const logListPromise = logsToRender.map(async (log, index) => {
|
|
|
72
63
|
|
|
73
64
|
const logList = await Promise.all(logListPromise);
|
|
74
65
|
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
const getBadge = () => {
|
|
78
|
-
if (props.collection === 'services') {
|
|
79
|
-
return createResourceBadge('Service', ServerIcon);
|
|
80
|
-
}
|
|
81
|
-
if (props.collection === 'events') {
|
|
82
|
-
return createResourceBadge('Event', BoltIcon);
|
|
83
|
-
}
|
|
84
|
-
if (props.collection === 'commands') {
|
|
85
|
-
return createResourceBadge('Command', ChatBubbleLeftIcon);
|
|
86
|
-
}
|
|
87
|
-
if (props.collection === 'queries') {
|
|
88
|
-
return createResourceBadge('Query', MagnifyingGlassIcon);
|
|
89
|
-
}
|
|
90
|
-
if (props.collection === 'domains') {
|
|
91
|
-
return createResourceBadge('Domain', RectangleGroupIcon);
|
|
92
|
-
}
|
|
93
|
-
if (props.collection === 'containers') {
|
|
94
|
-
return createResourceBadge('Container', DatabaseIcon);
|
|
95
|
-
}
|
|
96
|
-
if (props.collection === 'flows') {
|
|
97
|
-
return createResourceBadge('Flow', QueueListIcon);
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
const badges = [getBadge()];
|
|
66
|
+
const badges = [getChangelogResourceBadge(props.collection)].filter((badge) => badge != null);
|
|
102
67
|
---
|
|
103
68
|
|
|
104
69
|
<VerticalSideBarLayout title="ChangeLog">
|
|
@@ -140,9 +105,9 @@ const badges = [getBadge()];
|
|
|
140
105
|
<h2 class="text-2xl md:text-4xl font-bold text-[rgb(var(--ec-page-text))]">{props.data.name} (Changelog)</h2>
|
|
141
106
|
<h2 class="text-lg pt-2 text-[rgb(var(--ec-page-text-muted))] font-light">{props.data.summary}</h2>
|
|
142
107
|
{
|
|
143
|
-
badges && (
|
|
108
|
+
badges.length > 0 && (
|
|
144
109
|
<div class="flex flex-wrap py-2 pt-4">
|
|
145
|
-
{badges.map((badge
|
|
110
|
+
{badges.map((badge) => (
|
|
146
111
|
<Badge badge={badge} className="mr-2 px-2 py-1 rounded-md" />
|
|
147
112
|
))}
|
|
148
113
|
</div>
|
|
@@ -188,7 +153,7 @@ const badges = [getBadge()];
|
|
|
188
153
|
)}
|
|
189
154
|
{log.badges && (
|
|
190
155
|
<div class="flex flex-wrap">
|
|
191
|
-
{log.badges.map((badge: any) => (
|
|
156
|
+
{log.badges.filter(Boolean).map((badge: any) => (
|
|
192
157
|
<Badge badge={badge} className="mr-2 px-2 py-1 rounded-md" />
|
|
193
158
|
))}
|
|
194
159
|
</div>
|
|
@@ -201,7 +201,9 @@ const resolveBadgeColor = (color: string | undefined, kind: BadgeColorKind) => {
|
|
|
201
201
|
return undefined;
|
|
202
202
|
};
|
|
203
203
|
|
|
204
|
-
export const getBadgeStyle = (badge
|
|
204
|
+
export const getBadgeStyle = (badge?: Badge | null) => {
|
|
205
|
+
if (!badge) return '';
|
|
206
|
+
|
|
205
207
|
const backgroundColor = resolveBadgeColor(badge.backgroundColor, 'background');
|
|
206
208
|
const color = resolveBadgeColor(badge.textColor, 'text');
|
|
207
209
|
|
|
@@ -210,7 +212,9 @@ export const getBadgeStyle = (badge: Badge) => {
|
|
|
210
212
|
.join(' ');
|
|
211
213
|
};
|
|
212
214
|
|
|
213
|
-
export const getBadgeReactStyle = (badge
|
|
215
|
+
export const getBadgeReactStyle = (badge?: Badge | null) => {
|
|
216
|
+
if (!badge) return {};
|
|
217
|
+
|
|
214
218
|
const backgroundColor = resolveBadgeColor(badge.backgroundColor, 'background');
|
|
215
219
|
const color = resolveBadgeColor(badge.textColor, 'text');
|
|
216
220
|
|
|
@@ -220,8 +224,8 @@ export const getBadgeReactStyle = (badge: Badge) => {
|
|
|
220
224
|
};
|
|
221
225
|
};
|
|
222
226
|
|
|
223
|
-
export const getBadgeHref = (badge
|
|
224
|
-
if (!badge
|
|
227
|
+
export const getBadgeHref = (badge?: Badge | null) => {
|
|
228
|
+
if (!badge?.url) return undefined;
|
|
225
229
|
|
|
226
230
|
const url = badge.url.trim();
|
|
227
231
|
if (!url) return undefined;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BoltIcon,
|
|
3
|
+
ChatBubbleLeftIcon,
|
|
4
|
+
MagnifyingGlassIcon,
|
|
5
|
+
QueueListIcon,
|
|
6
|
+
RectangleGroupIcon,
|
|
7
|
+
ServerIcon,
|
|
8
|
+
} from '@heroicons/react/24/outline';
|
|
9
|
+
import { Bot, DatabaseIcon, Group } from 'lucide-react';
|
|
10
|
+
import type { PageTypes } from '@types';
|
|
11
|
+
|
|
12
|
+
export type ChangelogResourceBadge = {
|
|
13
|
+
content: string;
|
|
14
|
+
icon: any;
|
|
15
|
+
textColor: 'gray';
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// Every collection that prerenders a changelog route needs a badge. A missing
|
|
19
|
+
// entry used to return undefined and crash static builds in Badge.astro.
|
|
20
|
+
export const changelogResourceCollections = [
|
|
21
|
+
'agents',
|
|
22
|
+
'events',
|
|
23
|
+
'commands',
|
|
24
|
+
'queries',
|
|
25
|
+
'services',
|
|
26
|
+
'domains',
|
|
27
|
+
'systems',
|
|
28
|
+
'flows',
|
|
29
|
+
'containers',
|
|
30
|
+
] as const satisfies readonly PageTypes[];
|
|
31
|
+
|
|
32
|
+
export type ChangelogResourceCollection = (typeof changelogResourceCollections)[number];
|
|
33
|
+
|
|
34
|
+
const changelogResourceBadges: Record<ChangelogResourceCollection, ChangelogResourceBadge> = {
|
|
35
|
+
agents: { content: 'Agent', icon: Bot, textColor: 'gray' },
|
|
36
|
+
events: { content: 'Event', icon: BoltIcon, textColor: 'gray' },
|
|
37
|
+
commands: { content: 'Command', icon: ChatBubbleLeftIcon, textColor: 'gray' },
|
|
38
|
+
queries: { content: 'Query', icon: MagnifyingGlassIcon, textColor: 'gray' },
|
|
39
|
+
services: { content: 'Service', icon: ServerIcon, textColor: 'gray' },
|
|
40
|
+
domains: { content: 'Domain', icon: RectangleGroupIcon, textColor: 'gray' },
|
|
41
|
+
systems: { content: 'System', icon: Group, textColor: 'gray' },
|
|
42
|
+
flows: { content: 'Flow', icon: QueueListIcon, textColor: 'gray' },
|
|
43
|
+
containers: { content: 'Container', icon: DatabaseIcon, textColor: 'gray' },
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export const isChangelogResourceCollection = (collection: string): collection is ChangelogResourceCollection =>
|
|
47
|
+
(changelogResourceCollections as readonly string[]).includes(collection);
|
|
48
|
+
|
|
49
|
+
export const getChangelogResourceBadge = (collection: string): ChangelogResourceBadge | undefined => {
|
|
50
|
+
if (!isChangelogResourceCollection(collection)) return undefined;
|
|
51
|
+
return changelogResourceBadges[collection];
|
|
52
|
+
};
|