@eventcatalog/generator-asyncapi 4.0.3 → 4.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.
package/README.md CHANGED
@@ -86,6 +86,17 @@ npm run generate
86
86
  npm run dev
87
87
  ```
88
88
 
89
+ ### Proxy Server setup
90
+
91
+ Configure environment variable `PROXY_SERVER_URI` to use a proxy server.
92
+ You can define proxy settings in URI format example below:
93
+
94
+ You can also put the variable in the `.env` file.
95
+
96
+ ```sh
97
+ PROXY_SERVER_URI="http://username:password@your-proxy.company.local" npm run generate
98
+ ```
99
+
89
100
  ## Found a problem?
90
101
 
91
102
  Raise a GitHub issue on this project, or contact us on [our Discord server](https://discord.gg/3rjaZMmrAm).
@@ -33,12 +33,14 @@ __export(checkLicense_exports, {
33
33
  default: () => checkLicense_default
34
34
  });
35
35
  module.exports = __toCommonJS(checkLicense_exports);
36
+ var import_node_fetch = __toESM(require("node-fetch"));
37
+ var import_https_proxy_agent = require("https-proxy-agent");
36
38
  var import_chalk = __toESM(require("chalk"));
37
39
 
38
40
  // package.json
39
41
  var package_default = {
40
42
  name: "@eventcatalog/generator-asyncapi",
41
- version: "4.0.3",
43
+ version: "4.1.0",
42
44
  description: "AsyncAPI generator for EventCatalog",
43
45
  scripts: {
44
46
  build: "tsup",
@@ -81,9 +83,11 @@ var package_default = {
81
83
  "fs-extra": "^11.2.0",
82
84
  glob: "^11.0.0",
83
85
  "gray-matter": "^4.0.3",
86
+ "https-proxy-agent": "^7.0.6",
84
87
  "js-yaml": "^4.1.0",
85
88
  lodash: "^4.17.21",
86
89
  minimist: "^1.2.8",
90
+ "node-fetch": "^3.3.2",
87
91
  slugify: "^1.6.6",
88
92
  "update-notifier": "^7.3.1",
89
93
  zod: "^3.23.8"
@@ -93,6 +97,7 @@ var package_default = {
93
97
  // src/checkLicense.ts
94
98
  var checkLicense_default = async (licenseKey) => {
95
99
  const LICENSE_KEY = process.env.EVENTCATALOG_LICENSE_KEY_ASYNCAPI || licenseKey || null;
100
+ const PROXY_SERVER_URI = process.env.PROXY_SERVER_URI || null;
96
101
  if (!LICENSE_KEY) {
97
102
  console.log(import_chalk.default.bgRed(`
98
103
  This plugin requires a license key to use`));
@@ -100,13 +105,29 @@ This plugin requires a license key to use`));
100
105
  Visit https://eventcatalog.cloud/ to get a 14 day trial or purchase a license`));
101
106
  process.exit(1);
102
107
  }
