fix(nuxt,schema): prefer unknown rather than any for signatures #21700
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.
π Linked issue
β Type of change
π Description
This PR improves type safety within Nuxt in a number of locations where unspecified types fell back to any:
RuntimeConfig
PageMeta
NuxtApp['payload']
(accessible now fromNuxtPayload
interface)ModuleMeta
It also fixes an issue with how we extended
NitroRuntimeConfig
.The reason this is important is that type safety is purely cosmetic when accessing an unknown key. For example, if you rename a key in your runtime configuration, you aren't warned when accessing the old name of that key. If you do not like this behaviour, you can set
typescript.strict
to false in your nuxt.config - but it is highly recommended to keep strict mode enabled.π Migration
It should not require any updating for end users in the case of
RuntimeConfig
as we already generate the types for every key we know about (and do not allow arbitrarily extending runtime configuration at runtime).You can declare the types that are expected like this:
π Checklist