asyncapi / asyncapi/avro-schema-parser

Avro validation

Open
#310 6 comments 0 reactions 0 assignees View on GitHub
enhancement stale
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.