103
- const response = await fetch("https://api.eventcatalog.cloud/functions/v1/license", {
108
+ const fetchOptions = {
104
109
  method: "POST",
105
110
  headers: {
106
111
  Authorization: `Bearer ${LICENSE_KEY}`,
107
112
  "Content-Type": "application/json"
108
113
  }
109
- });
114
+ };
115
+ let response;
116
+ try {
117
+ if (PROXY_SERVER_URI) {
118
+ const proxyAgent = new import_https_proxy_agent.HttpsProxyAgent(PROXY_SERVER_URI);
119
+ fetchOptions.agent = proxyAgent;
120
+ }
121
+ response = await (0, import_node_fetch.default)("https://api.eventcatalog.cloud/functions/v1/license", fetchOptions);
122
+ } catch (err) {
123
+ console.log(
124
+ import_chalk.default.redBright(
125
+ "Network Connection Error: Unable to establish a connection to licence server. Check network or proxy settings."
126
+ )
127
+ );
128
+ console.log(import_chalk.default.red(`Error details: ${err?.message || err}`));
129
+ process.exit(1);
130
+ }
110
131
  if (response.status !== 200) {
111
132
  console.log(import_chalk.default.bgRed(`
112
133
  Invalid license key`));
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/checkLicense.ts","../package.json"],"sourcesContent":["import chalk from 'chalk';\nimport pkg from '../package.json';\n\ntype LicenseResponse = {\n is_trial: boolean;\n plugin: string;\n state: string;\n};\n\nexport default async (licenseKey?: string) => {\n const LICENSE_KEY = process.env.EVENTCATALOG_LICENSE_KEY_ASYNCAPI || licenseKey || null;\n\n if (!LICENSE_KEY) {\n console.log(chalk.bgRed(`\\nThis plugin requires a license key to use`));\n console.log(chalk.redBright(`\\nVisit https://eventcatalog.cloud/ to get a 14 day trial or purchase a license`));\n process.exit(1);\n }\n\n // Verify the license key\n const response = await fetch('https://api.eventcatalog.cloud/functions/v1/license', {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${LICENSE_KEY}`,\n 'Content-Type': 'application/json',\n },\n });\n\n if (response.status !== 200) {\n console.log(chalk.bgRed(`\\nInvalid license key`));\n console.log(chalk.redBright('Please check your plugin license key or purchase a license at https://eventcatalog.cloud/'));\n process.exit(1);\n }\n\n if (response.status === 200) {\n const data = (await response.json()) as LicenseResponse;\n\n if (pkg.name !== data.plugin) {\n console.log(chalk.bgRed(`\\nInvalid license key for this plugin`));\n console.log(chalk.redBright('Please check your plugin license key or purchase a license at https://eventcatalog.cloud/'));\n process.exit(1);\n }\n\n if (data.is_trial) {\n console.log(chalk.bgBlue(`\\nYou are using a trial license for this plugin`));\n }\n }\n\n return Promise.resolve();\n};\n","{\n \"name\": \"@eventcatalog/generator-asyncapi\",\n \"version\": \"4.0.3\",\n \"description\": \"AsyncAPI generator for EventCatalog\",\n \"scripts\": {\n \"build\": \"tsup\",\n \"test\": \"vitest\",\n \"format\": \"prettier --write .\",\n \"format:diff\": \"prettier --list-different .\",\n \"changeset\": \"changeset\",\n \"release\": \"changeset publish\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"keywords\": [],\n \"author\": \"\",\n \"license\": \"ISC\",\n \"devDependencies\": {\n \"@changesets/cli\": \"^2.27.9\",\n \"@types/fs-extra\": \"^11.0.4\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/lodash\": \"^4.17.7\",\n \"@types/minimist\": \"^1.2.5\",\n \"@types/node\": \"^20.16.1\",\n \"prettier\": \"^3.3.3\",\n \"tsup\": \"^8.1.0\",\n \"typescript\": \"^5.5.3\",\n \"vitest\": \"^2.0.2\"\n },\n \"files\": [\n \"dist\",\n \"package.json\"\n ],\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"dependencies\": {\n \"@asyncapi/avro-schema-parser\": \"^3.0.24\",\n \"@asyncapi/parser\": \"^3.3.0\",\n \"@eventcatalog/sdk\": \"^2.2.6\",\n \"chalk\": \"^4\",\n \"fs-extra\": \"^11.2.0\",\n \"glob\": \"^11.0.0\",\n \"gray-matter\": \"^4.0.3\",\n \"js-yaml\": \"^4.1.0\",\n \"lodash\": \"^4.17.21\",\n \"minimist\": \"^1.2.8\",\n \"slugify\": \"^1.6.6\",\n \"update-notifier\": \"^7.3.1\",\n \"zod\": \"^3.23.8\"\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;;;ACAlB;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,SAAW;AAAA,IACT,OAAS;AAAA,IACT,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,eAAe;AAAA,IACf,WAAa;AAAA,IACb,SAAW;AAAA,EACb;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,UAAY,CAAC;AAAA,EACb,QAAU;AAAA,EACV,SAAW;AAAA,EACX,iBAAmB;AAAA,IACjB,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,UAAY;AAAA,IACZ,MAAQ;AAAA,IACR,YAAc;AAAA,IACd,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,EACF;AAAA,EACA,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,OAAS;AAAA,EACT,cAAgB;AAAA,IACd,gCAAgC;AAAA,IAChC,oBAAoB;AAAA,IACpB,qBAAqB;AAAA,IACrB,OAAS;AAAA,IACT,YAAY;AAAA,IACZ,MAAQ;AAAA,IACR,eAAe;AAAA,IACf,WAAW;AAAA,IACX,QAAU;AAAA,IACV,UAAY;AAAA,IACZ,SAAW;AAAA,IACX,mBAAmB;AAAA,IACnB,KAAO;AAAA,EACT;AACF;;;AD3CA,IAAO,uBAAQ,OAAO,eAAwB;AAC5C,QAAM,cAAc,QAAQ,IAAI,qCAAqC,cAAc;AAEnF,MAAI,CAAC,aAAa;AAChB,YAAQ,IAAI,aAAAA,QAAM,MAAM;AAAA,0CAA6C,CAAC;AACtE,YAAQ,IAAI,aAAAA,QAAM,UAAU;AAAA,8EAAiF,CAAC;AAC9G,YAAQ,KAAK,CAAC;AAAA,EAChB;AAGA,QAAM,WAAW,MAAM,MAAM,uDAAuD;AAAA,IAClF,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,eAAe,UAAU,WAAW;AAAA,MACpC,gBAAgB;AAAA,IAClB;AAAA,EACF,CAAC;AAED,MAAI,SAAS,WAAW,KAAK;AAC3B,YAAQ,IAAI,aAAAA,QAAM,MAAM;AAAA,oBAAuB,CAAC;AAChD,YAAQ,IAAI,aAAAA,QAAM,UAAU,2FAA2F,CAAC;AACxH,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,SAAS,WAAW,KAAK;AAC3B,UAAM,OAAQ,MAAM,SAAS,KAAK;AAElC,QAAI,gBAAI,SAAS,KAAK,QAAQ;AAC5B,cAAQ,IAAI,aAAAA,QAAM,MAAM;AAAA,oCAAuC,CAAC;AAChE,cAAQ,IAAI,aAAAA,QAAM,UAAU,2FAA2F,CAAC;AACxH,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,QAAI,KAAK,UAAU;AACjB,cAAQ,IAAI,aAAAA,QAAM,OAAO;AAAA,8CAAiD,CAAC;AAAA,IAC7E;AAAA,EACF;AAEA,SAAO,QAAQ,QAAQ;AACzB;","names":["chalk"]}
1
+ {"version":3,"sources":["../src/checkLicense.ts","../package.json"],"sourcesContent":["import fetch from 'node-fetch';\nimport { HttpsProxyAgent } from 'https-proxy-agent';\nimport chalk from 'chalk';\nimport pkg from '../package.json';\n\ntype LicenseResponse = {\n is_trial: boolean;\n plugin: string;\n state: string;\n};\n\nexport default async (licenseKey?: string) => {\n const LICENSE_KEY = process.env.EVENTCATALOG_LICENSE_KEY_ASYNCAPI || licenseKey || null;\n const PROXY_SERVER_URI = process.env.PROXY_SERVER_URI || null;\n\n if (!LICENSE_KEY) {\n console.log(chalk.bgRed(`\\nThis plugin requires a license key to use`));\n console.log(chalk.redBright(`\\nVisit https://eventcatalog.cloud/ to get a 14 day trial or purchase a license`));\n process.exit(1);\n }\n\n // Verify the license key\n const fetchOptions: any = {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${LICENSE_KEY}`,\n 'Content-Type': 'application/json',\n },\n };\n let response: any;\n try {\n if (PROXY_SERVER_URI) {\n const proxyAgent = new HttpsProxyAgent(PROXY_SERVER_URI);\n fetchOptions.agent = proxyAgent;\n }\n response = await fetch('https://api.eventcatalog.cloud/functions/v1/license', fetchOptions);\n } catch (err: any) {\n console.log(\n chalk.redBright(\n 'Network Connection Error: Unable to establish a connection to licence server. Check network or proxy settings.'\n )\n );\n console.log(chalk.red(`Error details: ${err?.message || err}`));\n process.exit(1);\n }\n\n if (response.status !== 200) {\n console.log(chalk.bgRed(`\\nInvalid license key`));\n console.log(chalk.redBright('Please check your plugin license key or purchase a license at https://eventcatalog.cloud/'));\n process.exit(1);\n }\n\n if (response.status === 200) {\n const data = (await response.json()) as LicenseResponse;\n\n if (pkg.name !== data.plugin) {\n console.log(chalk.bgRed(`\\nInvalid license key for this plugin`));\n console.log(chalk.redBright('Please check your plugin license key or purchase a license at https://eventcatalog.cloud/'));\n process.exit(1);\n }\n\n if (data.is_trial) {\n console.log(chalk.bgBlue(`\\nYou are using a trial license for this plugin`));\n }\n }\n\n return Promise.resolve();\n};\n","{\n \"name\": \"@eventcatalog/generator-asyncapi\",\n \"version\": \"4.1.0\",\n \"description\": \"AsyncAPI generator for EventCatalog\",\n \"scripts\": {\n \"build\": \"tsup\",\n \"test\": \"vitest\",\n \"format\": \"prettier --write .\",\n \"format:diff\": \"prettier --list-different .\",\n \"changeset\": \"changeset\",\n \"release\": \"changeset publish\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"keywords\": [],\n \"author\": \"\",\n \"license\": \"ISC\",\n \"devDependencies\": {\n \"@changesets/cli\": \"^2.27.9\",\n \"@types/fs-extra\": \"^11.0.4\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/lodash\": \"^4.17.7\",\n \"@types/minimist\": \"^1.2.5\",\n \"@types/node\": \"^20.16.1\",\n \"prettier\": \"^3.3.3\",\n \"tsup\": \"^8.1.0\",\n \"typescript\": \"^5.5.3\",\n \"vitest\": \"^2.0.2\"\n },\n \"files\": [\n \"dist\",\n \"package.json\"\n ],\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"dependencies\": {\n \"@asyncapi/avro-schema-parser\": \"^3.0.24\",\n \"@asyncapi/parser\": \"^3.3.0\",\n \"@eventcatalog/sdk\": \"^2.2.6\",\n \"chalk\": \"^4\",\n \"fs-extra\": \"^11.2.0\",\n \"glob\": \"^11.0.0\",\n \"gray-matter\": \"^4.0.3\",\n \"https-proxy-agent\": \"^7.0.6\",\n \"js-yaml\": \"^4.1.0\",\n \"lodash\": \"^4.17.21\",\n \"minimist\": \"^1.2.8\",\n \"node-fetch\": \"^3.3.2\",\n \"slugify\": \"^1.6.6\",\n \"update-notifier\": \"^7.3.1\",\n \"zod\": \"^3.23.8\"\n }\n}\n"],"mappings":"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","names":["chalk","fetch"]}
@@ -1,10 +1,12 @@
1
1
  // src/checkLicense.ts
2
+ import fetch from "node-fetch";
3
+ import { HttpsProxyAgent } from "https-proxy-agent";
2
4
  import chalk from "chalk";
3
5
 
4
6
  // package.json
5
7
  var package_default = {
6
8
  name: "@eventcatalog/generator-asyncapi",
7
- version: "4.0.3",
9
+ version: "4.1.0",
8
10
  description: "AsyncAPI generator for EventCatalog",
9
11
  scripts: {
10
12
  build: "tsup",
@@ -47,9 +49,11 @@ var package_default = {
47
49
  "fs-extra": "^11.2.0",
48
50
  glob: "^11.0.0",
49
51
  "gray-matter": "^4.0.3",
52
+ "https-proxy-agent": "^7.0.6",
50
53
  "js-yaml": "^4.1.0",
51
54
  lodash: "^4.17.21",
52
55
  minimist: "^1.2.8",
56
+ "node-fetch": "^3.3.2",
53
57
  slugify: "^1.6.6",
54
58
  "update-notifier": "^7.3.1",
55
59
  zod: "^3.23.8"
@@ -59,6 +63,7 @@ var package_default = {
59
63
  // src/checkLicense.ts
60
64
  var checkLicense_default = async (licenseKey) => {
61
65
  const LICENSE_KEY = process.env.EVENTCATALOG_LICENSE_KEY_ASYNCAPI || licenseKey || null;
66
+ const PROXY_SERVER_URI = process.env.PROXY_SERVER_URI || null;
62
67
  if (!LICENSE_KEY) {
63
68
  console.log(chalk.bgRed(`
64
69
  This plugin requires a license key to use`));
@@ -66,13 +71,29 @@ This plugin requires a license key to use`));
66
71
  Visit https://eventcatalog.cloud/ to get a 14 day trial or purchase a license`));
67
72
  process.exit(1);
68
73
  }
69
- const response = await fetch("https://api.eventcatalog.cloud/functions/v1/license", {
74
+ const fetchOptions = {
70
75
  method: "POST",
71
76
  headers: {
72
77
  Authorization: `Bearer ${LICENSE_KEY}`,
73
78
  "Content-Type": "application/json"
74
79
  }
75
- });
80
+ };
81
+ let response;
82
+ try {
83
+ if (PROXY_SERVER_URI) {
84
+ const proxyAgent = new HttpsProxyAgent(PROXY_SERVER_URI);
85
+ fetchOptions.agent = proxyAgent;
86
+ }
87
+ response = await fetch("https://api.eventcatalog.cloud/functions/v1/license", fetchOptions);
88
+ } catch (err) {
89
+ console.log(
90
+ chalk.redBright(
91
+ "Network Connection Error: Unable to establish a connection to licence server. Check network or proxy settings."
92
+ )
93
+ );
94
+ console.log(chalk.red(`Error details: ${err?.message || err}`));
95
+ process.exit(1);
96
+ }
76
97
  if (response.status !== 200) {
77
98
  console.log(chalk.bgRed(`
78
99
  Invalid license key`));
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/checkLicense.ts","../package.json"],"sourcesContent":["import chalk from 'chalk';\nimport pkg from '../package.json';\n\ntype LicenseResponse = {\n is_trial: boolean;\n plugin: string;\n state: string;\n};\n\nexport default async (licenseKey?: string) => {\n const LICENSE_KEY = process.env.EVENTCATALOG_LICENSE_KEY_ASYNCAPI || licenseKey || null;\n\n if (!LICENSE_KEY) {\n console.log(chalk.bgRed(`\\nThis plugin requires a license key to use`));\n console.log(chalk.redBright(`\\nVisit https://eventcatalog.cloud/ to get a 14 day trial or purchase a license`));\n process.exit(1);\n }\n\n // Verify the license key\n const response = await fetch('https://api.eventcatalog.cloud/functions/v1/license', {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${LICENSE_KEY}`,\n 'Content-Type': 'application/json',\n },\n });\n\n if (response.status !== 200) {\n console.log(chalk.bgRed(`\\nInvalid license key`));\n console.log(chalk.redBright('Please check your plugin license key or purchase a license at https://eventcatalog.cloud/'));\n process.exit(1);\n }\n\n if (response.status === 200) {\n const data = (await response.json()) as LicenseResponse;\n\n if (pkg.name !== data.plugin) {\n console.log(chalk.bgRed(`\\nInvalid license key for this plugin`));\n console.log(chalk.redBright('Please check your plugin license key or purchase a license at https://eventcatalog.cloud/'));\n process.exit(1);\n }\n\n if (data.is_trial) {\n console.log(chalk.bgBlue(`\\nYou are using a trial license for this plugin`));\n }\n }\n\n return Promise.resolve();\n};\n","{\n \"name\": \"@eventcatalog/generator-asyncapi\",\n \"version\": \"4.0.3\",\n \"description\": \"AsyncAPI generator for EventCatalog\",\n \"scripts\": {\n \"build\": \"tsup\",\n \"test\": \"vitest\",\n \"format\": \"prettier --write .\",\n \"format:diff\": \"prettier --list-different .\",\n \"changeset\": \"changeset\",\n \"release\": \"changeset publish\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"keywords\": [],\n \"author\": \"\",\n \"license\": \"ISC\",\n \"devDependencies\": {\n \"@changesets/cli\": \"^2.27.9\",\n \"@types/fs-extra\": \"^11.0.4\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/lodash\": \"^4.17.7\",\n \"@types/minimist\": \"^1.2.5\",\n \"@types/node\": \"^20.16.1\",\n \"prettier\": \"^3.3.3\",\n \"tsup\": \"^8.1.0\",\n \"typescript\": \"^5.5.3\",\n \"vitest\": \"^2.0.2\"\n },\n \"files\": [\n \"dist\",\n \"package.json\"\n ],\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"dependencies\": {\n \"@asyncapi/avro-schema-parser\": \"^3.0.24\",\n \"@asyncapi/parser\": \"^3.3.0\",\n \"@eventcatalog/sdk\": \"^2.2.6\",\n \"chalk\": \"^4\",\n \"fs-extra\": \"^11.2.0\",\n \"glob\": \"^11.0.0\",\n \"gray-matter\": \"^4.0.3\",\n \"js-yaml\": \"^4.1.0\",\n \"lodash\": \"^4.17.21\",\n \"minimist\": \"^1.2.8\",\n \"slugify\": \"^1.6.6\",\n \"update-notifier\": \"^7.3.1\",\n \"zod\": \"^3.23.8\"\n }\n}\n"],"mappings":";AAAA,OAAO,WAAW;;;ACAlB;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,SAAW;AAAA,IACT,OAAS;AAAA,IACT,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,eAAe;AAAA,IACf,WAAa;AAAA,IACb,SAAW;AAAA,EACb;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,UAAY,CAAC;AAAA,EACb,QAAU;AAAA,EACV,SAAW;AAAA,EACX,iBAAmB;AAAA,IACjB,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,UAAY;AAAA,IACZ,MAAQ;AAAA,IACR,YAAc;AAAA,IACd,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,EACF;AAAA,EACA,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,OAAS;AAAA,EACT,cAAgB;AAAA,IACd,gCAAgC;AAAA,IAChC,oBAAoB;AAAA,IACpB,qBAAqB;AAAA,IACrB,OAAS;AAAA,IACT,YAAY;AAAA,IACZ,MAAQ;AAAA,IACR,eAAe;AAAA,IACf,WAAW;AAAA,IACX,QAAU;AAAA,IACV,UAAY;AAAA,IACZ,SAAW;AAAA,IACX,mBAAmB;AAAA,IACnB,KAAO;AAAA,EACT;AACF;;;AD3CA,IAAO,uBAAQ,OAAO,eAAwB;AAC5C,QAAM,cAAc,QAAQ,IAAI,qCAAqC,cAAc;AAEnF,MAAI,CAAC,aAAa;AAChB,YAAQ,IAAI,MAAM,MAAM;AAAA,0CAA6C,CAAC;AACtE,YAAQ,IAAI,MAAM,UAAU;AAAA,8EAAiF,CAAC;AAC9G,YAAQ,KAAK,CAAC;AAAA,EAChB;AAGA,QAAM,WAAW,MAAM,MAAM,uDAAuD;AAAA,IAClF,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,eAAe,UAAU,WAAW;AAAA,MACpC,gBAAgB;AAAA,IAClB;AAAA,EACF,CAAC;AAED,MAAI,SAAS,WAAW,KAAK;AAC3B,YAAQ,IAAI,MAAM,MAAM;AAAA,oBAAuB,CAAC;AAChD,YAAQ,IAAI,MAAM,UAAU,2FAA2F,CAAC;AACxH,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,SAAS,WAAW,KAAK;AAC3B,UAAM,OAAQ,MAAM,SAAS,KAAK;AAElC,QAAI,gBAAI,SAAS,KAAK,QAAQ;AAC5B,cAAQ,IAAI,MAAM,MAAM;AAAA,oCAAuC,CAAC;AAChE,cAAQ,IAAI,MAAM,UAAU,2FAA2F,CAAC;AACxH,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,QAAI,KAAK,UAAU;AACjB,cAAQ,IAAI,MAAM,OAAO;AAAA,8CAAiD,CAAC;AAAA,IAC7E;AAAA,EACF;AAEA,SAAO,QAAQ,QAAQ;AACzB;","names":[]}
1
+ {"version":3,"sources":["../src/checkLicense.ts","../package.json"],"sourcesContent":["import fetch from 'node-fetch';\nimport { HttpsProxyAgent } from 'https-proxy-agent';\nimport chalk from 'chalk';\nimport pkg from '../package.json';\n\ntype LicenseResponse = {\n is_trial: boolean;\n plugin: string;\n state: string;\n};\n\nexport default async (licenseKey?: string) => {\n const LICENSE_KEY = process.env.EVENTCATALOG_LICENSE_KEY_ASYNCAPI || licenseKey || null;\n const PROXY_SERVER_URI = process.env.PROXY_SERVER_URI || null;\n\n if (!LICENSE_KEY) {\n console.log(chalk.bgRed(`\\nThis plugin requires a license key to use`));\n console.log(chalk.redBright(`\\nVisit https://eventcatalog.cloud/ to get a 14 day trial or purchase a license`));\n process.exit(1);\n }\n\n // Verify the license key\n const fetchOptions: any = {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${LICENSE_KEY}`,\n 'Content-Type': 'application/json',\n },\n };\n let response: any;\n try {\n if (PROXY_SERVER_URI) {\n const proxyAgent = new HttpsProxyAgent(PROXY_SERVER_URI);\n fetchOptions.agent = proxyAgent;\n }\n response = await fetch('https://api.eventcatalog.cloud/functions/v1/license', fetchOptions);\n } catch (err: any) {\n console.log(\n chalk.redBright(\n 'Network Connection Error: Unable to establish a connection to licence server. Check network or proxy settings.'\n )\n );\n console.log(chalk.red(`Error details: ${err?.message || err}`));\n process.exit(1);\n }\n\n if (response.status !== 200) {\n console.log(chalk.bgRed(`\\nInvalid license key`));\n console.log(chalk.redBright('Please check your plugin license key or purchase a license at https://eventcatalog.cloud/'));\n process.exit(1);\n }\n\n if (response.status === 200) {\n const data = (await response.json()) as LicenseResponse;\n\n if (pkg.name !== data.plugin) {\n console.log(chalk.bgRed(`\\nInvalid license key for this plugin`));\n console.log(chalk.redBright('Please check your plugin license key or purchase a license at https://eventcatalog.cloud/'));\n process.exit(1);\n }\n\n if (data.is_trial) {\n console.log(chalk.bgBlue(`\\nYou are using a trial license for this plugin`));\n }\n }\n\n return Promise.resolve();\n};\n","{\n \"name\": \"@eventcatalog/generator-asyncapi\",\n \"version\": \"4.1.0\",\n \"description\": \"AsyncAPI generator for EventCatalog\",\n \"scripts\": {\n \"build\": \"tsup\",\n \"test\": \"vitest\",\n \"format\": \"prettier --write .\",\n \"format:diff\": \"prettier --list-different .\",\n \"changeset\": \"changeset\",\n \"release\": \"changeset publish\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"keywords\": [],\n \"author\": \"\",\n \"license\": \"ISC\",\n \"devDependencies\": {\n \"@changesets/cli\": \"^2.27.9\",\n \"@types/fs-extra\": \"^11.0.4\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/lodash\": \"^4.17.7\",\n \"@types/minimist\": \"^1.2.5\",\n \"@types/node\": \"^20.16.1\",\n \"prettier\": \"^3.3.3\",\n \"tsup\": \"^8.1.0\",\n \"typescript\": \"^5.5.3\",\n \"vitest\": \"^2.0.2\"\n },\n \"files\": [\n \"dist\",\n \"package.json\"\n ],\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"dependencies\": {\n \"@asyncapi/avro-schema-parser\": \"^3.0.24\",\n \"@asyncapi/parser\": \"^3.3.0\",\n \"@eventcatalog/sdk\": \"^2.2.6\",\n \"chalk\": \"^4\",\n \"fs-extra\": \"^11.2.0\",\n \"glob\": \"^11.0.0\",\n \"gray-matter\": \"^4.0.3\",\n \"https-proxy-agent\": \"^7.0.6\",\n \"js-yaml\": \"^4.1.0\",\n \"lodash\": \"^4.17.21\",\n \"minimist\": \"^1.2.8\",\n \"node-fetch\": \"^3.3.2\",\n \"slugify\": \"^1.6.6\",\n \"update-notifier\": \"^7.3.1\",\n \"zod\": \"^3.23.8\"\n }\n}\n"],"mappings":";AAAA,OAAO,WAAW;AAClB,SAAS,uBAAuB;AAChC,OAAO,WAAW;;;ACFlB;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,SAAW;AAAA,IACT,OAAS;AAAA,IACT,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,eAAe;AAAA,IACf,WAAa;AAAA,IACb,SAAW;AAAA,EACb;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,UAAY,CAAC;AAAA,EACb,QAAU;AAAA,EACV,SAAW;AAAA,EACX,iBAAmB;AAAA,IACjB,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,UAAY;AAAA,IACZ,MAAQ;AAAA,IACR,YAAc;AAAA,IACd,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,EACF;AAAA,EACA,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,OAAS;AAAA,EACT,cAAgB;AAAA,IACd,gCAAgC;AAAA,IAChC,oBAAoB;AAAA,IACpB,qBAAqB;AAAA,IACrB,OAAS;AAAA,IACT,YAAY;AAAA,IACZ,MAAQ;AAAA,IACR,eAAe;AAAA,IACf,qBAAqB;AAAA,IACrB,WAAW;AAAA,IACX,QAAU;AAAA,IACV,UAAY;AAAA,IACZ,cAAc;AAAA,IACd,SAAW;AAAA,IACX,mBAAmB;AAAA,IACnB,KAAO;AAAA,EACT;AACF;;;AD3CA,IAAO,uBAAQ,OAAO,eAAwB;AAC5C,QAAM,cAAc,QAAQ,IAAI,qCAAqC,cAAc;AACnF,QAAM,mBAAmB,QAAQ,IAAI,oBAAoB;AAEzD,MAAI,CAAC,aAAa;AAChB,YAAQ,IAAI,MAAM,MAAM;AAAA,0CAA6C,CAAC;AACtE,YAAQ,IAAI,MAAM,UAAU;AAAA,8EAAiF,CAAC;AAC9G,YAAQ,KAAK,CAAC;AAAA,EAChB;AAGA,QAAM,eAAoB;AAAA,IACxB,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,eAAe,UAAU,WAAW;AAAA,MACpC,gBAAgB;AAAA,IAClB;AAAA,EACF;AACA,MAAI;AACJ,MAAI;AACF,QAAI,kBAAkB;AACpB,YAAM,aAAa,IAAI,gBAAgB,gBAAgB;AACvD,mBAAa,QAAQ;AAAA,IACvB;AACA,eAAW,MAAM,MAAM,uDAAuD,YAAY;AAAA,EAC5F,SAAS,KAAU;AACjB,YAAQ;AAAA,MACN,MAAM;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AACA,YAAQ,IAAI,MAAM,IAAI,kBAAkB,KAAK,WAAW,GAAG,EAAE,CAAC;AAC9D,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,SAAS,WAAW,KAAK;AAC3B,YAAQ,IAAI,MAAM,MAAM;AAAA,oBAAuB,CAAC;AAChD,YAAQ,IAAI,MAAM,UAAU,2FAA2F,CAAC;AACxH,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,SAAS,WAAW,KAAK;AAC3B,UAAM,OAAQ,MAAM,SAAS,KAAK;AAElC,QAAI,gBAAI,SAAS,KAAK,QAAQ;AAC5B,cAAQ,IAAI,MAAM,MAAM;AAAA,oCAAuC,CAAC;AAChE,cAAQ,IAAI,MAAM,UAAU,2FAA2F,CAAC;AACxH,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,QAAI,KAAK,UAAU;AACjB,cAAQ,IAAI,MAAM,OAAO;AAAA,8CAAiD,CAAC;AAAA,IAC7E;AAAA,EACF;AAEA,SAAO,QAAQ,QAAQ;AACzB;","names":[]}
package/dist/index.js CHANGED
@@ -301,7 +301,7 @@ var import_path2 = __toESM(require("path"));
301
301
  // package.json
302
302
  var package_default = {
303
303
  name: "@eventcatalog/generator-asyncapi",
304
- version: "4.0.3",
304
+ version: "4.1.0",
305
305
  description: "AsyncAPI generator for EventCatalog",
306
306
  scripts: {
307
307
  build: "tsup",
@@ -344,9 +344,11 @@ var package_default = {
344
344
  "fs-extra": "^11.2.0",
345
345
  glob: "^11.0.0",
346
346
  "gray-matter": "^4.0.3",
347
+ "https-proxy-agent": "^7.0.6",
347
348
  "js-yaml": "^4.1.0",
348
349
  lodash: "^4.17.21",
349
350
  minimist: "^1.2.8",
351
+ "node-fetch": "^3.3.2",
350
352
  slugify: "^1.6.6",
351
353
  "update-notifier": "^7.3.1",
352
354
  zod: "^3.23.8"
@@ -1351,9 +1353,12 @@ var defaultMarkdown4 = (_document, channel) => {
1351
1353
  };
1352
1354
 
1353
1355
  // src/checkLicense.ts
1356
+ var import_node_fetch = __toESM(require("node-fetch"));
1357
+ var import_https_proxy_agent = require("https-proxy-agent");
1354
1358
  var import_chalk2 = __toESM(require("chalk"));
1355
1359
  var checkLicense_default = async (licenseKey) => {
1356
1360
  const LICENSE_KEY = process.env.EVENTCATALOG_LICENSE_KEY_ASYNCAPI || licenseKey || null;
1361
+ const PROXY_SERVER_URI = process.env.PROXY_SERVER_URI || null;
1357
1362
  if (!LICENSE_KEY) {
1358
1363
  console.log(import_chalk2.default.bgRed(`
1359
1364
  This plugin requires a license key to use`));
@@ -1361,13 +1366,29 @@ This plugin requires a license key to use`));
1361
1366
  Visit https://eventcatalog.cloud/ to get a 14 day trial or purchase a license`));
1362
1367
  process.exit(1);
1363
1368
  }
1364
- const response = await fetch("https://api.eventcatalog.cloud/functions/v1/license", {
1369
+ const fetchOptions = {
1365
1370
  method: "POST",
1366
1371
  headers: {
1367
1372
  Authorization: `Bearer ${LICENSE_KEY}`,
1368
1373
  "Content-Type": "application/json"
1369
1374
  }
1370
- });
1375
+ };
1376
+ let response;
1377
+ try {
1378
+ if (PROXY_SERVER_URI) {
1379
+ const proxyAgent = new import_https_proxy_agent.HttpsProxyAgent(PROXY_SERVER_URI);
1380
+ fetchOptions.agent = proxyAgent;
1381
+ }
1382
+ response = await (0, import_node_fetch.default)("https://api.eventcatalog.cloud/functions/v1/license", fetchOptions);
1383
+ } catch (err) {
1384
+ console.log(
1385
+ import_chalk2.default.redBright(
1386
+ "Network Connection Error: Unable to establish a connection to licence server. Check network or proxy settings."
1387
+ )
1388
+ );
1389
+ console.log(import_chalk2.default.red(`Error details: ${err?.message || err}`));
1390
+ process.exit(1);
1391
+ }
1371
1392
  if (response.status !== 200) {
1372
1393
  console.log(import_chalk2.default.bgRed(`
1373
1394
  Invalid license key`));