asyncapi / asyncapi/avro-schema-parser
Avro validation
- Dominant language
- TypeScript
- Stars
- 33
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
### Why do we need this improvement?
While working on adding Avro validation in the AsyncAPI CLI
(https://github.com/asyncapi/cli/pull/1833
), we noticed that proper validation needs to happen in this repository.
Currently, Avro schemas with invalid definitions (e.g. type: notexisting) are parsed without errors, which causes the CLI to incorrectly report them as valid.
cc: @M3lkior @dalelane
Please let me know if I can start working on this.
### How will this change help?
- Detect invalid Avro schemas early
- Allow CLI and other tools to report correct validation errors
- Improve correctness when using Avro with AsyncAPI
### Screenshots
_No response_
### How could it be implemented/designed?
Add semantic validation for Avro schemas during parsing
Report clear validation errors for invalid types and structures
Expose validation results so downstream tools (like the CLI) can reuse them
### 🚧 Breaking changes
No
### 👀 Have you checked for similar open issues?
- [x] I checked and didn't find a 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
Research direction
Start by tracing how this repository parses Avro schemas for the AsyncAPI CLI, then identify where invalid definitions such as `type: notexisting` are currently accepted. Done means semantic validation rejects invalid types and structures with clear errors, while exposing results for downstream tools to reuse; the issue does not name specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nodejs, typescript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100