redhat-developer / redhat-developer/vscode-yaml

Add support for JTD (JSON Type Definitions)

Open
#718 1 comment 20 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.