@eventcatalog/core 3.39.2 → 3.39.3
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-2VUYMTYY.js → chunk-5G6OFPTY.js} +1 -1
- package/dist/{chunk-EC633RFS.js → chunk-ABTA6BYL.js} +1 -1
- package/dist/{chunk-4NHSANWO.js → chunk-L4F5FCQK.js} +1 -1
- package/dist/{chunk-Z3G6IPPF.js → chunk-MFYIAZEO.js} +1 -1
- package/dist/{chunk-K2IR7X4Z.js → chunk-TUEC7QBE.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/api/02-config.md +25 -0
- package/dist/docs/development/guides/diagrams/05-comparing-diagrams.md +1 -1
- package/dist/docs/development/license-keys/_category_.json +12 -0
- package/dist/docs/development/license-keys/integrations.md +41 -0
- package/dist/docs/development/license-keys/license-validation.md +34 -0
- package/dist/docs/development/license-keys/overview.md +52 -0
- package/dist/docs/development/license-keys/plans.md +50 -0
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.js +5 -5
- 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/Grids/DomainGrid.tsx +2 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/_index.data.ts +67 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/index.astro +4 -41
- package/eventcatalog/src/utils/page-loaders/page-data-loader.ts +16 -13
- package/package.json +1 -1
- package/dist/docs/development/deployment/licenses.md +0 -50
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-5G6OFPTY.js";
|
|
4
|
+
import "../chunk-ABTA6BYL.js";
|
|
5
5
|
import "../chunk-4UVFXLPI.js";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-L4F5FCQK.js";
|
|
7
7
|
import "../chunk-5T63CXKU.js";
|
|
8
8
|
export {
|
|
9
9
|
log_build_default as default
|
package/dist/constants.cjs
CHANGED
package/dist/constants.js
CHANGED
|
@@ -175,6 +175,30 @@ module.exports = {
|
|
|
175
175
|
};
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
+
### `security` {#security}
|
|
179
|
+
|
|
180
|
+
<AddedIn version="3.39.2" />
|
|
181
|
+
|
|
182
|
+
- Type: `Record<"checkOrigin", boolean> | undefined`
|
|
183
|
+
- Default: `{checkOrigin: true}`
|
|
184
|
+
|
|
185
|
+
Enables security measures for an EventCatalog website.
|
|
186
|
+
|
|
187
|
+
These features only exist for pages rendered on demand (SSR) using server mode or pages that opt out of prerendering in static mode.
|
|
188
|
+
|
|
189
|
+
By default, EventCatalog will automatically check that the “origin” header matches the URL sent by each request in on-demand rendered pages. You can disable this behavior by setting checkOrigin to false:
|
|
190
|
+
|
|
191
|
+
You can read more on the Astro documentation [here](https://docs.astro.build/en/reference/configuration-reference/#security).
|
|
192
|
+
|
|
193
|
+
```js title="eventcatalog.config.js"
|
|
194
|
+
module.exports = {
|
|
195
|
+
output: "server",
|
|
196
|
+
security: {
|
|
197
|
+
checkOrigin: false
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
```
|
|
201
|
+
|
|
178
202
|
### `generators` {#generators}
|
|
179
203
|
|
|
180
204
|
- Type: `Generator[]`
|
|
@@ -389,6 +413,7 @@ The `chat` property requires a Starter or Scale plan and `output: 'server'` to t
|
|
|
389
413
|
|
|
390
414
|
```js title="eventcatalog.config.js"
|
|
391
415
|
module.exports = {
|
|
416
|
+
output: 'server',
|
|
392
417
|
chat: {
|
|
393
418
|
// Set to false to disable the AI chat feature entirely
|
|
394
419
|
enabled: false,
|
|
@@ -14,7 +14,7 @@ import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
|
14
14
|
<AddedIn version="3.3.0" />
|
|
15
15
|
|
|
16
16
|
:::info EventCatalog Scale Feature
|
|
17
|
-
Diagram comparison is available exclusively with the [EventCatalog Scale](/docs/development/
|
|
17
|
+
Diagram comparison is available exclusively with the [EventCatalog Scale](/docs/development/license-keys/plans) license. This feature enables side-by-side visualization of different diagram versions.
|
|
18
18
|
:::
|
|
19
19
|
|
|
20
20
|
The diagram comparison feature allows you to view two versions of a diagram side-by-side, making it easy to understand architectural changes and evolution over time.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"label": "License Keys",
|
|
3
|
+
"position": 11,
|
|
4
|
+
"collapsible": true,
|
|
5
|
+
"collapsed": true,
|
|
6
|
+
"link": {
|
|
7
|
+
"type": "generated-index",
|
|
8
|
+
"slug": "development/license-keys",
|
|
9
|
+
"title": "License Keys",
|
|
10
|
+
"description": "How to get and use license keys for EventCatalog plans (Starter, Scale) and integrations (OpenAPI, AsyncAPI, and more)."
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
keywords:
|
|
4
|
+
- licenses
|
|
5
|
+
- integrations
|
|
6
|
+
- plugins
|
|
7
|
+
- openapi
|
|
8
|
+
- asyncapi
|
|
9
|
+
sidebar_label: Integrations
|
|
10
|
+
title: Getting a license key for integrations
|
|
11
|
+
description: How to activate EventCatalog integrations (OpenAPI, AsyncAPI, Backstage, and more) and get your license key.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
EventCatalog integrations (sometimes called plugins) let you generate your catalog from sources you already have — OpenAPI specs, AsyncAPI documents, Backstage, federated catalogs, and more. You can see the full list on the [integrations page](/integrations).
|
|
15
|
+
|
|
16
|
+
Each integration is licensed individually and comes with a **14 day free trial**. Activate one from your [integrations dashboard](https://eventcatalog.cloud/dashboard/integrations) — see the [Quick start in the overview](/docs/development/license-keys/overview#quick-start) for the full step-by-step.
|
|
17
|
+
|
|
18
|
+

|
|
19
|
+
|
|
20
|
+
Once activated, your license key for the integration appears on your [API keys page](https://eventcatalog.cloud/dashboard/api-keys):
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
## Adding your license key to your catalog
|
|
25
|
+
|
|
26
|
+
Copy the license key from your dashboard into your `.env` file. Each integration uses its own environment variable — the exact name is shown next to the key on your dashboard and in the integration's own documentation. For example:
|
|
27
|
+
|
|
28
|
+
```bash title=".env"
|
|
29
|
+
EVENTCATALOG_OPENAPI_LICENSE_KEY=your-license-key-here
|
|
30
|
+
EVENTCATALOG_ASYNCAPI_LICENSE_KEY=your-license-key-here
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Then configure the integration in your `eventcatalog.config.js` as described in the [integration's documentation](/integrations).
|
|
34
|
+
|
|
35
|
+
## Trying multiple integrations
|
|
36
|
+
|
|
37
|
+
You can activate as many integrations as you want from your [integrations dashboard](https://eventcatalog.cloud/dashboard/integrations). Each one has its own 14 day trial and its own license key.
|
|
38
|
+
|
|
39
|
+
## Need more time?
|
|
40
|
+
|
|
41
|
+
If 14 days isn't enough to evaluate an integration in your environment, email us at `hello@eventcatalog.dev` and we'll extend your trial.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 4
|
|
3
|
+
keywords:
|
|
4
|
+
- licenses
|
|
5
|
+
- validation
|
|
6
|
+
- offline
|
|
7
|
+
sidebar_label: License Validation
|
|
8
|
+
title: How license validation works
|
|
9
|
+
description: How EventCatalog validates your license keys online and offline.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Once you have a license key from [EventCatalog Cloud](https://eventcatalog.cloud) (see [Overview](/docs/development/license-keys/overview) if you don't yet), EventCatalog validates it every time you build or serve your catalog. There are two modes: online and offline.
|
|
13
|
+
|
|
14
|
+
## Online validation (default)
|
|
15
|
+
|
|
16
|
+
By default, EventCatalog validates license keys online. Your keys are read from your `.env` file (or environment variables) and verified against the EventCatalog API.
|
|
17
|
+
|
|
18
|
+
This is the recommended mode — it requires no extra setup and your keys stay in sync with your account automatically.
|
|
19
|
+
|
|
20
|
+
## Offline validation
|
|
21
|
+
|
|
22
|
+
If you're behind a firewall or otherwise can't reach the EventCatalog API at build time, you can validate your keys offline.
|
|
23
|
+
|
|
24
|
+
To set up offline validation:
|
|
25
|
+
|
|
26
|
+
1. Email us at `hello@eventcatalog.dev` to request an offline license file (`license.jwt`).
|
|
27
|
+
2. Place the `license.jwt` file in the root of your catalog directory.
|
|
28
|
+
3. EventCatalog will validate against the local file instead of calling our API.
|
|
29
|
+
|
|
30
|
+
Offline license files expire one year from purchase. You'll need to request a new file each year.
|
|
31
|
+
|
|
32
|
+
## Managing your keys
|
|
33
|
+
|
|
34
|
+
You can view, rotate, and revoke license keys at any time from your [API keys dashboard](https://eventcatalog.cloud/dashboard/api-keys).
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1
|
|
3
|
+
keywords:
|
|
4
|
+
- licenses
|
|
5
|
+
- license keys
|
|
6
|
+
- trial
|
|
7
|
+
sidebar_label: Overview
|
|
8
|
+
title: License Keys Overview
|
|
9
|
+
description: Learn how license keys work in EventCatalog, how to get a free trial, and where to find your keys.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
EventCatalog is open source with a [community edition and a commercial edition](/pricing). The commercial editions (Starter, Scale, Enterprise) and the [integrations](/integrations) (OpenAPI, AsyncAPI, Backstage, and others) are unlocked using **license keys**.
|
|
13
|
+
|
|
14
|
+
If you are using the community edition, you don't need a license key and can skip this section.
|
|
15
|
+
|
|
16
|
+
## Where license keys come from
|
|
17
|
+
|
|
18
|
+
All license keys are managed in [EventCatalog Cloud](https://eventcatalog.cloud). You sign up for an account, activate the plan or integration you want to use, and your license keys appear on your dashboard.
|
|
19
|
+
|
|
20
|
+
You can then add those keys to your `.env` file (or set them as environment variables) and EventCatalog will unlock the corresponding features.
|
|
21
|
+
|
|
22
|
+
## Free trials
|
|
23
|
+
|
|
24
|
+
:::tip 14 day free trials
|
|
25
|
+
Every plan and every integration comes with a **14 day free trial**. No payment is required to start one — just sign in to [EventCatalog Cloud](https://eventcatalog.cloud) and activate what you want to try.
|
|
26
|
+
|
|
27
|
+
Need longer to evaluate? Email us at `hello@eventcatalog.dev` and we'll happily extend your trial.
|
|
28
|
+
:::
|
|
29
|
+
|
|
30
|
+
## Quick start
|
|
31
|
+
|
|
32
|
+
1. Create an account at [eventcatalog.cloud](https://eventcatalog.cloud).
|
|
33
|
+
2. From your [dashboard](https://eventcatalog.cloud/dashboard), pick what you need:
|
|
34
|
+
- [Pick your plan](https://eventcatalog.cloud/dashboard) (Starter or Scale) — see [Starting a plan](/docs/development/license-keys/plans).
|
|
35
|
+
|
|
36
|
+

|
|
37
|
+
|
|
38
|
+
- [Pick your integrations](https://eventcatalog.cloud/dashboard/integrations) (OpenAPI, AsyncAPI, etc.) — see [Getting integration keys](/docs/development/license-keys/integrations).
|
|
39
|
+
|
|
40
|
+

|
|
41
|
+
|
|
42
|
+
3. Copy your license keys from the [API keys page](https://eventcatalog.cloud/dashboard/api-keys) into your `.env` file.
|
|
43
|
+
|
|
44
|
+

|
|
45
|
+
|
|
46
|
+
4. Run your catalog — your commercial features are now unlocked.
|
|
47
|
+
|
|
48
|
+
## Next steps
|
|
49
|
+
|
|
50
|
+
- [Starting a Starter or Scale plan](/docs/development/license-keys/plans)
|
|
51
|
+
- [Getting license keys for integrations](/docs/development/license-keys/integrations)
|
|
52
|
+
- [How license validation works (online and offline)](/docs/development/license-keys/license-validation)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 2
|
|
3
|
+
keywords:
|
|
4
|
+
- licenses
|
|
5
|
+
- starter
|
|
6
|
+
- scale
|
|
7
|
+
- plans
|
|
8
|
+
sidebar_label: Starter & Scale Plans
|
|
9
|
+
title: Getting a license key for Starter or Scale
|
|
10
|
+
description: How to start a Starter or Scale plan in EventCatalog Cloud and get your license key.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
EventCatalog offers two commercial plans you can self-serve from [EventCatalog Cloud](https://eventcatalog.cloud):
|
|
14
|
+
|
|
15
|
+
- **Starter** — for small teams getting started with commercial features.
|
|
16
|
+
- **Scale** — for larger teams that need the full set of advanced capabilities.
|
|
17
|
+
|
|
18
|
+
See the [pricing page](/pricing) for a full breakdown of what each plan includes.
|
|
19
|
+
|
|
20
|
+
## Starting a plan
|
|
21
|
+
|
|
22
|
+
1. Sign in to [EventCatalog Cloud](https://eventcatalog.cloud). If you don't have an account yet, sign up — it's free.
|
|
23
|
+
2. Go to your [dashboard](https://eventcatalog.cloud/dashboard).
|
|
24
|
+
3. Choose **Starter** or **Scale** and start your plan. Every plan comes with a **14 day free trial**, so you can try it before you commit.
|
|
25
|
+
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
4. Once the plan is active, head to your [API keys page](https://eventcatalog.cloud/dashboard/api-keys) to find your license key.
|
|
29
|
+
|
|
30
|
+

|
|
31
|
+
|
|
32
|
+
## Adding your license key to your catalog
|
|
33
|
+
|
|
34
|
+
Copy the license key from your dashboard into your `.env` file:
|
|
35
|
+
|
|
36
|
+
```bash title=".env"
|
|
37
|
+
EVENTCATALOG_STARTER_LICENSE_KEY=your-license-key-here
|
|
38
|
+
# or for Scale
|
|
39
|
+
EVENTCATALOG_SCALE_LICENSE_KEY=your-license-key-here
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Then start EventCatalog as normal. The commercial features for your plan will be unlocked automatically.
|
|
43
|
+
|
|
44
|
+
## Need more time?
|
|
45
|
+
|
|
46
|
+
The default trial is 14 days. If you need longer to evaluate, email us at `hello@eventcatalog.dev` and we'll extend it for you.
|
|
47
|
+
|
|
48
|
+
## Enterprise
|
|
49
|
+
|
|
50
|
+
If you need features beyond Scale — SSO, dedicated support, custom contracts, or on-premise/offline deployment — get in touch at `hello@eventcatalog.dev`.
|
package/dist/eventcatalog.cjs
CHANGED
|
@@ -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.39.
|
|
117
|
+
var version = "3.39.3";
|
|
118
118
|
|
|
119
119
|
// src/constants.ts
|
|
120
120
|
var VERSION = version;
|
package/dist/eventcatalog.js
CHANGED
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
} from "./chunk-K3ZVEX2Y.js";
|
|
14
14
|
import {
|
|
15
15
|
log_build_default
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-5G6OFPTY.js";
|
|
17
|
+
import "./chunk-ABTA6BYL.js";
|
|
18
18
|
import "./chunk-4UVFXLPI.js";
|
|
19
19
|
import {
|
|
20
20
|
catalogToAstro
|
|
@@ -28,13 +28,13 @@ import {
|
|
|
28
28
|
} from "./chunk-ULZYHF3V.js";
|
|
29
29
|
import {
|
|
30
30
|
generate
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-MFYIAZEO.js";
|
|
32
32
|
import {
|
|
33
33
|
logger
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-TUEC7QBE.js";
|
|
35
35
|
import {
|
|
36
36
|
VERSION
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-L4F5FCQK.js";
|
|
38
38
|
import {
|
|
39
39
|
getEventCatalogConfigFile,
|
|
40
40
|
verifyRequiredFieldsAreInCatalogConfigFile
|
package/dist/generate.cjs
CHANGED
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-MFYIAZEO.js";
|
|
4
|
+
import "./chunk-TUEC7QBE.js";
|
|
5
|
+
import "./chunk-L4F5FCQK.js";
|
|
6
6
|
import "./chunk-5T63CXKU.js";
|
|
7
7
|
export {
|
|
8
8
|
generate
|
package/dist/utils/cli-logger.js
CHANGED
|
@@ -49,10 +49,11 @@ const getMessageIcon = (collection: string) => {
|
|
|
49
49
|
const EntityBadge = memo(({ entity }: { entity: any }) => {
|
|
50
50
|
const id = entity?.data?.id || entity?.id;
|
|
51
51
|
const name = entity?.data?.name || entity?.name || id;
|
|
52
|
+
const version = entity?.data?.version || entity?.version || 'latest';
|
|
52
53
|
|
|
53
54
|
return (
|
|
54
55
|
<a
|
|
55
|
-
href={buildUrl(`/docs/entities/${id}`)}
|
|
56
|
+
href={buildUrl(`/docs/entities/${id}/${version}`)}
|
|
56
57
|
className="inline-flex items-center gap-2 px-3 py-2 bg-[rgb(var(--ec-card-bg,var(--ec-page-bg)))] border border-[rgb(var(--ec-page-border))] rounded-lg text-sm font-medium text-[rgb(var(--ec-page-text))] hover:bg-[rgb(var(--ec-content-hover))] hover:border-[rgb(var(--ec-accent)/0.5)] transition-all shadow-xs"
|
|
57
58
|
>
|
|
58
59
|
<BoxIcon className="h-4 w-4 text-[rgb(var(--ec-accent))]" />
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { CollectionTypes, PageTypes } from '@types';
|
|
2
|
+
import { HybridPage } from '@utils/page-loaders/hybrid-page';
|
|
3
|
+
import { pageDataLoader } from '@utils/page-loaders/page-data-loader';
|
|
4
|
+
import { isSSR } from '@utils/feature';
|
|
5
|
+
|
|
6
|
+
const itemTypes: PageTypes[] = [
|
|
7
|
+
'events',
|
|
8
|
+
'commands',
|
|
9
|
+
'queries',
|
|
10
|
+
'services',
|
|
11
|
+
'domains',
|
|
12
|
+
'flows',
|
|
13
|
+
'channels',
|
|
14
|
+
'entities',
|
|
15
|
+
'containers',
|
|
16
|
+
'data-products',
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
export class Page extends HybridPage {
|
|
20
|
+
static async getStaticPaths() {
|
|
21
|
+
if (isSSR()) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const allItems = await Promise.all(itemTypes.map((type) => pageDataLoader[type]({ getAllVersions: false })));
|
|
26
|
+
|
|
27
|
+
return allItems.flatMap((items, index) =>
|
|
28
|
+
items.map((item) => ({
|
|
29
|
+
params: {
|
|
30
|
+
type: itemTypes[index],
|
|
31
|
+
id: item.data.id,
|
|
32
|
+
},
|
|
33
|
+
props: {
|
|
34
|
+
type: itemTypes[index],
|
|
35
|
+
...item,
|
|
36
|
+
},
|
|
37
|
+
}))
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
protected static async fetchData(params: any) {
|
|
42
|
+
const { type, id } = params;
|
|
43
|
+
|
|
44
|
+
if (!type || !id || !(type in pageDataLoader)) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const items = await pageDataLoader[type as PageTypes]({ getAllVersions: false });
|
|
49
|
+
const item = items.find((entry) => entry.data.id === id);
|
|
50
|
+
|
|
51
|
+
if (!item) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
type: type as CollectionTypes,
|
|
57
|
+
...item,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
protected static createNotFoundResponse(): Response {
|
|
62
|
+
return new Response(null, {
|
|
63
|
+
status: 404,
|
|
64
|
+
statusText: 'Documentation not found',
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -1,49 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
import Seo from '@components/Seo.astro';
|
|
3
3
|
import { buildUrl } from '@utils/url-builder';
|
|
4
|
-
import {
|
|
5
|
-
import { getEntities } from '@utils/collections/entities';
|
|
6
|
-
import { getCommands } from '@utils/collections/commands';
|
|
7
|
-
import { getServices } from '@utils/collections/services';
|
|
8
|
-
import { getDomains } from '@utils/collections/domains';
|
|
9
|
-
import type { CollectionEntry } from 'astro:content';
|
|
10
|
-
import type { CollectionTypes } from '@types';
|
|
11
|
-
import { getChannels } from '@utils/collections/channels';
|
|
4
|
+
import { Page } from './_index.data';
|
|
12
5
|
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
getEvents(),
|
|
16
|
-
getCommands(),
|
|
17
|
-
getServices(),
|
|
18
|
-
getDomains(),
|
|
19
|
-
getChannels(),
|
|
20
|
-
getEntities(),
|
|
21
|
-
]);
|
|
6
|
+
export const prerender = Page.prerender;
|
|
7
|
+
export const getStaticPaths = Page.getStaticPaths;
|
|
22
8
|
|
|
23
|
-
|
|
24
|
-
return collection.map((item) => ({
|
|
25
|
-
params: {
|
|
26
|
-
type: item.collection,
|
|
27
|
-
id: item.data.id,
|
|
28
|
-
},
|
|
29
|
-
props: {
|
|
30
|
-
type: item.collection,
|
|
31
|
-
...item,
|
|
32
|
-
},
|
|
33
|
-
}));
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
return [
|
|
37
|
-
...buildPages(domains),
|
|
38
|
-
...buildPages(events),
|
|
39
|
-
...buildPages(services),
|
|
40
|
-
...buildPages(commands),
|
|
41
|
-
...buildPages(channels),
|
|
42
|
-
...buildPages(entities),
|
|
43
|
-
];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const props = Astro.props;
|
|
9
|
+
const props = await Page.getData(Astro);
|
|
47
10
|
|
|
48
11
|
const pageTitle = `${props.collection} | ${props.data.name}`.replace(/^\w/, (c) => c.toUpperCase());
|
|
49
12
|
|
|
@@ -11,16 +11,19 @@ import { getDiagrams } from '@utils/collections/diagrams';
|
|
|
11
11
|
import type { CollectionEntry } from 'astro:content';
|
|
12
12
|
import { getDataProducts } from '@utils/collections/data-products';
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
type PageDataLoaderOptions = { getAllVersions?: boolean };
|
|
15
|
+
|
|
16
|
+
export const pageDataLoader: Record<PageTypes, (options?: PageDataLoaderOptions) => Promise<CollectionEntry<CollectionTypes>[]>> =
|
|
17
|
+
{
|
|
18
|
+
events: getEvents,
|
|
19
|
+
commands: getCommands,
|
|
20
|
+
queries: getQueries,
|
|
21
|
+
services: getServices,
|
|
22
|
+
domains: getDomains,
|
|
23
|
+
channels: getChannels,
|
|
24
|
+
flows: getFlows,
|
|
25
|
+
entities: getEntities,
|
|
26
|
+
containers: getContainers,
|
|
27
|
+
diagrams: getDiagrams,
|
|
28
|
+
'data-products': getDataProducts,
|
|
29
|
+
};
|
package/package.json
CHANGED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 5
|
|
3
|
-
keywords:
|
|
4
|
-
- licenses
|
|
5
|
-
sidebar_label: License Validation
|
|
6
|
-
title: EventCatalog Licenses
|
|
7
|
-
description: This document describes how EventCatalog licenses work online and offline.
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
EventCatalog is an open source project with a [community edition and a commercial edition](/pricing) and also supports a range of integrations (plugins) which have their own licenses.
|
|
11
|
-
|
|
12
|
-
If you are using the commercial edition of EventCatalog, then you don't need to worry about licenses and can skip this page.
|
|
13
|
-
|
|
14
|
-
If you are using EventCatalog Starter, EventCatalog Scale, EventCatalog Enterprise or any of the integrations (plugins) you will need to set up a license key.
|
|
15
|
-
|
|
16
|
-
:::tip Want to try commercial features?
|
|
17
|
-
All licenses have a 14 day free trial. You can get a free trial license key by going to [EventCatalog Cloud](https://eventcatalog.cloud).
|
|
18
|
-
|
|
19
|
-
If you wish to continue using the commercial features after the trial period, you will need to purchase a license.
|
|
20
|
-
|
|
21
|
-
You can email us at `hello@eventcatalog.dev` to enquire about a license.
|
|
22
|
-
:::
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
### How to set up a license keys
|
|
26
|
-
|
|
27
|
-
1. Go to [EventCatalog Cloud](https://eventcatalog.cloud) and sign up for a free trial.
|
|
28
|
-
1. Once you are logged in, you can select any license you want to use or integration.
|
|
29
|
-
1. Selecting the plan or integration will give you a license key.
|
|
30
|
-
1. Store the license key in your `.env` file or as an environment variable.
|
|
31
|
-
|
|
32
|
-
### How EventCatalog validates licenses keys
|
|
33
|
-
|
|
34
|
-
##### Online License Validation (recommended)
|
|
35
|
-
|
|
36
|
-
By default, EventCatalog will validate your license key online.
|
|
37
|
-
|
|
38
|
-
Your keys are read from your `.env` file and verified against our API.
|
|
39
|
-
|
|
40
|
-
##### Offline License Validation
|
|
41
|
-
|
|
42
|
-
If you are behind a firewall or can't access the EventCatalog API, then your license keys can be validated offline.
|
|
43
|
-
|
|
44
|
-
To get offline validation working you will need to:
|
|
45
|
-
|
|
46
|
-
1. Get in contact with us at `hello@eventcatalog.dev` to get a license key `(license.jwt)`.
|
|
47
|
-
1. Once you have you license key `(license.jwt)` you put this into the root of your catalog directory.
|
|
48
|
-
1. EventCatalog will then validate your license key offline.
|
|
49
|
-
|
|
50
|
-
Your key will expire after a year of purchase, and you will need to get a new license key.
|