From c7bef99e62092af686e9ca5505c6e8c6a755b585 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Thu, 25 May 2023 15:08:07 +0200 Subject: [PATCH 01/56] fix: update @asyncapi/modelina to 1.7.0 version (#594) --- package-lock.json | 47 +++++++++++++---------------------------------- package.json | 2 +- 2 files changed, 14 insertions(+), 35 deletions(-) diff --git a/package-lock.json b/package-lock.json index d7857b02150..0978b4d4d42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", "@asyncapi/generator": "^1.10.0", - "@asyncapi/modelina": "^1.6.1", + "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", "@asyncapi/parser": "^2.0.0", @@ -479,18 +479,20 @@ "link": true }, "node_modules/@asyncapi/modelina": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@asyncapi/modelina/-/modelina-1.6.1.tgz", - "integrity": "sha512-BF6vIkKU2iMmzm1sHFVnE3sbYwvJ7nAyFekjEWVA9tfo9hPYSTtth42p06hkJQAlL8muqwlKvlU78TnmNZgy5A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@asyncapi/modelina/-/modelina-1.7.0.tgz", + "integrity": "sha512-fIZ2pQEMubPRdShKYiUB2SN0NcxUQxvr6NEgZ1sfqInkWnkXyPQgung6LMEL5fkVOHIUa5tYBg1w23MISHF5eg==", "dependencies": { "@apidevtools/json-schema-ref-parser": "^9.0.9", "@apidevtools/swagger-parser": "^10.0.3", + "@asyncapi/avro-schema-parser": "^3.0.0", + "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/parser": "^2.0.0", + "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@swc/core": "^1.3.5", "@swc/jest": "^0.2.23", "alterschema": "^1.1.2", "change-case": "^4.1.2", - "conventional-changelog-conventionalcommits": "^5.0.0", "openapi-types": "9.3.0", "typescript-json-schema": "^0.53.0" }, @@ -498,19 +500,6 @@ "node": ">=14" } }, - "node_modules/@asyncapi/modelina/node_modules/conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@asyncapi/openapi-schema-parser": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.0.tgz", @@ -23942,32 +23931,22 @@ } }, "@asyncapi/modelina": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@asyncapi/modelina/-/modelina-1.6.1.tgz", - "integrity": "sha512-BF6vIkKU2iMmzm1sHFVnE3sbYwvJ7nAyFekjEWVA9tfo9hPYSTtth42p06hkJQAlL8muqwlKvlU78TnmNZgy5A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@asyncapi/modelina/-/modelina-1.7.0.tgz", + "integrity": "sha512-fIZ2pQEMubPRdShKYiUB2SN0NcxUQxvr6NEgZ1sfqInkWnkXyPQgung6LMEL5fkVOHIUa5tYBg1w23MISHF5eg==", "requires": { "@apidevtools/json-schema-ref-parser": "^9.0.9", "@apidevtools/swagger-parser": "^10.0.3", + "@asyncapi/avro-schema-parser": "^3.0.0", + "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/parser": "^2.0.0", + "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@swc/core": "^1.3.5", "@swc/jest": "^0.2.23", "alterschema": "^1.1.2", "change-case": "^4.1.2", - "conventional-changelog-conventionalcommits": "^5.0.0", "openapi-types": "9.3.0", "typescript-json-schema": "^0.53.0" - }, - "dependencies": { - "conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - } } }, "@asyncapi/openapi-schema-parser": { diff --git a/package.json b/package.json index cec059b596d..aac11fa07de 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", "@asyncapi/generator": "^1.10.0", - "@asyncapi/modelina": "^1.6.1", + "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", "@asyncapi/parser": "^2.0.0", From cfccec2d0ab5bec545093c9a3d95ff77f423d780 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Thu, 25 May 2023 15:16:33 +0200 Subject: [PATCH 02/56] chore(release): v0.44.1 (#595) --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0978b4d4d42..10d6a1cc058 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@asyncapi/cli", - "version": "0.44.0", + "version": "0.44.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@asyncapi/cli", - "version": "0.44.0", + "version": "0.44.1", "license": "Apache-2.0", "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.0", diff --git a/package.json b/package.json index aac11fa07de..38f8766bd6a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@asyncapi/cli", "description": "All in one CLI for all AsyncAPI tools", - "version": "0.44.0", + "version": "0.44.1", "author": "@asyncapi", "bin": { "asyncapi": "./bin/run" From 17f79adb8d6fb5d460633618644b63871e687ef4 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Fri, 26 May 2023 01:11:37 +0200 Subject: [PATCH 03/56] fix: update @asyncapi/generator to 1.10.1 version (#596) --- package-lock.json | 69 +++++++---------------------------------------- package.json | 2 +- 2 files changed, 10 insertions(+), 61 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10d6a1cc058..f292d0d1099 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", - "@asyncapi/generator": "^1.10.0", + "@asyncapi/generator": "^1.10.1", "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", @@ -272,9 +272,9 @@ } }, "node_modules/@asyncapi/generator": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.0.tgz", - "integrity": "sha512-Tcs4lz4BU5cpuZ/smxm7mmzPSpXL2+yppAnq1FocFl6ObAvCpG4vHqwoH8aZT6licsn7TTv+5VDrgi4N+MdvPQ==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.1.tgz", + "integrity": "sha512-jSAX1mQPr/tSUNgxvdfM8G5rwBqGMgTCaQW8hhBViWhjxakzCWD/uRV4V2Tj1d51qvT7Brnj6PEWEX1ytlFV1w==", "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.0", "@asyncapi/generator-react-sdk": "^0.2.23", @@ -282,10 +282,9 @@ "@asyncapi/parser": "^2.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@npmcli/arborist": "^2.2.4", - "ajv": "^6.10.2", + "ajv": "^8.12.0", "chokidar": "^3.4.0", "commander": "^6.1.0", - "conventional-changelog-conventionalcommits": "^5.0.0", "filenamify": "^4.1.0", "fs.extra": "^1.3.2", "global-dirs": "^3.0.0", @@ -420,34 +419,6 @@ "node": ">=0.10.0" } }, - "node_modules/@asyncapi/generator/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@asyncapi/generator/node_modules/conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@asyncapi/generator/node_modules/simple-git": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.17.0.tgz", @@ -23764,9 +23735,9 @@ } }, "@asyncapi/generator": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.0.tgz", - "integrity": "sha512-Tcs4lz4BU5cpuZ/smxm7mmzPSpXL2+yppAnq1FocFl6ObAvCpG4vHqwoH8aZT6licsn7TTv+5VDrgi4N+MdvPQ==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.1.tgz", + "integrity": "sha512-jSAX1mQPr/tSUNgxvdfM8G5rwBqGMgTCaQW8hhBViWhjxakzCWD/uRV4V2Tj1d51qvT7Brnj6PEWEX1ytlFV1w==", "requires": { "@asyncapi/avro-schema-parser": "^3.0.0", "@asyncapi/generator-react-sdk": "^0.2.23", @@ -23774,10 +23745,9 @@ "@asyncapi/parser": "^2.0.0", "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@npmcli/arborist": "^2.2.4", - "ajv": "^6.10.2", + "ajv": "^8.12.0", "chokidar": "^3.4.0", "commander": "^6.1.0", - "conventional-changelog-conventionalcommits": "^5.0.0", "filenamify": "^4.1.0", "fs.extra": "^1.3.2", "global-dirs": "^3.0.0", @@ -23798,27 +23768,6 @@ "typescript": "^4.9.3" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - }, "simple-git": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.17.0.tgz", diff --git a/package.json b/package.json index 38f8766bd6a..a34be4bdab7 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", - "@asyncapi/generator": "^1.10.0", + "@asyncapi/generator": "^1.10.1", "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", From 4714cc3f23b32b60c992f14ef256ea2d29242e61 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Fri, 26 May 2023 01:21:37 +0200 Subject: [PATCH 04/56] chore(release): v0.44.2 (#597) --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f292d0d1099..eeeddf63c00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@asyncapi/cli", - "version": "0.44.1", + "version": "0.44.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@asyncapi/cli", - "version": "0.44.1", + "version": "0.44.2", "license": "Apache-2.0", "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.0", diff --git a/package.json b/package.json index a34be4bdab7..d44a3b3d25f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@asyncapi/cli", "description": "All in one CLI for all AsyncAPI tools", - "version": "0.44.1", + "version": "0.44.2", "author": "@asyncapi", "bin": { "asyncapi": "./bin/run" From f345194c3bb8844dff2b0232da4b59c34c60e0a9 Mon Sep 17 00:00:00 2001 From: Viacheslav Turovskyi Date: Mon, 29 May 2023 15:31:20 +0300 Subject: [PATCH 05/56] feat: add `versions` to output versions of AsyncAPI tools used (#361) (#555) --- src/commands/config/versions.ts | 56 +++++++++++++++++++++++++++ test/commands/config/versions.test.ts | 27 +++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 src/commands/config/versions.ts create mode 100644 test/commands/config/versions.test.ts diff --git a/src/commands/config/versions.ts b/src/commands/config/versions.ts new file mode 100644 index 00000000000..76ce1953328 --- /dev/null +++ b/src/commands/config/versions.ts @@ -0,0 +1,56 @@ +import { Flags } from '@oclif/core'; +import Command from '../../base'; + +export default class Versions extends Command { + static description = 'Show versions of AsyncAPI tools used'; + + static flags = { + help: Flags.help({ char: 'h' }), + }; + + async run() { + const dependencies: string[] = []; + let dependency = ''; + + // Preparation of the array with all dependencies '@asyncapi/*' along with + // their versions. + for (const key in this.config.pjson.dependencies) { + // Making sure with .indexOf() that only package names which START with + // string '@asyncapi' are considered. + if (key.indexOf('@asyncapi', 0) === 0) { + // Avoiding obvious crash on manual removal or alteration of an + // '@asyncapi' package. + try { + // Goofy name `importedPJSON` is chosen to distinguish from name `pjson` + // used in `@oclif` source code. + const importedPJSON = await import(`${key}/package.json`); + dependencies.push(`${key}/${importedPJSON.default.version}`); + } catch (e) { + dependencies.push(`${key}/` + '`package.json` not found'); + } + } + } + + // Showing information available with `--version` flag. + this.log(this.config.userAgent); + + // Iteration through the array containing all dependencies '@asyncapi/*' + // along with their versions. + for (let i = 0; i < dependencies.length; i++) { + // Minimization of the theoretical possibility of a Generic Object + // Injection Sink, at the same time disabling eslint parsing for this + // line since it is actually a false positive. + // https://github.com/eslint-community/eslint-plugin-security/issues/21#issuecomment-530184612 + // https://github.com/eslint-community/eslint-plugin-security/issues/21#issuecomment-1157887653 + // https://web.archive.org/web/20150430062816/https://blog.liftsecurity.io/2015/01/15/the-dangers-of-square-bracket-notation + dependency = dependencies[i]; // eslint-disable-line + if (i !== dependencies.length - 1) { + this.log(` ├${dependency}`); + } else { + this.log(` └${dependency}\n`); + } + } + + this.log(`Repository: ${this.config.pjson.homepage}`); + } +} diff --git a/test/commands/config/versions.test.ts b/test/commands/config/versions.test.ts new file mode 100644 index 00000000000..cf385a4a75e --- /dev/null +++ b/test/commands/config/versions.test.ts @@ -0,0 +1,27 @@ +import { test } from '@oclif/test'; + +describe('versions', () => { + describe('config:versions', () => { + test + .stderr() + .stdout() + .command(['config:versions']) + .it('should show versions of AsyncAPI tools used', (ctx, done) => { + expect(ctx.stdout).toContain('@asyncapi/cli/'); + expect(ctx.stdout).toContain('├@asyncapi/'); + expect(ctx.stdout).toContain('└@asyncapi/'); + expect(ctx.stderr).toEqual(''); + done(); + }); + + test + .stderr() + .stdout() + .command(['config:versions']) + .it('should show address of repository of AsyncAPI CLI', (ctx, done) => { + expect(ctx.stdout).toContain('https://github.com/asyncapi/cli'); + expect(ctx.stderr).toEqual(''); + done(); + }); + }); +}); From 7a82239fbfc3a07adbf70ac814ea3a11e20256f7 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Mon, 29 May 2023 14:38:27 +0200 Subject: [PATCH 06/56] chore(release): v0.45.0 (#600) --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index eeeddf63c00..c08b1102d67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@asyncapi/cli", - "version": "0.44.2", + "version": "0.45.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@asyncapi/cli", - "version": "0.44.2", + "version": "0.45.0", "license": "Apache-2.0", "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.0", diff --git a/package.json b/package.json index d44a3b3d25f..0ca83adbd02 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@asyncapi/cli", "description": "All in one CLI for all AsyncAPI tools", - "version": "0.44.2", + "version": "0.45.0", "author": "@asyncapi", "bin": { "asyncapi": "./bin/run" From 0b016aa7ef50a0eb60c74db7caa40b33729c537d Mon Sep 17 00:00:00 2001 From: Mahfuza Humayra Mohona Date: Mon, 29 May 2023 18:52:54 +0600 Subject: [PATCH 07/56] docs: update usage documentation for new commands (#556) Co-authored-by: Lukasz Gornicki --- .../workflows/update-docs-on-docs-commits.yml | 37 ++++++++++++++++ package.json | 5 ++- scripts/updateUsageDocs.js | 43 +++++++++++++++++++ 3 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/update-docs-on-docs-commits.yml create mode 100644 scripts/updateUsageDocs.js diff --git a/.github/workflows/update-docs-on-docs-commits.yml b/.github/workflows/update-docs-on-docs-commits.yml new file mode 100644 index 00000000000..9d4405e3234 --- /dev/null +++ b/.github/workflows/update-docs-on-docs-commits.yml @@ -0,0 +1,37 @@ +name: 'Update generated parts of documentation on docs: commits' + +on: + push: + branches: + - master + +jobs: + docs-gen: + name: 'Generate docs and create PR' + # PR should be created within this GH action only if it is a docs: commit + # Otherwise it will conflict with release workflow + if: startsWith(github.event.commits[0].message, 'docs:') + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install dependencies + run: npm ci + - name: Regenerate docs + run: npm run generate:assets --if-present + - name: Create Pull Request with updated docs + if: startsWith(github.event.commits[0].message, 'docs:') + uses: peter-evans/create-pull-request@v3 + with: + token: ${{ secrets.GH_TOKEN }} + commit-message: 'chore: update generated docs' + committer: asyncapi-bot + author: asyncapi-bot + title: 'chore: update generated docs' + body: 'Update of docs that are generated and were forgotten on PR level.' + branch: gen-docs-update + \ No newline at end of file diff --git a/package.json b/package.json index 0ca83adbd02..043bb8867e3 100644 --- a/package.json +++ b/package.json @@ -155,7 +155,10 @@ "build": "rimraf lib && node scripts/fetch-asyncapi-example.js && tsc && echo \"Build Completed\"", "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", "dev": "tsc --watch", - "generate:assets": "npm run generate:readme:toc", + "generate:readme:create": "printf '\n\n# Usage\n\n\n\n# Commands\n\n\n' > scripts/README.md", + "generate:readme:commands": "cd scripts && oclif readme", + "generate:assets": "npm run generate:readme:toc && npm run generate:commands", + "generate:commands": "npm run generate:readme:create && npm run generate:readme:commands && node ./scripts/updateUsageDocs.js && rimraf ./scripts/README.md", "generate:readme:toc": "markdown-toc -i README.md", "lint": "eslint --max-warnings 0 --config .eslintrc .", "lint:fix": "eslint --max-warnings 5 --config .eslintrc . --fix", diff --git a/scripts/updateUsageDocs.js b/scripts/updateUsageDocs.js new file mode 100644 index 00000000000..27a90ba5f56 --- /dev/null +++ b/scripts/updateUsageDocs.js @@ -0,0 +1,43 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const {writeFile, readFile} = require('fs').promises; + +// Define the paths to the README and usage files +const README_PATH = './scripts/README.md'; // File path for the generated README file +const USAGE_PATH = './docs/usage.md'; // File path for the usage documentation file + +const header = `--- +title: 'Usage' +weight: 40 +--- + + + +The AsyncAPI CLI makes it easier to work with AsyncAPI documents. +`; + +// Define an async function to write the header and the README contents to the usage documentation file +async function run() { + try { + await writeFile(USAGE_PATH, header); + const readmeContents = await readFile(README_PATH, 'utf8'); + // Append the contents of the README file to the usage documentation file + await writeFile(USAGE_PATH, readmeContents, { flag: 'a' }); + } catch (e) { + console.error(e); + } +} + +run(); From d270e0372bec25ffb16411236c8b7f37e60e3e8a Mon Sep 17 00:00:00 2001 From: Mahfuza Humayra Mohona Date: Mon, 29 May 2023 22:00:44 +0600 Subject: [PATCH 08/56] docs: add time delay for commands docs regeneration (#602) --- scripts/updateUsageDocs.js | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/scripts/updateUsageDocs.js b/scripts/updateUsageDocs.js index 27a90ba5f56..724570b2b87 100644 --- a/scripts/updateUsageDocs.js +++ b/scripts/updateUsageDocs.js @@ -32,7 +32,7 @@ The AsyncAPI CLI makes it easier to work with AsyncAPI documents. async function run() { try { await writeFile(USAGE_PATH, header); - const readmeContents = await readFile(README_PATH, 'utf8'); + const readmeContents = await readContents(); // Append the contents of the README file to the usage documentation file await writeFile(USAGE_PATH, readmeContents, { flag: 'a' }); } catch (e) { @@ -41,3 +41,33 @@ async function run() { } run(); + +async function readContents() { + let readmeContents; + let commandsContent = ''; + + while (commandsContent.length === 0) { + readmeContents = await readFile(README_PATH, 'utf8'); + + // Check if the content between and is empty + const commandsStartText = ''; + const commandStartIndex = readmeContents.indexOf(commandsStartText); + const commandStopIndex = readmeContents.indexOf(''); + //cutting the content between the above mentioned tags, removing white spaces and checking if there is some text as it will mean text was added by oclif + commandsContent = readmeContents.slice(commandStartIndex + commandsStartText.length, commandStopIndex).trim(); + + if (commandsContent.length === 0) { + console.log('No content between and . Trying again...'); + } else { + console.log('Content found!'); + } + + await delay(3000); // 3-second delay + } + + return readmeContents; +} + +function delay(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} From cfa947854c8374da1e331a27da48cc183d074bc0 Mon Sep 17 00:00:00 2001 From: Mahfuza Humayra Mohona Date: Tue, 30 May 2023 10:41:57 +0600 Subject: [PATCH 09/56] docs: update oclif command (#603) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 043bb8867e3..72769066409 100644 --- a/package.json +++ b/package.json @@ -156,7 +156,7 @@ "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", "dev": "tsc --watch", "generate:readme:create": "printf '\n\n# Usage\n\n\n\n# Commands\n\n\n' > scripts/README.md", - "generate:readme:commands": "cd scripts && oclif readme", + "generate:readme:commands": "cd scripts && DEBUG=* oclif readme", "generate:assets": "npm run generate:readme:toc && npm run generate:commands", "generate:commands": "npm run generate:readme:create && npm run generate:readme:commands && node ./scripts/updateUsageDocs.js && rimraf ./scripts/README.md", "generate:readme:toc": "markdown-toc -i README.md", From b9f3325d0e8c1f6d58311d647edaeb7bc68bd9a7 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Tue, 30 May 2023 10:29:39 +0200 Subject: [PATCH 10/56] fix: update @asyncapi/glee to 0.21.1 version (#604) --- .../templates/default/package-lock.json | 16 +++++++--------- create-glee-app/templates/default/package.json | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/create-glee-app/templates/default/package-lock.json b/create-glee-app/templates/default/package-lock.json index 3961a1cd14d..4ae60c1f026 100644 --- a/create-glee-app/templates/default/package-lock.json +++ b/create-glee-app/templates/default/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "license": "Apache-2.0", "dependencies": { - "@asyncapi/glee": "^0.21.0" + "@asyncapi/glee": "^0.21.1" }, "engines": { "node": ">=14.15.1" @@ -211,9 +211,9 @@ } }, "node_modules/@asyncapi/glee": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@asyncapi/glee/-/glee-0.21.0.tgz", - "integrity": "sha512-djuAmg+PeSslS7XSo/pgAy8RIvUG9CqPQsefMvoVx0ct9O33/B34jy9aGmeVxRnD/nZUb0SrgiAwBJ4xk1Y0/g==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@asyncapi/glee/-/glee-0.21.1.tgz", + "integrity": "sha512-kOuGSmrZL+yKDikLO4o26fM3+PPFSbjokSs4VHmgsgg2XWYc6oZ9UdlCet6QrfNCiKoIIAWJPi4jtXMY98RyHw==", "dependencies": { "@asyncapi/generator": "^1.9.18", "@asyncapi/html-template": "^0.24.10", @@ -226,7 +226,6 @@ "better-ajv-errors": "^0.7.0", "bufferutil": "^4.0.3", "chalk": "^4.1.1", - "conventional-changelog-conventionalcommits": "^5.0.0", "cross-spawn": "^7.0.3", "debug": "^4.3.1", "dotenv": "^10.0.0", @@ -10803,9 +10802,9 @@ } }, "@asyncapi/glee": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@asyncapi/glee/-/glee-0.21.0.tgz", - "integrity": "sha512-djuAmg+PeSslS7XSo/pgAy8RIvUG9CqPQsefMvoVx0ct9O33/B34jy9aGmeVxRnD/nZUb0SrgiAwBJ4xk1Y0/g==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@asyncapi/glee/-/glee-0.21.1.tgz", + "integrity": "sha512-kOuGSmrZL+yKDikLO4o26fM3+PPFSbjokSs4VHmgsgg2XWYc6oZ9UdlCet6QrfNCiKoIIAWJPi4jtXMY98RyHw==", "requires": { "@asyncapi/generator": "^1.9.18", "@asyncapi/html-template": "^0.24.10", @@ -10818,7 +10817,6 @@ "better-ajv-errors": "^0.7.0", "bufferutil": "^4.0.3", "chalk": "^4.1.1", - "conventional-changelog-conventionalcommits": "^5.0.0", "cross-spawn": "^7.0.3", "debug": "^4.3.1", "dotenv": "^10.0.0", diff --git a/create-glee-app/templates/default/package.json b/create-glee-app/templates/default/package.json index 74e8d7a4bd0..406f54d04e5 100644 --- a/create-glee-app/templates/default/package.json +++ b/create-glee-app/templates/default/package.json @@ -24,6 +24,6 @@ }, "homepage": "https://github.com/asyncapi/glee-hello-world#readme", "dependencies": { - "@asyncapi/glee": "^0.21.0" + "@asyncapi/glee": "^0.21.1" } } From 1728e8abe49109d4ac749d63eb4bbd7222a494c1 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Tue, 30 May 2023 16:01:34 +0200 Subject: [PATCH 11/56] fix: update @asyncapi/parser to 2.0.1 version (#606) --- package-lock.json | 61 +++++++++++++---------------------------------- package.json | 2 +- 2 files changed, 18 insertions(+), 45 deletions(-) diff --git a/package-lock.json b/package-lock.json index c08b1102d67..f9f27238024 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", - "@asyncapi/parser": "^2.0.0", + "@asyncapi/parser": "^2.0.1", "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@asyncapi/studio": "^0.17.3", "@oclif/core": "^1.26.2", @@ -563,11 +563,11 @@ } }, "node_modules/@asyncapi/parser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.0.0.tgz", - "integrity": "sha512-xQm3LVChLGGTOo6OxGM4wIwTC7/uMHZvQMcGHnCvdyqcqn4H1sZQdE+MHhxPM7SnKNko86Pub0UDavwk0Jfwyw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.0.1.tgz", + "integrity": "sha512-T6Z8PPD+U3XPL05sjT0yLHtDyoqA16pj1j7xNbvpt8SCFzdzw4QMsbvJFAKaXk1/bztzlMq+oWVmeiGazt5WGA==", "dependencies": { - "@asyncapi/specs": "^5.0.0", + "@asyncapi/specs": "^5.0.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", @@ -579,7 +579,6 @@ "ajv-errors": "^3.0.0", "ajv-formats": "^2.1.1", "avsc": "^5.7.5", - "conventional-changelog-conventionalcommits": "^5.0.0", "js-yaml": "^4.1.0", "jsonpath-plus": "^7.2.0", "node-fetch": "2.6.7", @@ -588,12 +587,11 @@ } }, "node_modules/@asyncapi/parser/node_modules/@asyncapi/specs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.0.0.tgz", - "integrity": "sha512-ua89EYhNAL6IPrX/P5O+K5DEQYfMXwHhG207+8yCSvcVXevZ1wLEj/nsNHYi2jBRDr10kp7+O99tGWIdASJtOA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.0.1.tgz", + "integrity": "sha512-hWIko4JDZtBaRPO3OiDBCctNIOug+dux+p6TWmsxcgHBX4ziMmkBUfPZp6cMZtzEq/S9Nw7rKct1lPhZGfJHyg==", "dependencies": { - "@types/json-schema": "^7.0.11", - "conventional-changelog-conventionalcommits": "^5.0.0" + "@types/json-schema": "^7.0.11" } }, "node_modules/@asyncapi/parser/node_modules/argparse": { @@ -601,19 +599,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "node_modules/@asyncapi/parser/node_modules/conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@asyncapi/parser/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -23983,11 +23968,11 @@ } }, "@asyncapi/parser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.0.0.tgz", - "integrity": "sha512-xQm3LVChLGGTOo6OxGM4wIwTC7/uMHZvQMcGHnCvdyqcqn4H1sZQdE+MHhxPM7SnKNko86Pub0UDavwk0Jfwyw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-2.0.1.tgz", + "integrity": "sha512-T6Z8PPD+U3XPL05sjT0yLHtDyoqA16pj1j7xNbvpt8SCFzdzw4QMsbvJFAKaXk1/bztzlMq+oWVmeiGazt5WGA==", "requires": { - "@asyncapi/specs": "^5.0.0", + "@asyncapi/specs": "^5.0.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.16.1", @@ -23999,7 +23984,6 @@ "ajv-errors": "^3.0.0", "ajv-formats": "^2.1.1", "avsc": "^5.7.5", - "conventional-changelog-conventionalcommits": "^5.0.0", "js-yaml": "^4.1.0", "jsonpath-plus": "^7.2.0", "node-fetch": "2.6.7", @@ -24008,12 +23992,11 @@ }, "dependencies": { "@asyncapi/specs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.0.0.tgz", - "integrity": "sha512-ua89EYhNAL6IPrX/P5O+K5DEQYfMXwHhG207+8yCSvcVXevZ1wLEj/nsNHYi2jBRDr10kp7+O99tGWIdASJtOA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-5.0.1.tgz", + "integrity": "sha512-hWIko4JDZtBaRPO3OiDBCctNIOug+dux+p6TWmsxcgHBX4ziMmkBUfPZp6cMZtzEq/S9Nw7rKct1lPhZGfJHyg==", "requires": { - "@types/json-schema": "^7.0.11", - "conventional-changelog-conventionalcommits": "^5.0.0" + "@types/json-schema": "^7.0.11" } }, "argparse": { @@ -24021,16 +24004,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", diff --git a/package.json b/package.json index 72769066409..ea0f2b62042 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", - "@asyncapi/parser": "^2.0.0", + "@asyncapi/parser": "^2.0.1", "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@asyncapi/studio": "^0.17.3", "@oclif/core": "^1.26.2", From 3c8d92e09cfe413ff035c08d5e1dc2aea56bcd7e Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Tue, 30 May 2023 16:12:45 +0200 Subject: [PATCH 12/56] fix: update @asyncapi/generator to 1.10.2 version (#607) --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index f9f27238024..1cf457c7853 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", - "@asyncapi/generator": "^1.10.1", + "@asyncapi/generator": "^1.10.2", "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", @@ -272,14 +272,14 @@ } }, "node_modules/@asyncapi/generator": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.1.tgz", - "integrity": "sha512-jSAX1mQPr/tSUNgxvdfM8G5rwBqGMgTCaQW8hhBViWhjxakzCWD/uRV4V2Tj1d51qvT7Brnj6PEWEX1ytlFV1w==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.2.tgz", + "integrity": "sha512-k+jPQsqAoHfIJYkMt3Vbd8AcqZRfJ8zToOex+pOAxWdfAr3ZhltgSYVCIPCvBLyELZRHBJr6qMfmABfIaugpeg==", "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.0", "@asyncapi/generator-react-sdk": "^0.2.23", "@asyncapi/openapi-schema-parser": "^3.0.0", - "@asyncapi/parser": "^2.0.0", + "@asyncapi/parser": "^2.0.1", "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@npmcli/arborist": "^2.2.4", "ajv": "^8.12.0", @@ -23720,14 +23720,14 @@ } }, "@asyncapi/generator": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.1.tgz", - "integrity": "sha512-jSAX1mQPr/tSUNgxvdfM8G5rwBqGMgTCaQW8hhBViWhjxakzCWD/uRV4V2Tj1d51qvT7Brnj6PEWEX1ytlFV1w==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.2.tgz", + "integrity": "sha512-k+jPQsqAoHfIJYkMt3Vbd8AcqZRfJ8zToOex+pOAxWdfAr3ZhltgSYVCIPCvBLyELZRHBJr6qMfmABfIaugpeg==", "requires": { "@asyncapi/avro-schema-parser": "^3.0.0", "@asyncapi/generator-react-sdk": "^0.2.23", "@asyncapi/openapi-schema-parser": "^3.0.0", - "@asyncapi/parser": "^2.0.0", + "@asyncapi/parser": "^2.0.1", "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@npmcli/arborist": "^2.2.4", "ajv": "^8.12.0", diff --git a/package.json b/package.json index ea0f2b62042..f2be2e93754 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", - "@asyncapi/generator": "^1.10.1", + "@asyncapi/generator": "^1.10.2", "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", From 06558280cbb5806f883d166cbb3ce3773f445033 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Tue, 30 May 2023 16:38:37 +0200 Subject: [PATCH 13/56] fix: update @asyncapi/avro-schema-parser to 3.0.1 version (#611) --- package-lock.json | 49 +++++++++++------------------------------------ package.json | 2 +- 2 files changed, 12 insertions(+), 39 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1cf457c7853..e88ba80a7ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.45.0", "license": "Apache-2.0", "dependencies": { - "@asyncapi/avro-schema-parser": "^3.0.0", + "@asyncapi/avro-schema-parser": "^3.0.1", "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", @@ -178,27 +178,13 @@ } }, "node_modules/@asyncapi/avro-schema-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.0.tgz", - "integrity": "sha512-9zxRwtVV0dcDQgA5dN8HmfigfflgMRSJnSElhWZneClF8JhpPOKVs0N8UA1PmE9Sax5uOqx95ONboYnnz4xTLw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.1.tgz", + "integrity": "sha512-jXovhjvkFQvcv9PfTldS7jRAWuExLkeQKn/2HQf8vAR9azCVw63GfqJQ3HBPlouWt0CoS2VtGu/SpN2MS8Li8Q==", "dependencies": { - "@asyncapi/parser": "^2.0.0", + "@asyncapi/parser": "^2.0.1", "@types/json-schema": "^7.0.11", - "avsc": "^5.7.6", - "conventional-changelog-conventionalcommits": "^5.0.0" - } - }, - "node_modules/@asyncapi/avro-schema-parser/node_modules/conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" + "avsc": "^5.7.6" } }, "node_modules/@asyncapi/bundler": { @@ -23632,26 +23618,13 @@ } }, "@asyncapi/avro-schema-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.0.tgz", - "integrity": "sha512-9zxRwtVV0dcDQgA5dN8HmfigfflgMRSJnSElhWZneClF8JhpPOKVs0N8UA1PmE9Sax5uOqx95ONboYnnz4xTLw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-3.0.1.tgz", + "integrity": "sha512-jXovhjvkFQvcv9PfTldS7jRAWuExLkeQKn/2HQf8vAR9azCVw63GfqJQ3HBPlouWt0CoS2VtGu/SpN2MS8Li8Q==", "requires": { - "@asyncapi/parser": "^2.0.0", + "@asyncapi/parser": "^2.0.1", "@types/json-schema": "^7.0.11", - "avsc": "^5.7.6", - "conventional-changelog-conventionalcommits": "^5.0.0" - }, - "dependencies": { - "conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - } + "avsc": "^5.7.6" } }, "@asyncapi/bundler": { diff --git a/package.json b/package.json index f2be2e93754..a53ca6b12b6 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "bugs": "https://github.com/asyncapi/cli/issues", "dependencies": { - "@asyncapi/avro-schema-parser": "^3.0.0", + "@asyncapi/avro-schema-parser": "^3.0.1", "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", From d3597425272a9451cd7e18b937d81dd31b4aed0c Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Tue, 30 May 2023 17:06:05 +0200 Subject: [PATCH 14/56] fix: update @asyncapi/generator to 1.10.3 version (#612) --- package-lock.json | 34 +++++++++++++++++----------------- package.json | 2 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index e88ba80a7ff..1d61c5ea35b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", - "@asyncapi/generator": "^1.10.2", + "@asyncapi/generator": "^1.10.3", "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", @@ -258,13 +258,13 @@ } }, "node_modules/@asyncapi/generator": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.2.tgz", - "integrity": "sha512-k+jPQsqAoHfIJYkMt3Vbd8AcqZRfJ8zToOex+pOAxWdfAr3ZhltgSYVCIPCvBLyELZRHBJr6qMfmABfIaugpeg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.3.tgz", + "integrity": "sha512-T71eeNrIFUfchmJxTQNCmp7glGYmgjSqhoUzkcoyNqb11vnP8h+vNkyKv6zxmsSe0ufOeAPpFzvdUOjmWbxsRQ==", "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.0", "@asyncapi/generator-react-sdk": "^0.2.23", - "@asyncapi/openapi-schema-parser": "^3.0.0", + "@asyncapi/openapi-schema-parser": "^3.0.1", "@asyncapi/parser": "^2.0.1", "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@npmcli/arborist": "^2.2.4", @@ -458,11 +458,11 @@ } }, "node_modules/@asyncapi/openapi-schema-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.0.tgz", - "integrity": "sha512-3s5rI//5KSvrPfv/jiiQi5uOerMc7Y7ejVDveuI7hhaujC+NemFwcc8imMwZzNHF6BsBGc9/HVtSjYIkQZpk4Q==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.1.tgz", + "integrity": "sha512-Ps1KAinQHF6YzJJwm0pJNeVnfZC6nFE76dYn5ZzE6l/mUNYtedoiqbCdF+NYA8nDTsXg3087c/drQZuEd/6BgQ==", "dependencies": { - "@asyncapi/parser": "^2.0.0", + "@asyncapi/parser": "^2.0.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "ajv": "^8.11.0", "ajv-errors": "^3.0.0", @@ -23693,13 +23693,13 @@ } }, "@asyncapi/generator": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.2.tgz", - "integrity": "sha512-k+jPQsqAoHfIJYkMt3Vbd8AcqZRfJ8zToOex+pOAxWdfAr3ZhltgSYVCIPCvBLyELZRHBJr6qMfmABfIaugpeg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.3.tgz", + "integrity": "sha512-T71eeNrIFUfchmJxTQNCmp7glGYmgjSqhoUzkcoyNqb11vnP8h+vNkyKv6zxmsSe0ufOeAPpFzvdUOjmWbxsRQ==", "requires": { "@asyncapi/avro-schema-parser": "^3.0.0", "@asyncapi/generator-react-sdk": "^0.2.23", - "@asyncapi/openapi-schema-parser": "^3.0.0", + "@asyncapi/openapi-schema-parser": "^3.0.1", "@asyncapi/parser": "^2.0.1", "@asyncapi/raml-dt-schema-parser": "^4.0.0", "@npmcli/arborist": "^2.2.4", @@ -23857,11 +23857,11 @@ } }, "@asyncapi/openapi-schema-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.0.tgz", - "integrity": "sha512-3s5rI//5KSvrPfv/jiiQi5uOerMc7Y7ejVDveuI7hhaujC+NemFwcc8imMwZzNHF6BsBGc9/HVtSjYIkQZpk4Q==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/openapi-schema-parser/-/openapi-schema-parser-3.0.1.tgz", + "integrity": "sha512-Ps1KAinQHF6YzJJwm0pJNeVnfZC6nFE76dYn5ZzE6l/mUNYtedoiqbCdF+NYA8nDTsXg3087c/drQZuEd/6BgQ==", "requires": { - "@asyncapi/parser": "^2.0.0", + "@asyncapi/parser": "^2.0.1", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "ajv": "^8.11.0", "ajv-errors": "^3.0.0", diff --git a/package.json b/package.json index a53ca6b12b6..ba8399075bb 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", - "@asyncapi/generator": "^1.10.2", + "@asyncapi/generator": "^1.10.3", "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", From 9c3bde73ba9e62a1b92dbda0d3c217aa94c92626 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Tue, 30 May 2023 20:32:12 +0200 Subject: [PATCH 15/56] fix: update @asyncapi/generator to 1.10.4 version (#614) --- package-lock.json | 59 ++++++++++++++--------------------------------- package.json | 2 +- 2 files changed, 18 insertions(+), 43 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d61c5ea35b..af3383acb28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", - "@asyncapi/generator": "^1.10.3", + "@asyncapi/generator": "^1.10.4", "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", @@ -258,15 +258,15 @@ } }, "node_modules/@asyncapi/generator": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.3.tgz", - "integrity": "sha512-T71eeNrIFUfchmJxTQNCmp7glGYmgjSqhoUzkcoyNqb11vnP8h+vNkyKv6zxmsSe0ufOeAPpFzvdUOjmWbxsRQ==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.4.tgz", + "integrity": "sha512-P49ga3a3AAYcerNdXjeSuNerSK9JhnG7IjshPEO9EQrK6ig813Kc5Sfz6CADLcEcA3/bHV/T0rvs//PcIBTlDA==", "dependencies": { "@asyncapi/avro-schema-parser": "^3.0.0", "@asyncapi/generator-react-sdk": "^0.2.23", "@asyncapi/openapi-schema-parser": "^3.0.1", "@asyncapi/parser": "^2.0.1", - "@asyncapi/raml-dt-schema-parser": "^4.0.0", + "@asyncapi/raml-dt-schema-parser": "^4.0.1", "@npmcli/arborist": "^2.2.4", "ajv": "^8.12.0", "chokidar": "^3.4.0", @@ -597,12 +597,11 @@ } }, "node_modules/@asyncapi/raml-dt-schema-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.0.tgz", - "integrity": "sha512-dauYocjmyIKo7oq1rzBOY+mDHzvfa9j8p2luz4co2igZM9HN0L+Xck1M81uvye4Z5zTNW/BG2hu9ngiZAXcQng==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.1.tgz", + "integrity": "sha512-Cf4fzskfVFaESIdMInN5V0ZukSaOG7wzSuFcZiPhni5/m0G8H2+k/ABblHFClsjonLzo1Bhp5JKguW9dbC5oHw==", "dependencies": { - "@asyncapi/parser": "^2.0.0", - "conventional-changelog-conventionalcommits": "^5.0.0", + "@asyncapi/parser": "^2.0.1", "js-yaml": "^4.1.0", "ramldt2jsonschema": "^1.2.3", "webapi-parser": "^0.5.0" @@ -613,19 +612,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "node_modules/@asyncapi/raml-dt-schema-parser/node_modules/conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@asyncapi/raml-dt-schema-parser/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -23693,15 +23679,15 @@ } }, "@asyncapi/generator": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.3.tgz", - "integrity": "sha512-T71eeNrIFUfchmJxTQNCmp7glGYmgjSqhoUzkcoyNqb11vnP8h+vNkyKv6zxmsSe0ufOeAPpFzvdUOjmWbxsRQ==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@asyncapi/generator/-/generator-1.10.4.tgz", + "integrity": "sha512-P49ga3a3AAYcerNdXjeSuNerSK9JhnG7IjshPEO9EQrK6ig813Kc5Sfz6CADLcEcA3/bHV/T0rvs//PcIBTlDA==", "requires": { "@asyncapi/avro-schema-parser": "^3.0.0", "@asyncapi/generator-react-sdk": "^0.2.23", "@asyncapi/openapi-schema-parser": "^3.0.1", "@asyncapi/parser": "^2.0.1", - "@asyncapi/raml-dt-schema-parser": "^4.0.0", + "@asyncapi/raml-dt-schema-parser": "^4.0.1", "@npmcli/arborist": "^2.2.4", "ajv": "^8.12.0", "chokidar": "^3.4.0", @@ -23988,12 +23974,11 @@ } }, "@asyncapi/raml-dt-schema-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.0.tgz", - "integrity": "sha512-dauYocjmyIKo7oq1rzBOY+mDHzvfa9j8p2luz4co2igZM9HN0L+Xck1M81uvye4Z5zTNW/BG2hu9ngiZAXcQng==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@asyncapi/raml-dt-schema-parser/-/raml-dt-schema-parser-4.0.1.tgz", + "integrity": "sha512-Cf4fzskfVFaESIdMInN5V0ZukSaOG7wzSuFcZiPhni5/m0G8H2+k/ABblHFClsjonLzo1Bhp5JKguW9dbC5oHw==", "requires": { - "@asyncapi/parser": "^2.0.0", - "conventional-changelog-conventionalcommits": "^5.0.0", + "@asyncapi/parser": "^2.0.1", "js-yaml": "^4.1.0", "ramldt2jsonschema": "^1.2.3", "webapi-parser": "^0.5.0" @@ -24004,16 +23989,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", diff --git a/package.json b/package.json index ba8399075bb..f84ce2fe11a 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "@asyncapi/bundler": "^0.3.8", "@asyncapi/converter": "^1.2.0", "@asyncapi/diff": "^0.4.1", - "@asyncapi/generator": "^1.10.3", + "@asyncapi/generator": "^1.10.4", "@asyncapi/modelina": "^1.7.0", "@asyncapi/openapi-schema-parser": "^3.0.0", "@asyncapi/optimizer": "^0.1.18", From 93cd959e45ecbc9828598b558afcc42e377820c0 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 31 May 2023 09:16:30 +0200 Subject: [PATCH 16/56] fix: make sure that cli commands generation builds project (#615) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f84ce2fe11a..ab3670cee3a 100644 --- a/package.json +++ b/package.json @@ -156,7 +156,7 @@ "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION", "dev": "tsc --watch", "generate:readme:create": "printf '\n\n# Usage\n\n\n\n# Commands\n\n\n' > scripts/README.md", - "generate:readme:commands": "cd scripts && DEBUG=* oclif readme", + "generate:readme:commands": "npm run build && cd scripts && DEBUG=* oclif readme", "generate:assets": "npm run generate:readme:toc && npm run generate:commands", "generate:commands": "npm run generate:readme:create && npm run generate:readme:commands && node ./scripts/updateUsageDocs.js && rimraf ./scripts/README.md", "generate:readme:toc": "markdown-toc -i README.md", From f2633cf9675f4ec135b2ca2e97064ddd1a97e9a7 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Wed, 31 May 2023 09:26:42 +0200 Subject: [PATCH 17/56] chore(release): v0.45.6 (#617) --- docs/usage.md | 572 +++++++++++++++++++++++++++++++++++++++++++--- package-lock.json | 4 +- package.json | 2 +- 3 files changed, 544 insertions(+), 34 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 2bc42daf1a8..472c6511370 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -3,45 +3,555 @@ title: 'Usage' weight: 40 --- + + The AsyncAPI CLI makes it easier to work with AsyncAPI documents. -To get **help**, run this command in your terminal: -```sh -asyncapi --help +# Usage + + +```sh-session +$ npm install -g @asyncapi/cli +$ asyncapi COMMAND +running command... +$ asyncapi (--version) +@asyncapi/cli/0.45.0 linux-x64 node-v18.16.0 +$ asyncapi --help [COMMAND] +USAGE + $ asyncapi COMMAND +... +``` + + +# Commands + + +* [`asyncapi bundle`](#asyncapi-bundle) +* [`asyncapi config`](#asyncapi-config) +* [`asyncapi config context`](#asyncapi-config-context) +* [`asyncapi config context add CONTEXT-NAME SPEC-FILE-PATH`](#asyncapi-config-context-add-context-name-spec-file-path) +* [`asyncapi config context current`](#asyncapi-config-context-current) +* [`asyncapi config context list`](#asyncapi-config-context-list) +* [`asyncapi config context remove CONTEXT-NAME`](#asyncapi-config-context-remove-context-name) +* [`asyncapi config context use CONTEXT-NAME`](#asyncapi-config-context-use-context-name) +* [`asyncapi config versions`](#asyncapi-config-versions) +* [`asyncapi convert [SPEC-FILE]`](#asyncapi-convert-spec-file) +* [`asyncapi diff OLD NEW`](#asyncapi-diff-old-new) +* [`asyncapi generate`](#asyncapi-generate) +* [`asyncapi generate fromTemplate ASYNCAPI TEMPLATE`](#asyncapi-generate-fromtemplate-asyncapi-template) +* [`asyncapi generate models LANGUAGE FILE`](#asyncapi-generate-models-language-file) +* [`asyncapi new`](#asyncapi-new) +* [`asyncapi new file`](#asyncapi-new-file) +* [`asyncapi new glee`](#asyncapi-new-glee) +* [`asyncapi new project`](#asyncapi-new-project) +* [`asyncapi optimize [SPEC-FILE]`](#asyncapi-optimize-spec-file) +* [`asyncapi start`](#asyncapi-start) +* [`asyncapi start studio`](#asyncapi-start-studio) +* [`asyncapi validate [SPEC-FILE]`](#asyncapi-validate-spec-file) + +## `asyncapi bundle` + +bundle one or multiple asyncapi documents and their references together. + +``` +USAGE + $ asyncapi bundle [-h] [-o ] [-r] [-b ] + +FLAGS + -b, --base= Path to the file which will act as a base. This is required when some properties are + to needed to be overwritten. + -h, --help Show CLI help. + -o, --output= The output file name. Omitting this flag the result will be printed in the console. + -r, --reference-into-components Bundle the message $refs into components object. + +DESCRIPTION + bundle one or multiple asyncapi documents and their references together. + +EXAMPLES + $ asyncapi bundle ./asyncapi.yaml > final-asyncapi.yaml + + $ asyncapi bundle ./asyncapi.yaml --output final-asyncapi.yaml + + $ asyncapi bundle ./asyncapi.yaml ./features.yaml --reference-into-components + + $ asyncapi bundle ./asyncapi.yaml ./features.yaml --base ./asyncapi.yaml --reference-into-components +``` + +_See code: [src/commands/bundle.ts](https://github.com/asyncapi/cli/blob/v0.45.0/src/commands/bundle.ts)_ + +## `asyncapi config` + +CLI config settings + +``` +USAGE + $ asyncapi config + +DESCRIPTION + CLI config settings +``` + +_See code: [src/commands/config/index.ts](https://github.com/asyncapi/cli/blob/v0.45.0/src/commands/config/index.ts)_ + +## `asyncapi config context` + +``` +USAGE + $ asyncapi config context +``` + +## `asyncapi config context add CONTEXT-NAME SPEC-FILE-PATH` + +Add or modify a context in the store + +``` +USAGE + $ asyncapi config context add CONTEXT-NAME SPEC-FILE-PATH [-h] + +ARGUMENTS + CONTEXT-NAME context name + SPEC-FILE-PATH file path of the spec file + +FLAGS + -h, --help Show CLI help. + +DESCRIPTION + Add or modify a context in the store +``` + +## `asyncapi config context current` + +Shows the current context that is being used + +``` +USAGE + $ asyncapi config context current [-h] + +FLAGS + -h, --help Show CLI help. + +DESCRIPTION + Shows the current context that is being used +``` + +## `asyncapi config context list` + +List all the stored context in the store + +``` +USAGE + $ asyncapi config context list [-h] + +FLAGS + -h, --help Show CLI help. + +DESCRIPTION + List all the stored context in the store +``` + +## `asyncapi config context remove CONTEXT-NAME` + +Delete a context from the store + +``` +USAGE + $ asyncapi config context remove CONTEXT-NAME [-h] + +ARGUMENTS + CONTEXT-NAME Name of the context to delete + +FLAGS + -h, --help Show CLI help. + +DESCRIPTION + Delete a context from the store +``` + +## `asyncapi config context use CONTEXT-NAME` + +Set a context as current + +``` +USAGE + $ asyncapi config context use CONTEXT-NAME [-h] + +ARGUMENTS + CONTEXT-NAME name of the saved context + +FLAGS + -h, --help Show CLI help. + +DESCRIPTION + Set a context as current +``` + +## `asyncapi config versions` + +Show versions of AsyncAPI tools used + +``` +USAGE + $ asyncapi config versions [-h] + +FLAGS + -h, --help Show CLI help. + +DESCRIPTION + Show versions of AsyncAPI tools used +``` + +## `asyncapi convert [SPEC-FILE]` + +Convert asyncapi documents older to newer versions + +``` +USAGE + $ asyncapi convert [SPEC-FILE] [-h] [-o ] [-t ] + +ARGUMENTS + SPEC-FILE spec path, url, or context-name + +FLAGS + -h, --help Show CLI help. + -o, --output= path to the file where the result is saved + -t, --target-version= [default: 2.6.0] asyncapi version to convert to + +DESCRIPTION + Convert asyncapi documents older to newer versions +``` + +_See code: [src/commands/convert.ts](https://github.com/asyncapi/cli/blob/v0.45.0/src/commands/convert.ts)_ + +## `asyncapi diff OLD NEW` + +Find diff between two asyncapi files + ``` +USAGE + $ asyncapi diff OLD NEW [-h] [-f json|yaml|yml] [-t breaking|non-breaking|unclassified|all] [-o ] + [-w] [--log-diagnostics] [--diagnostics-format json|stylish|junit|html|text|teamcity|pretty] [--fail-severity + error|warn|info|hint] + +ARGUMENTS + OLD old spec path, URL or context-name + NEW new spec path, URL or context-name + +FLAGS + -f, --format=