@eventcatalog/create-eventcatalog 3.0.5 → 3.0.7

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.
Files changed (34) hide show
  1. package/dist/index.js +11 -1
  2. package/package.json +1 -1
  3. package/templates/amazon-api-gateway/Dockerfile +23 -0
  4. package/templates/amazon-api-gateway/Dockerfile.server +23 -0
  5. package/templates/amazon-api-gateway/README-template.md +31 -0
  6. package/templates/amazon-api-gateway/dockerignore +8 -0
  7. package/templates/amazon-api-gateway/env +4 -0
  8. package/templates/amazon-api-gateway/eventcatalog.config.js +64 -0
  9. package/templates/amazon-api-gateway/eventcatalog.styles.css +1 -0
  10. package/templates/amazon-api-gateway/gitignore +27 -0
  11. package/templates/amazon-api-gateway/npmrc +1 -0
  12. package/templates/amazon-api-gateway/public/logo.png +0 -0
  13. package/templates/confluent/Dockerfile +23 -0
  14. package/templates/confluent/Dockerfile.server +23 -0
  15. package/templates/confluent/README-template.md +32 -0
  16. package/templates/confluent/dockerignore +8 -0
  17. package/templates/confluent/env +7 -0
  18. package/templates/confluent/eventcatalog.config.js +45 -0
  19. package/templates/confluent/eventcatalog.styles.css +1 -0
  20. package/templates/confluent/gitignore +27 -0
  21. package/templates/confluent/npmrc +1 -0
  22. package/templates/confluent/public/logo.png +0 -0
  23. package/templates/eventbridge/Dockerfile +23 -0
  24. package/templates/eventbridge/Dockerfile.server +23 -0
  25. package/templates/eventbridge/README-template.md +31 -0
  26. package/templates/eventbridge/dockerignore +8 -0
  27. package/templates/eventbridge/env +3 -0
  28. package/templates/eventbridge/eventcatalog.config.js +44 -0
  29. package/templates/eventbridge/eventcatalog.styles.css +1 -0
  30. package/templates/eventbridge/gitignore +27 -0
  31. package/templates/eventbridge/npmrc +1 -0
  32. package/templates/eventbridge/public/logo.png +0 -0
  33. package/templates/index.ts +13 -0
  34. package/templates/types.ts +1 -1
