-
Notifications
You must be signed in to change notification settings - Fork 666
Closed
Labels
Milestone
Description
See #480 for more context and initial PR
Upgrade Types to Support TypeScript 4.1+ Capabilities
In version v5.0.0, reselect can take advantage of some of the interesting new features of TypeScript. Using 4.1+ we can accomplish these goals:
Goals
- eliminate the need for N-valued type overloads
- fully and safely type variadic (non-array)
createSelectorcalls - support more than 12 selectors in variadic
createSelectorcalls - fix bugs w/ typings (As of TypeScript 3.1.1, types erroneously fall back to arity-agnostic createSelector signature when used with arrays #420, [TypeScript] defaultMemoize errors #384 are some examples)
- support TypeScript 3.9+ and validate it in CI
Some caveats
- Version 5.0.0 proposal #401 proposes interesting changes to the API, we should make sure to not conflict with these changes
- ci: replace TravisCI with GitHub Actions #483 replaces the CI pipeline with GitHub Actions. We need to support testing multiple versions of TypeScript with that new CI structure (this is already worked out in refactor(typescript): upgrade to TS 4.1, simplify and generalize types #480)