-
-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
This issue tracks leftover tasks or future enhancements for the JSON Schema linter and canonicalizer. These were identified during GSoC work and should be considered for future development.
1. Documentation
- Move existing rule documentations to the JSON Schema CLI repo for now, so they are more visible and semi-official until we upstream them properly.
2. Reference Handling
- Break schemas when necessary and use
rereference()
in rules that transform applicators, to ensure$ref
pointers stay correct.
3. Non-auto-fixable Rules
Implement rules that cannot be safely auto-fixed, but should instead produce a clear user-friendly lint message.
-
conflicting_readonly_writeonly.json
-
const_and_enum_conflict.json
-
examples_must_validate.json
-
forbid_empty_enum.json
-
format_type_mismatch.json
-
incoherent_exclusive_limits.json
-
incoherent_inclusive_limits.json
-
mincontains_greater_than_maxcontains.json
-
mincontains_zero_without_maxcontains.json
-
no_actionable_text_in_title_description.json
-
oneof_min_branches.json
-
require_absolute_draft_uri.json
-
require_description_title.json
-
require_schema_declaration.json
-
top_level_id_must_be_absolute.json
-
unbounded_collection_limits.json
-
unique_branches_in_oneof.json
-
unresolved_ref_pointer.json
4. Additional Rule Enhancements
- Extend
unnecessary_allof_wrapper_properties
to work on older dialects, not just modern ones. - Improve diagnostics in
duplicate_anyof_branches
by highlighting which specific branches are duplicated. - Improve diagnostics in
duplicate_enum_values
by highlighting which specific enum entries are duplicated.
5. TODOs Inside Existing Rules
Specifically in UnnecessaryAllOfWrapperModern
:
- Add logic to check for type intersections in
type
arrays, not just direct equality. - Create a separate rule that removes a keyword if it is exactly equal to an instance of the same keyword already present outside the wrapper.
Metadata
Metadata
Assignees
Labels
No labels