fix(types): make algoliasearch detection compatible with TS 5.4.5 #6244
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.
I can't manage to reproduce this locally, even if i update everything to 5.4.5, but in a fresh Next.js example (like https://codesandbox.io/s/47fy7c)
hitsPerPage
isn't accepted to Configure (because PlainSearchParameters is any)This is I believe linked to microsoft/TypeScript#56004, maybe also to sindresorhus/type-fest#846 (although the case seems different).
Essentially before this change the types like
ClientLiteV5
were evaluated toany
instead ofunknown
, poisoning the entire type and turning everything into any.The solution is to first check if
typeof AlgoliaSearchLite
is any, and if it is any we don't even evaluate the rest of teh type. Of course if it isn't any it works correctly for v5 still.Again, unfortunately this isn't reproducible in this repo, even when every typescript version is updated to 5.4.5, but at least the error will be fixed
fixes #5989