package/dist/index.js CHANGED
@@ -22466,7 +22466,7 @@ var import_os2 = __toESM(require("os"));
22466
22466
  var package_default = {
22467
22467
  name: "@eventcatalog/create-eventcatalog",
22468
22468
  description: "Create EventCatalog with one command",
22469
- version: "3.0.5",
22469
+ version: "3.0.7",
22470
22470
  bin: {
22471
22471
  "create-catalog": "./dist/index.js"
22472
22472
  },
@@ -22582,6 +22582,16 @@ var installTemplate = async ({
22582
22582
  if (template === "openapi") {
22583
22583
  dependencies.push("@eventcatalog/generator-openapi");
22584
22584
  }
22585
+ if (template === "confluent") {
22586
+ dependencies.push("@eventcatalog/generator-confluent-schema-registry");
22587
+ }
22588
+ if (template === "eventbridge") {
22589
+ dependencies.push("@eventcatalog/generator-eventbridge");
22590
+ }
22591
+ if (template === "amazon-apigateway") {
22592
+ dependencies.push("@eventcatalog/generator-amazon-apigateway");
22593
+ dependencies.push("@eventcatalog/generator-openapi");
22594
+ }
22585
22595
  const devDependencies = [];
22586
22596
  if (dependencies.length) {
22587
22597
  console.log();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eventcatalog/create-eventcatalog",
3
3
  "description": "Create EventCatalog with one command",
4
- "version": "3.0.5",
4
+ "version": "3.0.7",
5
5
  "bin": {
6
6
  "create-catalog": "./dist/index.js"
7
7
  },
@@ -0,0 +1,23 @@
1
+ ## Stage 1: Build the app
2
+ FROM node:lts AS build
3
+
4
+ WORKDIR /app
5
+
6
+ # Install dependencies
7
+ COPY package.json package-lock.json ./
8
+ RUN npm install
9
+
10
+ # Copy source code
11
+ COPY . .
12
+
13
+ # Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
14
+ ENV NODE_OPTIONS=--max_old_space_size=2048
15
+ # Build the app
16
+ RUN npm run build
17
+
18
+
19
+ ## Stage 2: Serve app with httpd server
20
+ FROM httpd:2.4
21
+
22
+ # Copy built app to serve
23
+ COPY --from=build /app/dist /usr/local/apache2/htdocs
@@ -0,0 +1,23 @@
1
+ # Use this Docker file if your EventCatalog output is set to `server`.
2
+ # When EventCatalog output is set to `server`, the output will be a node server.
3
+ # This server is required for certain features like the EventCatalog Chat (with your own keys).
4
+
5
+ FROM node:lts AS runtime
6
+ WORKDIR /app
7
+
8
+ # Install dependencies
9
+ COPY package.json package-lock.json ./
10
+ RUN npm install
11
+
12
+ COPY . .
13
+
14
+ # Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
15
+ ENV NODE_OPTIONS=--max_old_space_size=2048
16
+ RUN npm run build
17
+
18
+ ENV HOST=0.0.0.0
19
+ ENV PORT=3000
20
+ EXPOSE 3000
21
+
22
+ # Start the server
23
+ CMD npm run start
@@ -0,0 +1,31 @@
1
+ # My Amazon API Gateway Event Catalog
2
+
3
+ Welcome to your new Amazon API Gateway EventCatalog!
4
+
5
+ Getting started:
6
+
7
+ 1. Edit the `.env` file to configure your environment variables.
8
+ 1. Configure the apis in the `eventcatalog.config.js` file
9
+ 2. Run `npm run generate` to import your OpenAPI specs from apigateway and document them.
10
+ 3. Run `npm run dev` to start the development server.
11
+ 4. Go to localhost:3000 to view your catalog.
12
+
13
+ ### What else can you do?
14
+
15
+ With the ApiGateway integration you can :
16
+
17
+ - Document your apis
18
+ - Assign your apis to producers and consumers
19
+ - Assign resources to users and teams in your organization
20
+ - Visualize your APIGateway architecture
21
+ - And much more!
22
+
23
+ The easiest way to get started and dive deeper is to read the [EventCatalog documentation](https://www.eventcatalog.dev/docs/plugins/amazon-apigateway/intro).
24
+
25
+
26
+ ### Found a problem?
27
+
28
+ If you found a problem or have a feature request, please open an issue on [GitHub](https://github.com/event-catalog/generators).
29
+
30
+
31
+
@@ -0,0 +1,8 @@
1
+ .eventcatalog-core/
2
+ .git/
3
+ dist/
4
+ node_modules/
5
+ .gitignore
6
+ .dockerignore
7
+ Dockerfile
8
+ README.md
@@ -0,0 +1,4 @@
1
+
2
+ # Get 14 day trial license key from https://eventcatalog.cloud/
3
+ EVENTCATALOG_LICENSE_KEY_AMAZON_APIGATEWAY=
4
+ EVENTCATALOG_LICENSE_KEY_OPENAPI=
@@ -0,0 +1,64 @@
1
+ /** @type {import('@eventcatalog/core/bin/eventcatalog.config').Config} */
2
+ export default {
3
+ title: 'EventCatalog',
4
+ tagline: 'This internal platform provides a comprehensive view of our event-driven architecture across all systems. Use this portal to discover EventBridge schemas, services and domains, and understand the message contracts that connect our infrastructure',
5
+ organizationName: '<organizationName>',
6
+ homepageLink: 'https://eventcatalog.dev/',
7
+ editUrl: 'https://github.com/boyney123/eventcatalog-demo/edit/master',
8
+ // By default set to false, add true to get urls ending in /
9
+ trailingSlash: false,
10
+ // Change to make the base url of the site different, by default https://{website}.com/docs,
11
+ // changing to /company would be https://{website}.com/company/docs,
12
+ base: '/',
13
+ // Customize the logo, add your logo to public/ folder
14
+ logo: {
15
+ alt: 'EventCatalog Logo',
16
+ src: '/logo.png',
17
+ text: 'EventCatalog'
18
+ },
19
+ // Enable RSS feed for your eventcatalog
20
+ rss: {
21
+ enabled: true,
22
+ // number of items to include in the feed per resource (event, service, etc)
23
+ limit: 20
24
+ },
25
+ docs: {
26
+ sidebar: {
27
+ // TREE_VIEW will render the DOCS as a tree view and map your file system folder structure
28
+ // LIST_VIEW will render the DOCS that look familiar to API documentation websites
29
+ type: 'LIST_VIEW'
30
+ },
31
+ },
32
+ // required random generated id used by eventcatalog
33
+ cId: '<cId>',
34
+ generators: [
35
+ [
36
+ "@eventcatalog/generator-amazon-apigateway",
37
+ {
38
+ output: 'amazon-api-gateway-output',
39
+ apis: [
40
+ {
41
+ // The name of the API we want to process
42
+ name: 'EcommerceApi',
43
+ // Assume it's deployed to us-east-1, change this if you deployed somewhere else
44
+ region: 'us-east-1',
45
+ // The API stage name
46
+ stageName: 'prod',
47
+ version: '2',
48
+ }
49
+ ]
50
+ },
51
+ ],
52
+ // This will process the output of the amazon api gateway generator
53
+ // it will process the OpenAPI file and map it into a service and domain
54
+ // All routes are mapped to messages.
55
+ [
56
+ "@eventcatalog/generator-openapi",
57
+ {
58
+ services: [
59
+ { path: path.join(__dirname, "amazon-api-gateway-output", "EcommerceApi.json"), id: 'ecommerce-api', owners: ['full-stack'] },
60
+ ]
61
+ },
62
+ ],
63
+ ],
64
+ }
@@ -0,0 +1 @@
1
+ /* Custom styling support coming soon. */
@@ -0,0 +1,27 @@
1
+ # Dependencies
2
+ /node_modules
3
+
4
+ # Production
5
+ /build
6
+
7
+ # Generated files
8
+ .astro
9
+ out
10
+ dist
11
+
12
+
13
+ # Misc
14
+ .DS_Store
15
+ .env.local
16
+ .env.development.local
17
+ .env.test.local
18
+ .env.production.local
19
+
20
+ npm-debug.log*
21
+ yarn-debug.log*
22
+ yarn-error.log*
23
+
24
+ .eventcatalog-core
25
+
26
+ .env
27
+ .env-*
@@ -0,0 +1 @@
1
+ strict-peer-dependencies=false
@@ -0,0 +1,23 @@
1
+ ## Stage 1: Build the app
2
+ FROM node:lts AS build
3
+
4
+ WORKDIR /app
5
+
6
+ # Install dependencies
7
+ COPY package.json package-lock.json ./
8
+ RUN npm install
9
+
10
+ # Copy source code
11
+ COPY . .
12
+
13
+ # Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
14
+ ENV NODE_OPTIONS=--max_old_space_size=2048
15
+ # Build the app
16
+ RUN npm run build
17
+
18
+
19
+ ## Stage 2: Serve app with httpd server
20
+ FROM httpd:2.4
21
+
22
+ # Copy built app to serve
23
+ COPY --from=build /app/dist /usr/local/apache2/htdocs
@@ -0,0 +1,23 @@
1
+ # Use this Docker file if your EventCatalog output is set to `server`.
2
+ # When EventCatalog output is set to `server`, the output will be a node server.
3
+ # This server is required for certain features like the EventCatalog Chat (with your own keys).
4
+
5
+ FROM node:lts AS runtime
6
+ WORKDIR /app
7
+
8
+ # Install dependencies
9
+ COPY package.json package-lock.json ./
10
+ RUN npm install
11
+
12
+ COPY . .
13
+
14
+ # Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
15
+ ENV NODE_OPTIONS=--max_old_space_size=2048
16
+ RUN npm run build
17
+
18
+ ENV HOST=0.0.0.0
19
+ ENV PORT=3000
20
+ EXPOSE 3000
21
+
22
+ # Start the server
23
+ CMD npm run start
@@ -0,0 +1,32 @@
1
+ # My Confluent Event Catalog
2
+
3
+ Welcome to your new Confluent Event Catalog!
4
+
5
+ Getting started:
6
+
7
+ 1. Edit the `.env` file to configure your environment variables.
8
+ 1. Run Confluent Cloud locally, or configure your `schemaRegistryUrl` in the `eventcatalog.config.js` file
9
+ 2. Run `npm run generate` to import your schemas from confluent schema registry.
10
+ 3. Run `npm run dev` to start the development server.
11
+ 4. Go to localhost:3000 to view your catalog.
12
+
13
+ ### What else can you do?
14
+
15
+ With the Confluent Schema Registry integration you can :
16
+
17
+ - Document your schemas, topics
18
+ - Assign your schemas to producers and consumers
19
+ - Assign resources to users and teams in your organization
20
+ - Visualize your Kafka architecture
21
+ - Add semantic meaning to your schemas and topics
22
+ - And much more!
23
+
24
+ The easiest way to get started and dive deeper is to read the [Event Catalog documentation](https://eventcatalog.dev/docs/plugins/confluent-schema-registry/intro).
25
+
26
+
27
+ ### Found a problem?
28
+
29
+ If you found a problem or have a feature request, please open an issue on [GitHub](https://github.com/event-catalog/generators).
30
+
31
+
32
+
@@ -0,0 +1,8 @@
1
+ .eventcatalog-core/
2
+ .git/
3
+ dist/
4
+ node_modules/
5
+ .gitignore
6
+ .dockerignore
7
+ Dockerfile
8
+ README.md
@@ -0,0 +1,7 @@
1
+
2
+ # Get 14 day trial license key from https://eventcatalog.cloud/
3
+ EVENTCATALOG_LICENSE_KEY_CONFLUENT_SCHEMA_REGISTRY=
4
+
5
+ # Confluent Schema Registry API Keys (you can get them from Confluent cloud)
6
+ CONFLUENT_SCHEMA_REGISTRY_KEY=
7
+ CONFLUENT_SCHEMA_REGISTRY_KEY_SECRET=
@@ -0,0 +1,45 @@
1
+ /** @type {import('@eventcatalog/core/bin/eventcatalog.config').Config} */
2
+ export default {
3
+ title: 'EventCatalog',
4
+ tagline: 'This internal platform provides a comprehensive view of our event-driven architecture across all systems. Use this portal to discover kafka schemas, topics, services and domains, and understand the message contracts that connect our infrastructure',
5
+ organizationName: '<organizationName>',
6
+ homepageLink: 'https://eventcatalog.dev/',
7
+ editUrl: 'https://github.com/boyney123/eventcatalog-demo/edit/master',
8
+ // By default set to false, add true to get urls ending in /
9
+ trailingSlash: false,
10
+ // Change to make the base url of the site different, by default https://{website}.com/docs,
11
+ // changing to /company would be https://{website}.com/company/docs,
12
+ base: '/',
13
+ // Customize the logo, add your logo to public/ folder
14
+ logo: {
15
+ alt: 'EventCatalog Logo',
16
+ src: '/logo.png',
17
+ text: 'EventCatalog'
18
+ },
19
+ // Enable RSS feed for your eventcatalog
20
+ rss: {
21
+ enabled: true,
22
+ // number of items to include in the feed per resource (event, service, etc)
23
+ limit: 20
24
+ },
25
+ docs: {
26
+ sidebar: {
27
+ // TREE_VIEW will render the DOCS as a tree view and map your file system folder structure
28
+ // LIST_VIEW will render the DOCS that look familiar to API documentation websites
29
+ type: 'LIST_VIEW'
30
+ },
31
+ },
32
+ // required random generated id used by eventcatalog
33
+ cId: '<cId>',
34
+ generators: [
35
+ [
36
+ '@eventcatalog/generator-confluent-schema-registry',
37
+ {
38
+ // The URL for your schema registry
39
+ schemaRegistryUrl: 'http://localhost:8081',
40
+ // This will document all the schemas in the registry, not just the latest version (default is false)
41
+ includeAllVersions: true
42
+ },
43
+ ],
44
+ ],
45
+ }
@@ -0,0 +1 @@
1
+ /* Custom styling support coming soon. */
@@ -0,0 +1,27 @@
1
+ # Dependencies
2
+ /node_modules
3
+
4
+ # Production
5
+ /build
6
+
7
+ # Generated files
8
+ .astro
9
+ out
10
+ dist
11
+
12
+
13
+ # Misc
14
+ .DS_Store
15
+ .env.local
16
+ .env.development.local
17
+ .env.test.local
18
+ .env.production.local
19
+
20
+ npm-debug.log*
21
+ yarn-debug.log*
22
+ yarn-error.log*
23
+
24
+ .eventcatalog-core
25
+
26
+ .env
27
+ .env-*
@@ -0,0 +1 @@
1
+ strict-peer-dependencies=false
@@ -0,0 +1,23 @@
1
+ ## Stage 1: Build the app
2
+ FROM node:lts AS build
3
+
4
+ WORKDIR /app
5
+
6
+ # Install dependencies
7
+ COPY package.json package-lock.json ./
8
+ RUN npm install
9
+
10
+ # Copy source code
11
+ COPY . .
12
+
13
+ # Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
14
+ ENV NODE_OPTIONS=--max_old_space_size=2048
15
+ # Build the app
16
+ RUN npm run build
17
+
18
+
19
+ ## Stage 2: Serve app with httpd server
20
+ FROM httpd:2.4
21
+
22
+ # Copy built app to serve
23
+ COPY --from=build /app/dist /usr/local/apache2/htdocs
@@ -0,0 +1,23 @@
1
+ # Use this Docker file if your EventCatalog output is set to `server`.
2
+ # When EventCatalog output is set to `server`, the output will be a node server.
3
+ # This server is required for certain features like the EventCatalog Chat (with your own keys).
4
+
5
+ FROM node:lts AS runtime
6
+ WORKDIR /app
7
+
8
+ # Install dependencies
9
+ COPY package.json package-lock.json ./
10
+ RUN npm install
11
+
12
+ COPY . .
13
+
14
+ # Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
15
+ ENV NODE_OPTIONS=--max_old_space_size=2048
16
+ RUN npm run build
17
+
18
+ ENV HOST=0.0.0.0
19
+ ENV PORT=3000
20
+ EXPOSE 3000
21
+
22
+ # Start the server
23
+ CMD npm run start
@@ -0,0 +1,31 @@
1
+ # My EventBridge Event Catalog
2
+
3
+ Welcome to your new EventBridge EventCatalog!
4
+
5
+ Getting started:
6
+
7
+ 1. Edit the `.env` file to configure your environment variables.
8
+ 1. Configure the region and schema registry name in the `eventcatalog.config.js` file
9
+ 2. Run `npm run generate` to import your schemas from confluent schema registry.
10
+ 3. Run `npm run dev` to start the development server.
11
+ 4. Go to localhost:3000 to view your catalog.
12
+
13
+ ### What else can you do?
14
+
15
+ With the EventBridge integration you can :
16
+
17
+ - Document your schemas
18
+ - Assign your schemas to producers and consumers
19
+ - Assign resources to users and teams in your organization
20
+ - Visualize your EventBridge architecture
21
+ - And much more!
22
+
23
+ The easiest way to get started and dive deeper is to read the [EventCatalog documentation](https://www.eventcatalog.dev/docs/plugins/eventbridge/intro).
24
+
25
+
26
+ ### Found a problem?
27
+
28
+ If you found a problem or have a feature request, please open an issue on [GitHub](https://github.com/event-catalog/generators).
29
+
30
+
31
+
@@ -0,0 +1,8 @@
1
+ .eventcatalog-core/
2
+ .git/
3
+ dist/
4
+ node_modules/
5
+ .gitignore
6
+ .dockerignore
7
+ Dockerfile
8
+ README.md
@@ -0,0 +1,3 @@
1
+
2
+ # Get 14 day trial license key from https://eventcatalog.cloud/
3
+ EVENTCATALOG_LICENSE_KEY_EVENTBRIDGE=
@@ -0,0 +1,44 @@
1
+ /** @type {import('@eventcatalog/core/bin/eventcatalog.config').Config} */
2
+ export default {
3
+ title: 'EventCatalog',
4
+ tagline: 'This internal platform provides a comprehensive view of our event-driven architecture across all systems. Use this portal to discover EventBridge schemas, services and domains, and understand the message contracts that connect our infrastructure',
5
+ organizationName: '<organizationName>',
6
+ homepageLink: 'https://eventcatalog.dev/',
7
+ editUrl: 'https://github.com/boyney123/eventcatalog-demo/edit/master',
8
+ // By default set to false, add true to get urls ending in /
9
+ trailingSlash: false,
10
+ // Change to make the base url of the site different, by default https://{website}.com/docs,
11
+ // changing to /company would be https://{website}.com/company/docs,
12
+ base: '/',
13
+ // Customize the logo, add your logo to public/ folder
14
+ logo: {
15
+ alt: 'EventCatalog Logo',
16
+ src: '/logo.png',
17
+ text: 'EventCatalog'
18
+ },
19
+ // Enable RSS feed for your eventcatalog
20
+ rss: {
21
+ enabled: true,
22
+ // number of items to include in the feed per resource (event, service, etc)
23
+ limit: 20
24
+ },
25
+ docs: {
26
+ sidebar: {
27
+ // TREE_VIEW will render the DOCS as a tree view and map your file system folder structure
28
+ // LIST_VIEW will render the DOCS that look familiar to API documentation websites
29
+ type: 'LIST_VIEW'
30
+ },
31
+ },
32
+ // required random generated id used by eventcatalog
33
+ cId: '<cId>',
34
+ // Just import all events into the Catalog from a registry
35
+ generators: [
36
+ '@eventcatalog/generator-eventbridge',
37
+ {
38
+ // The region of your EventBridge registry
39
+ region: 'us-east-1',
40
+ // The name of your EventBridge registry
41
+ registryName: 'discovered-schemas'
42
+ },
43
+ ],
44
+ }
@@ -0,0 +1 @@
1
+ /* Custom styling support coming soon. */
@@ -0,0 +1,27 @@
1
+ # Dependencies
2
+ /node_modules
3
+
4
+ # Production
5
+ /build
6
+
7
+ # Generated files
8
+ .astro
9
+ out
10
+ dist
11
+
12
+
13
+ # Misc
14
+ .DS_Store
15
+ .env.local
16
+ .env.development.local
17
+ .env.test.local
18
+ .env.production.local
19
+
20
+ npm-debug.log*
21
+ yarn-debug.log*
22
+ yarn-error.log*
23
+
24
+ .eventcatalog-core
25
+
26
+ .env
27
+ .env-*
@@ -0,0 +1 @@
1
+ strict-peer-dependencies=false
@@ -82,6 +82,19 @@ export const installTemplate = async ({
82
82
  dependencies.push("@eventcatalog/generator-openapi");
83
83
  }
84
84
 
85
+ if (template === "confluent") {
86
+ dependencies.push("@eventcatalog/generator-confluent-schema-registry");
87
+ }
88
+
89
+ if (template === "eventbridge") {
90
+ dependencies.push("@eventcatalog/generator-eventbridge");
91
+ }
92
+
93
+ if (template === "amazon-apigateway") {
94
+ dependencies.push("@eventcatalog/generator-amazon-apigateway");
95
+ dependencies.push("@eventcatalog/generator-openapi");
96
+ }
97
+
85
98
  // "@myuser/my-package": "file:../lib"
86
99
  const devDependencies = [] as any;
87
100
 
@@ -1,6 +1,6 @@
1
1
  import { PackageManager } from "../helpers/get-pkg-manager";
2
2
 
3
- export type TemplateType = "default" | "app" | "empty" | "asyncapi" | "openapi";
3
+ export type TemplateType = "default" | "app" | "empty" | "asyncapi" | "openapi" | "confluent" | "eventbridge" | "amazon-apigateway";
4
4
  export type TemplateMode = "js" | "ts";
5
5
 
6
6
  export interface GetTemplateFileArgs {