fix(schema): resolve linting issues in expo-37.0.0.json schema #4949
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR addresses the following linting issues in the
expo-37.0.0.jsonschema:typealongsideenumto adhere to JSON Schema best practices.x-to ensure compatibility with future versions of JSON Schema.additionalPropertiesandpropertiesdeclarations that added no further constraints.typedeclarations that used arrays with a single type.These changes were made to ensure compliance with JSON Schema standards and to resolve the reported linting errors. The schema was updated using the
jsonschema lint --fixcommandScreenshots
Before and after:
Note
I, along with Juan (JSON Schema TSC member) are defining linting rules for JSON Schema as a Part of a GSoC (Google Summer of code) project here - https://github.com/Karan-Palan/JSON-Schema-Linting, and implementing their auto-fixes here - https://github.com/sourcemeta/jsonschema/blob/main/docs/lint.markdown. We have recently added many rules
prefixing unknown keywords with x-which will be introduced in the newer JSON Schema draftsIf beneficial to the project, I suggest integrating the linter with it to write the best schemas and catch any errors and follow best practices. Example of an integration - https://github.com/krakend/krakend-schema/blob/main/.github/workflows/validate-json-schema.yml#L10