asyncapi / asyncapi/cli

[BUG] The `validate` subcommand does not fully support the `--diagnostics-format` options despite its help message

Open
#2,007 3 comments 1 reaction 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
272
Forks
375
Avg merge
3h 22m
Merged PRs (30d)
8

Description

### Describe the bug.

`asyncapi validate --help` says the `--diagnostics-format` parameter supports 12 options, but `github-actions`, `sarif`, `code-climate`, `gitlab` and `markdown` are not supported actually and they generates the same result as `stylish`.

### Expected behavior

It should support these formats or the help message should be fixed.

### Screenshots

Image

### How to Reproduce

1. Ran the `validate` subcommand and ensured those five options for the `--diagnostics-format` parameter in the help message:

```
$ bin/run validate --help
validate asyncapi file

USAGE
$ asyncapi validate [SPEC-FILE] [-h] [-w] [--log-diagnostics] [--diagnostics-format json|stylish|junit|html|text|teamcity|pretty|github-actions|sarif|code-climate|gitlab|markdown] [--fail-severity error|warn|info|hint] [-s ] [--score] [--suppressWarnings ...] [--suppressAllWarnings]
[--proxyHost ] [--proxyPort ]
```

2. Ran the `validate` subcommand against any spec file with one of the options above and ensured the output format is the same as `stylish`:

```
$ bin/run validate --diagnostics-format=github-actions test/fixtures/badFormatAsyncapi.json

...

test/fixtures/badFormatAsyncapi.json
1:1 warning asyncapi-defaultContentType AsyncAPI document should have "defaultContentType" field.
1:1 warning asyncapi-id AsyncAPI document should have "id" field.
1:1 warning asyncapi-servers AsyncAPI document should have non-empty "servers" object.
1:1 warning asyncapi2-tags AsyncAPI object should have non-empty "tags" array.
2:15 information asyncapi-latest-version The latest version of AsyncAPi is not used. It is recommended update to the "3.1.0" version. asyncapi
3:10 warning asyncapi-info-contact Info object should have "contact" object. info
3:10 warning asyncapi-info-license Info object should have "license" object. info
10:19 warning asyncapi2-operation-operationId Operation should have an "operationId" field defined. channels.user/signedup.subscribe

✖ 8 problems (0 errors, 7 warnings, 1 info, 0 hints)
```

### 🖥️ Device Information [optional]

- Operating System (OS): Ubuntu 24.04.3 LTS
- Browser: -
- Browser Version: -

### 👀 Have you checked for similar open issues?

- [x] I checked and didn't find similar issue

### 🏢 Have you read the Contributing Guidelines?

- [x] I have read the [Contributing Guidelines](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md)

### Are you willing to work on this issue ?

Yes I am willing to submit a PR!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.