Skip to content

feat: report an unknown key nested in an option - #60

Draft
mcanouil wants to merge 4 commits into
mainfrom
build/update-the-vendored-modules
Draft

mcanouil wants to merge 4 commits into
mainfrom
build/update-the-vendored-modules

Conversation

@mcanouil

@mcanouil mcanouil commented Sep 13, 2026

Copy link
Copy Markdown
Owner

No schema in the fleet declared additionalProperties: false, so a key nested inside an option was never checked. A typo in a nested setting did nothing, in silence. The nested object blocks in this schema now declare it.

Verified by rendering this extension's own documented configuration, which passes with nothing reported, and then by introducing one typo:

(E) [gitlink] widget.sponsr: is not a recognised key.

A union such as type: [string, object] keeps its string form untouched; only the object form is checked. That was measured before the change was made.

One asymmetry worth knowing, and it is the validator's rather than this schema's. An unknown key at the top level of an extension's options is reported as a warning, being advice rather than a failure, while an unknown nested key is reported as an error. Neither stops a render.

The first commit updates the vendored modules to quarto-lua-modules 2.5.0 and quarto-wizard 3.6.3.

`quarto-lua-modules` moves to 2.5.0, which adds `Checker:option` for
reading what the schema resolves an option to. `quarto-wizard` moves to
3.6.3, whose `schema.lua` is unchanged from the vendored 3.6.0.
@mcanouil mcanouil added the Type: Dependencies ⬆️ Issues related to dependencies, which are external libraries or packages that are used label Sep 13, 2026
@mcanouil mcanouil self-assigned this Sep 13, 2026
No schema in the fleet declared `additionalProperties: false`, so a key
nested inside an option was never checked and a typo did nothing in
silence. The nested object blocks now declare it.

A union such as `type: [string, object]` is unaffected in its string
form, and the extension's own documented configuration still passes.
@mcanouil mcanouil added Type: Enhancement 💡 Issues related to enhancements, improvements, new features, or new analyses and removed Type: Dependencies ⬆️ Issues related to dependencies, which are external libraries or packages that are used labels Sep 14, 2026
@mcanouil mcanouil changed the title build: update the vendored modules feat: report an unknown key nested in an option Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: Enhancement 💡 Issues related to enhancements, improvements, new features, or new analyses

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant