@asyncapi/cli 0.5.2 → 0.6.2

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
@@ -8,71 +8,135 @@
8
8
  <em>CLI to work with your AsyncAPI files. Currently supports validation, but it is under development for more features.</em>
9
9
  </p>
10
10
 
11
- ### Install
12
- ```bash
13
- $ npm install --global @asyncapi/cli
11
+ <p align="center">
12
+ <a href="https://github.com/asyncapi/cli/blob/master/LICENSE"><img alt="GitHub license" src="https://img.shields.io/github/license/asyncapi/cli"></a>
13
+ <a href="https://github.com/asyncapi/cli/actions/workflows/if-nodejs-pr-testing.yml">
14
+ <img src="https://github.com/asyncapi/cli/actions/workflows/if-nodejs-pr-testing.yml/badge.svg" alt="PR testing - if Node project" />
15
+ </a>
16
+ <a href="https://www.npmjs.com/package/@asyncapi/cli">
17
+ <img alt="npm" src="https://img.shields.io/npm/dw/@asyncapi/cli">
18
+ </a>
19
+
20
+ </p>
21
+
22
+ ## Table of contents
23
+
24
+ <!-- toc -->
25
+
26
+ - [Requirements](#requirements)
27
+ * [Installation](#installation)
28
+ - [Usage](#usage)
29
+ - [API Reference](#api-reference)
30
+ * [`validate`](#validate)
31
+ * [`context`](#context)
32
+ - [Contributing](#contributing)
33
+ * [Set up development enviornment](#set-up-development-enviornment)
34
+ * [Command Structure and Patterns](#command-structure-and-patterns)
35
+
36
+ <!-- tocstop -->
37
+
38
+ ## Requirements
39
+ To run `@asyncapi/cli`, you'll need Node.js >=v10
40
+
41
+ Run this terminal command to check your Node.js version:
14
42
  ```
43
+ node -v
44
+ ```
45
+
46
+ If you don't have Node.js installed or NPM, simply [install both via package manager](https://nodejs.org/en/download/package-manager/)
15
47
 
16
- ### Getting Started
17
- Go ahead and run command `asyncapi --help` to get complete help for using CLI. If having doubt about any particular command do run `asyncapi <command> --help` to get help for that command.
48
+ ### Installation
18
49
 
19
- ### CLI
20
- Help string for all the supported commands
50
+ Run this command to install the CLI globally on your system:
21
51
 
22
- - #### `asyncapi --help`
23
52
  ```
24
- USAGE
53
+ npm install -g @asyncapi/cli
54
+ ```
25
55
 
26
- asyncapi [options] [command]
56
+ This installs the cli globaly on your system allowing you to run it from anywhere. If you want to install it locally, just remove the `-g` flag.
27
57
 
28
- OPTIONS
58
+ > Cli will be available for installation brew and other app managers for other systems.
29
59
 
30
- -h, --help display help for command
31
- -v, --version output the version number
32
60
 
33
- COMMANDS
34
61
 
35
- validate validate asyncapi file
36
- context Manage contexts
37
- ```
62
+ ## Usage
38
63
 
39
- - #### `asyncapi validate --help`
64
+ As of now, the `@asyncapi/cli` only supports validation of the specification file. (This is still under development for more features.)
65
+
66
+ We have well-documented help commands so just run:
67
+
68
+ ```
69
+ asyncapi --help
40
70
  ```
41
- USAGE
42
71
 
43
- asyncapi validate [options]
44
72
 
45
- OPTIONS
46
73
 
47
- -h, --help display help for command
48
- -f, --file <spec-file-path> Path of the asyncapi file
49
- -c, --context <saved-context-name> context name to use
50
- -w, --watch Enable Watch Mode (not implemented yet)
74
+
75
+ ## API Reference
76
+
77
+ ### `validate`
78
+
79
+ **USAGE**
80
+
51
81
  ```
82
+ asyncapi validate <spcPath | context-name> [options]
83
+ ```
84
+
85
+ If you already have your current context set, run the following command:
52
86
 
53
- - #### `asyncapi context --help`
54
87
  ```
55
- USAGE
88
+ asyncapi validate
89
+ ```
56
90
 
