Evaluate current Redux TS port status to determine remaining work for a 5.0 release
See original GitHub issuePasting from #4127 :
What are the breaking changes in 5.x? Are the types different enough that it needs a new major? What’s holding it back from getting released?
That’s sorta the issue - we’re not sure what the breaking changes are, it’s likely the types would benefit from more changes, and there’s not enough reason to push it live and cause churn in the ecosystem atm 😃
The conversion work was actually done in… late 2019, I think? And it’s been sitting there in master
ever since.
Basically, the community contributed the work after we asked for it, and then the whole effort just stalled.
There’s also some tie-in to redux-thunk
’s types being stuck in a holding pattern as well.
Basically, what’s live in 4.x right now works well enough, and especially with RTK now being the default, that there just isn’t enough pressing reason to try to push through a 5.0 release any time soon.
I’d like to see 5.0 released, but it needs some meaningful attention to figure out what other types changes might be necessary, and given everything else going on it’s just at the bottom of the priority list for us right now.
If someone else with serious TS knowledge wants to help us out and try to push the current TS port forward by evaluating it and seeing where things stand and how it can be improved, I’d love it.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:3
- Comments:19 (18 by maintainers)
Top GitHub Comments
Update since someone asked on Discord:
The notional plan atm is:
Yeah, like I quoted above, we’ve always said they should be serializable, and ought to be strings.
Someone over on Twitter said they’d once tried to use Symbols to make them truly unique, but tbh slice namespacing gives you like 95% uniqueness anyway, so I don’t see that as a reason to continue to allow them. As mentioned above, TS enums can have number values, but again why would you do that? We want them to be readable in the DevTools.
So, given that we’ve always effectively said they should be strings, we might as well enforce it.
And stuff like that definitely qualifies as a major 😃
As far as the original topic for this thread: I’ve been working with @JoshuaKGoldberg from CodeCademy on some Redux+TS updates to their codebase, and he just confirmed that
redux@5.0.0-alpha.0
dropped in with no issues whatsoever. That’s after we fixed some TS issues that did come up with 4.0.5 -> 4.1.1.Just a single data point, but it suggests that the TS types in
master
are pretty consistent with 4.x.