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

Should we publish a JSON Schema for catalog.json to Schema Store or similar #27

Open
aaronsteers opened this issue Oct 28, 2021 · 3 comments

Comments

@aaronsteers
Copy link
Contributor

This could be helpful for users debugging or modifying their own catalog files, and also as a CI test to make sure taps are generating catalog files compliant with the spec.

Schema Store schemas may be automatically identified and applied in some IDEs (VS Code is one) for linting and auto-complete.

@pnadolny13
Copy link

@aaronsteers I'm not sure if this is already part of the utils that parse the catalog input but if not this could also be recommended as a best practice for taps to do a schema validation prior to execution. It might help avoid confusing errors related to missing keys if someone was manually updating their catalog.

@aaronsteers
Copy link
Contributor Author

@pnadolny13 - Agreed. It might be a warning-level (non-fatal) message, but I agree the util libs could and probably should alarm in some way if a passed catalog.json does not meet the published JSON Schema for that file.

@aaronsteers
Copy link
Contributor Author

aaronsteers commented Jan 26, 2022

Posting back a quick update - we had some great success publishing JSON Schemas for our own Meltano yaml formats, and it was pretty painless to get those added to SchemaStore.org.

For ref:

A really nice benefit is that VS Code (and other editors) then automatically provided hover-text with help tips, lint warnings (red squigleys), and auto-complete support.

I don't know if this is too broad, but in theory would register Catalog files with a naming rule like *catalog.json and I think this could be a big help for users who have to modify catalog files manually.

For STDOUT/STDIN schemas like RECORD and SCHEMA messages, the naming rule is less relevant, since those are not "files" in the same sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants