microsoft / microsoft/vscode-json-languageservice

Is custom JSON Schema Format Validation on the roadmap.

Open
#124 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
Dominant language
TypeScript
Stars
326
Forks
145
Avg merge
22h 10m
Merged PRs (30d)
9

Description

The JSON Schema validation spec says that an implementation may support custom format attributes. I believe that the validation in src/parser/jsonParser.ts does not yet do this. Is this on the roadmap? Can I do some "magic" with meta-schemas and vocabularies to accomplish this goal. I apologize that I don't understand meta-schemas as well as Ben Hutton (the current JSON Schema spec author, who is also a contributor to this repo).

If the team is amenable, I could probably implement this. The code in jsonParser is very clear and it the work would entail adding properties to the "const formats = {}" at the top of the file. I don't know exactly where the API for adding formats would go, maybe the LanguageSettings or DiagnosticOptions.

Contributor guide

No contributing guide indexed for this repository

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

Start with src/parser/jsonParser.ts, especially the const formats = {} section, then inspect LanguageSettings and DiagnosticOptions for existing extension points. This issue asks whether custom format attributes are supported and where an API should belong; confirm the project direction and define the accepted API and validation behavior before implementation.

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
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.