Better unknown handling configuration#2743
Draft
imjoshin wants to merge 1 commit intohapijs:masterfrom
Draft
Conversation
imjoshin
commented
Feb 16, 2022
| }); | ||
| }); | ||
|
|
||
| it('reports warnings with nested options', () => { |
Author
There was a problem hiding this comment.
We'll definitely want more tests here to cover root level unknown as well as allowUnknown: 'forbidden'
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #2739
Status: Draft
This is still a draft as I haven't been able to dedicate the time required to fix up the tests. I'm open to someone else helping out and/or providing guidance. 😄
This PR aims to have better handling of unknown keys. Within the
validateconfiguration, instead of just aboolean,allowUnknownsupports clearer definitions with backwards compatibility:These means we can either allow unknown keys with
allowedortrue, reject withforbiddenorfalse, or warn withwarn. Ifwarnorforbiddenare set, we can set what type the warning or error object are by setting thetypeproperty.