57
- asyncapi context [options] [command]
91
+ **OPTIONS**
92
+
93
+ ```
94
+ -h, --help Display help for command
95
+ -w, --watch Enable watch mode (not implemented yet)
96
+ ```
58
97
 
59
- Context is what makes it easier for you to work with multiple AsyncAPI files.
60
- You can add multiple different files to a contextThis way you do not have to pass
61
- --file flag with path to the file every time but just --context flag with reference name
62
- You can also set a default context, so neither --file nor --context flags are needed.
63
98
 
64
- OPTIONS
99
+ ### `context`
100
+
101
+ **Context** makes it easier for you to work with multiple AsyncAPI Files. You can add multiple different files to a context so that you don't have to pass the file as an input every time you use any command. You can also set a default context so that you don't have to pass in either file paths or context names as an input.
102
+
103
+ **USAGE**
104
+
105
+ ```
106
+ asyncapi context [options] [command]
107
+ ```
65
108
 
66
- -h, --help display help for command
109
+ **COMMANDS**
67
110
 
68
- COMMANDS
111
+ |command|arguments|description|example|
112
+ |-------|---------|-----------|-------|
113
+ |`list`|`none` |lists all saved context|`asyncapi context list`|
114
+ |`current`|`none`|set current context|`asyncapi context current`|
115
+ |`use` | `<context-name>`| set any context from the list as current|`asyncapi context use test`|
116
+ |`add`|`<context-name> <spec-file-path>`|add/update a context|`asyncapi context add root ./asyncapi.yml`|
117
+ |`remove`|`<context-name>`|remove a context from the list|`asyncapi context remove root`|
69
118
 
70
- list list of all saved contexts
71
- current see current context
72
- use <context-name> set given context as default/current
73
- add <context-name> <spec-file-path> add/update context
74
- remove <context-name> remove a context
119
+ **OPTIONS**
75
120
 
76
121
  ```
122
+ -h, --help display help for command
123
+ ```
124
+
125
+
126
+
127
+ ## Contributing
128
+
129
+ Read [CONTRIBUTING](https://github.com/asyncapi/CLI/blob/master/CONTRIBUTING.md) guide.
130
+
131
+ ### Set up development enviornment
132
+
133
+ Follow these steps:
134
+ - Clone the repo.
135
+ - Run `npm install` to install all the required dependencies
136
+ - Run `npm run test` to make sure everything is properly set up.
137
+
138
+ UX developed for the CLI should be compliant with [Command Line Interface Guideline](https://clig.dev/)
139
+
140
+ ### Command Structure and Patterns
77
141
 
78
- > For now --context flag is requried to run validate command
142
+ We are following `verb + noun` and `namespace + noun + [verb]` pattern for making our commands and arguments. For example `asyncapi validate <spec-file-path>` and `asyncapi config context add <context-name> <spec-file-path>`.
@@ -10,7 +10,7 @@ const Context_1 = require("./components/Context");
10
10
  const CliModels_1 = require("./CliModels");
11
11
  const help_message_1 = require("./help-message");
12
12
  const commandsDictionary = (cliInput) => ({
13
- validate: react_1.default.createElement(Validate_1.default, { options: cliInput.options }),
13
+ validate: react_1.default.createElement(Validate_1.default, { options: cliInput.options, parameter: cliInput.arguments[0] }),
14
14
  context: Context_1.contextRouter(cliInput)
15
15
  });
16
16
  const commandsRouter = (cli) => {
@@ -1 +1 @@
1
- {"version":3,"file":"CommandsRouter.js","sourceRoot":"","sources":["../src/CommandsRouter.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8EAAsD;AACtD,kDAAqD;AACrD,2CAAuC;AACvC,iDAAiE;AAEjE,MAAM,kBAAkB,GAAG,CAAC,QAAkB,EAAuB,EAAE,CAAC,CAAC;IACvE,QAAQ,EAAE,8BAAC,kBAAQ,IAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAI;IACjD,OAAO,EAAE,uBAAa,CAAC,QAAQ,CAAC;CACjC,CAAC,CAAC;AAEI,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAO,EAAE;IAC9C,MAAM,WAAW,GAAG,IAAI,iCAAkB,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,oBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;QACrB,OAAO,8BAAC,WAAW,CAAC,aAAa,OAAG,CAAC;KACtC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE;QACjB,OAAO,8BAAC,WAAW,CAAC,aAAa,IAAC,OAAO,EAAE,QAAQ,CAAC,OAAsB,GAAI,CAAC;KAChF;IACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB"}
1
+ {"version":3,"file":"CommandsRouter.js","sourceRoot":"","sources":["../src/CommandsRouter.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8EAAsD;AACtD,kDAAqD;AACrD,2CAAuC;AACvC,iDAAiE;AAEjE,MAAM,kBAAkB,GAAG,CAAC,QAAkB,EAAuB,EAAE,CAAC,CAAC;IACvE,QAAQ,EAAE,8BAAC,kBAAQ,IAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAI;IACnF,OAAO,EAAE,uBAAa,CAAC,QAAQ,CAAC;CACjC,CAAC,CAAC;AAEI,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAO,EAAE;IAC9C,MAAM,WAAW,GAAG,IAAI,iCAAkB,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,oBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;QACrB,OAAO,8BAAC,WAAW,CAAC,aAAa,OAAG,CAAC;KACtC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE;QACjB,OAAO,8BAAC,WAAW,CAAC,aAAa,IAAC,OAAO,EAAE,QAAQ,CAAC,OAAsB,GAAI,CAAC;KAChF;IACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB"}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { Options } from '../../CliModels';
3
3
  interface ValidateInput {
4
4
  options: Options;
5
+ parameter?: string | undefined;
5
6
  }
6
7
  declare const Validate: React.FunctionComponent<ValidateInput>;
7
8
  export default Validate;
@@ -23,8 +23,8 @@ const react_1 = __importStar(require("react"));
23
23
  const ink_1 = require("ink");
24
24
  const context_1 = require("../../hooks/context");
25
25
  const validation_1 = require("../../hooks/validation");
26
- const Validate = ({ options }) => {
27
- const { specFile, error } = context_1.useSpecfile({ context: options.context, file: options.file });
26
+ const Validate = ({ options, parameter }) => {
27
+ const { specFile, error } = context_1.loadSpecFileForValidation(parameter);
28
28
  if (error) {
29
29
  return react_1.default.createElement(ink_1.Text, { color: "red" }, error.message);
30
30
  }
@@ -32,7 +32,7 @@ const Validate = ({ options }) => {
32
32
  return react_1.default.createElement(ink_1.Text, null);
33
33
  }
34
34
  const validationInput = {
35
- file: new validation_1.SpecificationFile(specFile.getSpecificationName()),
35
+ file: specFile,
36
36
  watchMode: options.watch,
37
37
  };
38
38
  const [result, setResult] = react_1.useState();
@@ -1 +1 @@
1
- {"version":3,"file":"Validate.js","sourceRoot":"","sources":["../../../src/components/Validate/Validate.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAmD;AACnD,6BAAoC;AAEpC,iDAAkD;AAElD,uDAAwE;AAOxE,MAAM,QAAQ,GAA2C,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACvE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,qBAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1F,IAAI,KAAK,EAAE;QACT,OAAO,8BAAC,UAAI,IAAC,KAAK,EAAC,KAAK,IAAE,KAAK,CAAC,OAAO,CAAQ,CAAC;KACjD;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,8BAAC,UAAI,OAAG,CAAC;KACjB;IAED,MAAM,eAAe,GAAG;QACtB,IAAI,EAAE,IAAI,8BAAiB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAC5D,SAAS,EAAE,OAAO,CAAC,KAAK;KACzB,CAAC;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,gBAAQ,EAAuB,CAAC;IAE5D,MAAM,kCAAkC,GAAG,CAAC,QAAyC,EAAE,EAAE;QACvF,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,OAAO,CACL,8BAAC,UAAI,IAAC,KAAK,EAAE,OAAO,IAAG,QAAQ,CAAC,OAAO,CAAQ,CAChD,CAAC;aACH;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,8BAAC,UAAI,IAAC,GAAG,EAAE,KAAK;gBACd,8BAAC,UAAI,IAAC,KAAK,EAAE,KAAK,IAAG,KAAK,CAAQ;gBAClC,8BAAC,aAAO,OAAG,CACN,CACR,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,iBAAS,CAAC,GAAG,EAAE;QACb,wBAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,8BAAC,UAAI,QAAE,kCAAkC,CAAC,MAAM,CAAC,CAAQ,CAC1D,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Validate.js","sourceRoot":"","sources":["../../../src/components/Validate/Validate.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAmD;AACnD,6BAAoC;AAEpC,iDAAgE;AAEhE,uDAAqD;AAQrD,MAAM,QAAQ,GAA2C,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;IAClF,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAC,GAAG,mCAAyB,CAAC,SAAS,CAAC,CAAC;IAE/D,IAAI,KAAK,EAAE;QACT,OAAO,8BAAC,UAAI,IAAC,KAAK,EAAC,KAAK,IAAE,KAAK,CAAC,OAAO,CAAQ,CAAC;KACjD;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,8BAAC,UAAI,OAAG,CAAC;KACjB;IAED,MAAM,eAAe,GAAG;QACtB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,OAAO,CAAC,KAAK;KACzB,CAAC;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,gBAAQ,EAAuB,CAAC;IAE5D,MAAM,kCAAkC,GAAG,CAAC,QAAyC,EAAE,EAAE;QACvF,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,OAAO,CACL,8BAAC,UAAI,IAAC,KAAK,EAAE,OAAO,IAAG,QAAQ,CAAC,OAAO,CAAQ,CAChD,CAAC;aACH;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,8BAAC,UAAI,IAAC,GAAG,EAAE,KAAK;gBACd,8BAAC,UAAI,IAAC,KAAK,EAAE,KAAK,IAAG,KAAK,CAAQ;gBAClC,8BAAC,aAAO,OAAG,CACN,CACR,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,iBAAS,CAAC,GAAG,EAAE;QACb,wBAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,8BAAC,UAAI,QAAE,kCAAkC,CAAC,MAAM,CAAC,CAAQ,CAC1D,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -3,7 +3,10 @@ declare const CommandList: readonly ["validate", "context"];
3
3
  export declare type CommandName = typeof CommandList[number];
4
4
  export declare type Command = {
5
5
  [name in CommandName]: {
6
- usage: string;
6
+ usage: {
7
+ command?: string;
8
+ options?: string;
9
+ };
7
10
  shortDescription: string;
8
11
  longDescription?: string;
9
12
  flags: string[];
@@ -43,17 +43,17 @@ let HelpMessage = class HelpMessage {
43
43
  writable: true,
44
44
  value: {
45
45
  validate: {
46
- usage: 'asyncapi validate [options]',
46
+ usage: {
47
+ command: '<spec-file-path | context-name>'
48
+ },
47
49
  shortDescription: 'Validate asyncapi file',
48
50
  flags: [
49
51
  this.helpFlag,
50
- '-f, --file <spec-file-path> Path of the AsyncAPI file',
51
- '-c, --context <saved-context-name> Context to use',
52
52
  '-w, --watch Enable watch mode (not implemented yet)'
53
53
  ]
54
54
  },
55
55
  context: {
56
- usage: 'asyncapi context [options] [command]',
56
+ usage: {},
57
57
  shortDescription: 'Manage context',
58
58
  longDescription: 'Context is what makes it easier for you to work with multiple AsyncAPI files.\nYou can add multiple different files to a context.\nThis way you do not have to pass --file flag with path to the file every time but just --context flag with reference name.\nYou can also set a default context, so neither --file nor --context flags are needed',
59
59
  flags: [this.helpFlag],
@@ -138,7 +138,8 @@ class HelpMessageBuilder {
138
138
  react_1.default.createElement(ink_1.Text, { color: "blueBright", bold: true }, command),
139
139
  ' ',
140
140
  " ",
141
- react_1.default.createElement(ink_1.Text, null, this.helpMessage.commands[command].shortDescription))));
141
+ react_1.default.createElement(ink_1.Text, null, this.helpMessage.commands[command].shortDescription))),
142
+ react_1.default.createElement(ink_1.Newline, null));
142
143
  }
143
144
  });
144
145
  Object.defineProperty(this, "showCommandHelp", {
@@ -151,13 +152,13 @@ class HelpMessageBuilder {
151
152
  react_1.default.createElement(ink_1.Text, { backgroundColor: "greenBright", bold: true, color: "blackBright" }, " USAGE "),
152
153
  react_1.default.createElement(ink_1.Newline, null),
153
154
  react_1.default.createElement(ink_1.Text, null,
154
- react_1.default.createElement(ink_1.Text, { color: "greenBright" }, commandHelpObject.usage.split(' ')[0]),
155
+ react_1.default.createElement(ink_1.Text, { color: "greenBright" }, "asyncapi"),
155
156
  ' ',
156
- react_1.default.createElement(ink_1.Text, null, commandHelpObject.usage.split(' ')[1]),
157
+ react_1.default.createElement(ink_1.Text, null, command),
157
158
  ' ',
158
- react_1.default.createElement(ink_1.Text, { color: "yellowBright" }, commandHelpObject.usage.split(' ')[2]),
159
+ react_1.default.createElement(ink_1.Text, { color: "blueBright" }, commandHelpObject.usage.command || '[command]'),
159
160
  ' ',
160
- react_1.default.createElement(ink_1.Text, { color: "blueBright" }, commandHelpObject.usage.split(' ')[3])),
161
+ react_1.default.createElement(ink_1.Text, { color: "yellowBright" }, commandHelpObject.usage.options || '[options]')),
161
162
  react_1.default.createElement(ink_1.Newline, null),
162
163
  commandHelpObject.longDescription ? react_1.default.createElement(ink_1.Text, { color: "cyan" },
163
164
  commandHelpObject.longDescription,
@@ -1 +1 @@
1
- {"version":3,"file":"help-message.js","sourceRoot":"","sources":["../src/help-message.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-message.js","sourceRoot":"","sources":["../src/help-message.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Context } from './models';
2
2
  import { SpecificationFile } from '../validation';
3
3
  export declare class ContextService {
4
4
  loadContextFile(): Context;
5
+ isContext(): boolean;
5
6
  deleteContextFile(): void;
6
7
  save(context: Context): void;
7
8
  autoDetectSpecFile(): string | undefined;
@@ -38,6 +38,12 @@ let ContextService = class ContextService {
38
38
  }
39
39
  return JSON.parse(fs.readFileSync(constants_1.CONTEXTFILE_PATH, 'utf-8'));
40
40
  }
41
+ isContext() {
42
+ if (!fs.existsSync(constants_1.CONTEXTFILE_PATH)) {
43
+ return true;
44
+ }
45
+ return false;
46
+ }
41
47
  deleteContextFile() {
42
48
  if (fs.existsSync(constants_1.CONTEXTFILE_PATH)) {
43
49
  fs.unlinkSync(constants_1.CONTEXTFILE_PATH);
@@ -1 +1 @@
1
- {"version":3,"file":"contextService.js","sourceRoot":"","sources":["../../../src/hooks/context/contextService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,qCAA0G;AAC1G,+CAAmD;AACnD,uCAAyB;AACzB,2CAA6B;AAI7B,IAAa,cAAc,GAA3B,MAAa,cAAc;IACzB,eAAe;QACb,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,EAAE;YAAC,MAAM,IAAI,iCAAwB,EAAE,CAAC;SAAC;QAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,4BAAgB,EAAE,OAAO,CAAC,CAAY,CAAC;IAC3E,CAAC;IAED,iBAAiB;QACf,IAAI,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,EAAE;YAAC,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;SAAC;IACzE,CAAC;IAED,IAAI,CAAC,OAAgB;QACnB,EAAE,CAAC,aAAa,CAAC,4BAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,kBAAkB;QAChB,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAChF,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,UAAU,CAAC,OAAgB,EAAE,GAAW,EAAE,QAA2B;QACnE,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE;YAAC,MAAM,IAAI,8BAAqB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;SAAC;QAC9F,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAC7D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,OAAgB,EAAE,GAAW;QACzC,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE;YAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;SAAC;QACpD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,OAAgB,EAAE,GAAW;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YAAC,MAAM,IAAI,6BAAoB,CAAC,GAAG,CAAC,CAAC;SAAC;QACvE,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AApCY,cAAc;IAD1B,qBAAU,EAAE;GACA,cAAc,CAoC1B;AApCY,wCAAc"}
1
+ {"version":3,"file":"contextService.js","sourceRoot":"","sources":["../../../src/hooks/context/contextService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,qCAA0G;AAC1G,+CAAmD;AACnD,uCAAyB;AACzB,2CAA6B;AAI7B,IAAa,cAAc,GAA3B,MAAa,cAAc;IACzB,eAAe;QACb,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,EAAE;YAAC,MAAM,IAAI,iCAAwB,EAAE,CAAC;SAAC;QAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,4BAAgB,EAAE,OAAO,CAAC,CAAY,CAAC;IAC3E,CAAC;IAED,SAAS;QACP,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,EAAE;YAAC,OAAO,IAAI,CAAC;SAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iBAAiB;QACf,IAAI,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,EAAE;YAAC,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;SAAC;IACzE,CAAC;IAED,IAAI,CAAC,OAAgB;QACnB,EAAE,CAAC,aAAa,CAAC,4BAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,kBAAkB;QAChB,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAChF,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,UAAU,CAAC,OAAgB,EAAE,GAAW,EAAE,QAA2B;QACnE,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE;YAAC,MAAM,IAAI,8BAAqB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;SAAC;QAC9F,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAC7D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,OAAgB,EAAE,GAAW;QACzC,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE;YAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;SAAC;QACpD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,OAAgB,EAAE,GAAW;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YAAC,MAAM,IAAI,6BAAoB,CAAC,GAAG,CAAC,CAAC;SAAC;QACvE,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAzCY,cAAc;IAD1B,qBAAU,EAAE;GACA,cAAc,CAyC1B;AAzCY,wCAAc"}
@@ -13,3 +13,4 @@ export interface useSpecFileOutput {
13
13
  error?: Error;
14
14
  }
15
15
  export declare const useSpecfile: (flags: useSpecFileInput) => useSpecFileOutput;
16
+ export declare const loadSpecFileForValidation: (input: string | undefined) => useSpecFileOutput;
@@ -19,7 +19,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.useSpecfile = exports.useContextFile = void 0;
22
+ exports.loadSpecFileForValidation = exports.useSpecfile = exports.useContextFile = void 0;
23
+ /* eslint-disable security/detect-object-injection */
23
24
  const models_1 = require("./models");
24
25
  const contextService_1 = require("./contextService");
25
26
  const tsyringe_1 = require("tsyringe");
@@ -193,4 +194,57 @@ const autoDetectSpecFileInWorkingDir = (specFile, command) => {
193
194
  }
194
195
  return new validation_1.SpecificationFile(specFile);
195
196
  };
197
+ const loadCurrentContext = (contextService) => {
198
+ let currentContext;
199
+ try {
200
+ const ctx = contextService.loadContextFile();
201
+ currentContext = ctx.store[ctx.current];
202
+ return { currentContext };
203
+ }
204
+ catch (error) {
205
+ return { error };
206
+ }
207
+ };
208
+ const loadSpecFileForValidation = (input) => {
209
+ const contextService = tsyringe_1.container.resolve(contextService_1.ContextService);
210
+ const cliService = tsyringe_1.container.resolve(cli_1.CLIService);
211
+ let specFile;
212
+ try {
213
+ if (!input) {
214
+ const { currentContext, error } = loadCurrentContext(contextService);
215
+ if (error) {
216
+ specFile = autoDetectSpecFileInWorkingDir(contextService.autoDetectSpecFile(), cliService.command());
217
+ return { specFile };
218
+ }
219
+ if (currentContext) {
220
+ specFile = new validation_1.SpecificationFile(currentContext);
221
+ return { specFile };
222
+ }
223
+ throw new models_1.NoSpecPathFoundError(cliService.command());
224
+ }
225
+ specFile = new validation_1.SpecificationFile(input);
226
+ if (!specFile.isNotValid()) {
227
+ return { specFile };
228
+ }
229
+ const ctx = contextService.loadContextFile();
230
+ if (Object.keys(ctx.store).includes(input)) {
231
+ specFile = new validation_1.SpecificationFile(ctx.store[input]);
232
+ return { specFile };
233
+ }
234
+ throw new models_1.NoSpecPathFoundError(cliService.command());
235
+ }
236
+ catch (error) {
237
+ if (error instanceof models_1.ContextFileNotFoundError) {
238
+ try {
239
+ specFile = autoDetectSpecFileInWorkingDir(contextService.autoDetectSpecFile(), cliService.command());
240
+ return { specFile };
241
+ }
242
+ catch (error) {
243
+ return { error };
244
+ }
245
+ }
246
+ return { error };
247
+ }
248
+ };
249
+ exports.loadSpecFileForValidation = loadSpecFileForValidation;
196
250
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/hooks/context/hooks.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/hooks/context/hooks.tsx"],"names":[],"mappings":"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"}
package/dist/messages.js CHANGED
@@ -7,7 +7,7 @@ const CONTEXT_NOT_FOUND = (contextName) => `Context ${contextName} does not exis
7
7
  exports.CONTEXT_NOT_FOUND = CONTEXT_NOT_FOUND;
8
8
  exports.MISSING_CURRENT_CONTEXT = 'No context is set as current, please set a current context.';
9
9
  exports.MISSING_ARGUMENTS = 'Missing arguments.';
10
- const NEW_CONTEXT_ADDED = (contextName) => `New context added.\n\nYou can set it as your current context: asyncapi context use ${contextName}\nYou can use this context when needed with --context flag: asyncapi validate --context ${contextName}`;
10
+ const NEW_CONTEXT_ADDED = (contextName) => `New context added.\n\nYou can set it as your current context: asyncapi context use ${contextName}\nYou can use this context when needed by passing ${contextName} as a parameter: asyncapi valiate ${contextName}`;
11
11
  exports.NEW_CONTEXT_ADDED = NEW_CONTEXT_ADDED;
12
12
  exports.CONTEXT_DELETED = 'context deleted successfully';
13
13
  const ValidationMessage = (filePath) => ({
@@ -15,7 +15,7 @@ const ValidationMessage = (filePath) => ({
15
15
  message: () => `File: ${filePath} successfully validated!`
16
16
  });
17
17
  exports.ValidationMessage = ValidationMessage;
18
- const NO_SPEC_FOUND = (command) => `${exports.FALLBACK_MESSAGES[command]}\n\nThese are your options to specify in the CLI what AsyncAPI file should be used:\n- You can use --file flag to provide a path to the AsyncAPI file: asyncapi ${command} --file path/to/file/asyncapi.yml\n- You can use --context flag to provide a name of the context that points to your AsyncAPI file: asyncapi ${command} --context mycontext\n- In case you did not specify a context that you want to use, the CLI checks if there is a default context and uses it. To set default context run: asyncapi context use mycontext\n- In case you did not provide any reference to AsyncAPI file and there is no default context, the CLI detects if in your current working directory you have files like asyncapi.json, asyncapi.yaml, asyncapi.yml. Just rename your file accordingly.`;
18
+ const NO_SPEC_FOUND = (command) => `${exports.FALLBACK_MESSAGES[command]}\n\nThese are your options to specify in the CLI what AsyncAPI file should be used:\n- You can provide a path to the AsyncAPI file: asyncapi ${command} path/to/file/asyncapi.yml\n- You can also pass a saved context that points to your AsyncAPI file: asyncapi ${command} mycontext\n- In case you did not specify a context that you want to use, the CLI checks if there is a default context and uses it. To set default context run: asyncapi context use mycontext\n- In case you did not provide any reference to AsyncAPI file and there is no default context, the CLI detects if in your current working directory you have files like asyncapi.json, asyncapi.yaml, asyncapi.yml. Just rename your file accordingly.`;
19
19
  exports.NO_SPEC_FOUND = NO_SPEC_FOUND;
20
20
  exports.FALLBACK_MESSAGES = {
21
21
  validate: 'Unable to perform validation. Specify what AsyncAPI file should be validated.'
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.tsx"],"names":[],"mappings":";;;AAAA,qDAAqD;AACxC,QAAA,iBAAiB,GAAG,0DAA0D,CAAC;AAErF,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,WAAW,WAAW,mBAAmB,CAAC;AAAvF,QAAA,iBAAiB,qBAAsE;AAEvF,QAAA,uBAAuB,GAAG,6DAA6D,CAAC;AAExF,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,sFAAsF,WAAW,2FAA2F,WAAW,EAAE,CAAC;AAAvP,QAAA,iBAAiB,qBAAsO;AAEvP,QAAA,eAAe,GAAG,8BAA8B,CAAC;AAEvD,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC;IACtD,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,QAAQ,oCAAoC;IAClE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,QAAQ,0BAA0B;CAC3D,CAAC,CAAC;AAHU,QAAA,iBAAiB,qBAG3B;AAEI,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,yBAAiB,CAAC,OAAO,CAAC,mKAAmK,OAAO,gJAAgJ,OAAO,icAAic,CAAC;AAAr0B,QAAA,aAAa,iBAAwzB;AAEr0B,QAAA,iBAAiB,GAA6B;IACzD,QAAQ,EAAE,+EAA+E;CAC1F,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.tsx"],"names":[],"mappings":";;;AAAA,qDAAqD;AACxC,QAAA,iBAAiB,GAAG,0DAA0D,CAAC;AAErF,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,WAAW,WAAW,mBAAmB,CAAC;AAAvF,QAAA,iBAAiB,qBAAsE;AAEvF,QAAA,uBAAuB,GAAG,6DAA6D,CAAC;AAExF,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,sFAAsF,WAAW,qDAAqD,WAAW,qCAAqC,WAAW,EAAE,CAAC;AAAjQ,QAAA,iBAAiB,qBAAgP;AAEjQ,QAAA,eAAe,GAAG,8BAA8B,CAAC;AAEvD,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC;IACtD,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,QAAQ,oCAAoC;IAClE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,QAAQ,0BAA0B;CAC3D,CAAC,CAAC;AAHU,QAAA,iBAAiB,qBAG3B;AAEI,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,yBAAiB,CAAC,OAAO,CAAC,gJAAgJ,OAAO,+GAA+G,OAAO,ubAAub,CAAC;AAAvwB,QAAA,aAAa,iBAA0vB;AAEvwB,QAAA,iBAAiB,GAA6B;IACzD,QAAQ,EAAE,+EAA+E;CAC1F,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asyncapi/cli",
3
- "version": "0.5.2",
3
+ "version": "0.6.2",
4
4
  "license": "Apache-2.0",
5
5
  "bin": {
6
6
  "asyncapi": "dist/cli.js"
@@ -10,6 +10,7 @@
10
10
  },
11
11
  "scripts": {
12
12
  "build": "tsc",
13
+ "dev": "tsc --watch",
13
14
  "start": "npm run build && node dist/cli.js",
14
15
  "pretest": "npm run build",
15
16
  "pretest:coverage": "npm run build",
@@ -17,16 +18,17 @@
17
18
  "test:coverage": "jest --verbose --coverage",
18
19
  "lint": "eslint --max-warnings 0 --config .eslintrc .",
19
20
  "lint:fix": "eslint --max-warnings 0 --config .eslintrc . --fix",
20
- "generate:assets": "echo 'Nothing Generated'",
21
+ "generate:assets": "npm run generate:readme:toc",
21
22
  "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION",
22
23
  "release": "semantic-release",
23
- "prepublishOnly": "npm run build"
24
+ "prepublishOnly": "npm run build",
25
+ "generate:readme:toc": "markdown-toc -i README.md"
24
26
  },
25
27
  "files": [
26
28
  "dist"
27
29
  ],
28
30
  "dependencies": {
29
- "@asyncapi/parser": "^1.8.2",
31
+ "@asyncapi/parser": "^1.9.1",
30
32
  "ink": "^3.0.8",
31
33
  "meow": "^9.0.0",
32
34
  "react": "^17.0.1",
@@ -54,6 +56,7 @@
54
56
  "eslint-plugin-sonarjs": "^0.9.1",
55
57
  "ink-testing-library": "^2.1.0",
56
58
  "jest": "^26.6.3",
59
+ "markdown-toc": "^1.2.0",
57
60
  "semantic-release": "^17.4.3",
58
61
  "ts-jest": "^26.5.3",
59
62
  "typescript": "^4.2.3"