Warn about unknown fields when editing settings json (#33678)

Closes #30017

* While generating the settings JSON schema, defaults all schema
definitions to reject unknown fields via `additionalProperties: false`.

* Uses `unevaluatedProperties: false` at the top level to check fields
that remain after the settings field names + release stage override
field names.

* Changes json schema version from `draft07` to `draft_2019_09` to have
support for `unevaluatedProperties`.

Release Notes:

- Added warnings for unknown fields when editing `settings.json`.
This commit is contained in:
Michael Sloan 2025-06-30 17:34:25 -06:00 committed by GitHub
parent 7609ca7a8d
commit c74ecb4654
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 86 additions and 40 deletions

View file

@ -12,7 +12,7 @@ pub struct VsSnippetsFile {
impl VsSnippetsFile {
pub fn generate_json_schema() -> Value {
let schema = schemars::generate::SchemaSettings::draft07()
let schema = schemars::generate::SchemaSettings::draft2019_09()
.into_generator()
.root_schema_for::<Self>();