Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move Avro Schema parser (TS version) back from parser-js 2.0 to this repo #166

Closed
smoya opened this issue Oct 11, 2022 · 7 comments
Closed
Labels
enhancement New feature or request stale

Comments

@smoya
Copy link
Member

smoya commented Oct 11, 2022

Reason/Context

Parser-JS 2.0 (released as rc at this moment) is a completely new parser, with a lot of changes. The bigger ones are:

  • Completely rewritten to TS.
  • Implements the new parser-api, in particular, the version found in this PR.
  • Uses Spectral as parser/linter with the AsyncAPI ruleset.
  • Lots of other improvements, especially around Developer Experience.

Considering that Spectral now validates the documents before parsing, we had to update the interface for Schema parsers to separate validation from parsing. This change also introduced better errors and the way we handle them. (see this issue and related).

FYI, Spectral addition was discussed starting in asyncapi/parser-js#481 (comment), ending in asyncapi/parser-js#481 (comment). Also asyncapi/parser-js#477 (comment). Also during some 3.0 meetings.

To not pollute every single schema parser repository and to simplify development, the schema parsers have been temporarily included in the same source code as the Parser-JS 2.0. Once tested, the idea is to move those back to their own repositories.

Description

The work to be done is to move back this schema parser from https://github.com/asyncapi/parser-js/tree/next-major/src/schema-parser to this repository.

This includes:

  • Copy-pasting the schema parser code from the Parser-JS 2.0 next-major repository to this one.
  • Enable Typescript compilation.
  • To release a new major version, since the interface has changed.

Please feel free to drop your questions and concerns.

cc @derberg @fmvilas @M3lkior @dalelane @magicmatatjahu

@smoya smoya added the enhancement New feature or request label Oct 11, 2022
@github-actions
Copy link

Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

@smoya smoya changed the title Move TS Schema parser back from parser-js 2.0 to this repo Move Avro Schema parser (TS version) back from parser-js 2.0 to this repo Oct 11, 2022
@derberg
Copy link
Member

derberg commented Oct 19, 2022

If I would be the only maintainer here, I would not be happy with TS. Not a fan of it, especially in small projects.

But I'm not alone, and I know some maintainers come from Java world and will appreciate types 😄

@dalelane @M3lkior @fmvilas up to you folks, all go with the majority

@fmvilas
Copy link
Member

fmvilas commented Oct 20, 2022

I think TS adds value so I'd stay with it.

@M3lkior
Copy link
Collaborator

M3lkior commented Oct 20, 2022

I'm not so familiar with TS but i know his benefits, so i agree to migrate ; especially if the new parser rocks !

@dalelane
Copy link
Collaborator

I'm absolutely not a typescript expert, but I'm sold on the promise of it and needed an excuse to learn it anyway :)

@smoya
Copy link
Member Author

smoya commented Oct 21, 2022

I think majority has spoken, so seems like a 👍 to TS.

The PR is already created and waiting for your review: #168
cc @dalelane @M3lkior @fmvilas @derberg

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added the stale label Feb 19, 2023
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jun 19, 2023
@smoya smoya closed this as completed Jun 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request stale
Projects
None yet
Development

No branches or pull requests

5 participants