redhat-developer / redhat-developer/vscode-yaml
Add support for JTD (JSON Type Definitions)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 829
- Forks
- 260
- Avg merge
- 5h 43m
- Merged PRs (30d)
- 1
Description
Is your enhancement related to a problem? Please describe.
Seeing that eg. ajv has started to support JTD (even with some JTD-exclusive features and that JTD itself is published as a final (although experimental) RFC 8927 (unlike JSON Schema which is stuck in an eternal stream of drafts) + seeing how JTD covers a simplified, and strictly type related, subset of what JSON Schema covers, making it more of a 1:1 match with the type systems of eg. TypeScript – that makes it rather appealing to be able to get schema support for JTD-schemas in addition to the current support for JSON Schemas.
Describe the solution you would like
The addition of support for JSON Type Definitions, JTD:s, schemas alongside JSON Schemas.
Describe alternatives you have considered
Alternative would be for those who use JTD:s to eg. convert them to JSON Schema when they want this plugin to make use of them, or to write both JTD:s and JSON Schemas, with the risk of the two diverging and giving different validation results for the same input.
Additional context
There exists multiple implementations and tools for JTD at https://jsontypedef.com/docs/implementations/
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue points to the existing JSON Schema support as the starting area, but names no files, tests, or entry points. First map how that support is exposed in vscode-yaml; done means JTD schemas work alongside JSON Schemas without requiring conversion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100