Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump redux from 4.1.2 to 4.2.0 in /tdrs-frontend #1813

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github May 18, 2022

Bumps redux from 4.1.2 to 4.2.0.

Release notes

Sourced from redux's releases.

v4.2.0

This release marks the original createStore API as @deprecated to encourage users to migrate to Redux Toolkit, and adds a new legacy_createStore API as an alias without the deprecation warning.

Goal

Redux Toolkit (the @reduxjs/toolkit package) is the right way for Redux users to write Redux code today:

https://redux.js.org/introduction/why-rtk-is-redux-today

Unfortunately, many tutorials are still showing legacy "hand-written" Redux patterns, which result in a much worse experience for users. New learners going through a bootcamp or an outdated Udemy course just follow the examples they're being shown, don't know that RTK is the better and recommended approach, and don't even think to look at our docs.

Given that, the goal is to provide them with a visual indicator in their editor, like createStore . When users hover over the createStore import or function call, the doc tooltip recommends using configureStore from RTK instead, and points them to that docs page. We hope that new learners will see the strikethrough, read the tooltip, read the docs page, learn about RTK, and begin using it.

To be extremely clear:

WE ARE NOT GOING TO ACTUALLY REMOVE THE createStore API, AND ALL YOUR EXISTING CODE WILL STILL CONTINUE TO WORK AS-IS!

We are just marking createStore as "deprecated":

"the discouragement of use of some feature or practice, typically because it has been superseded or is no longer considered efficient or safe, without completely removing it or prohibiting its use"

For additional details, see the extensive discussion in reduxjs/redux#4325 .

Rationale

  • RTK provides a vastly improved Redux usage experience, with APIs that simplify standard usage patterns and eliminate common bugs like accidental mutations
  • We've had suggestions to merge all of RTK into the redux core package, or fully deprecate the entire redux package and rename it to @reduxjs/core. Unfortunately, those bring up too many complexities:
    • We already had a package rename from redux-starter-kit to @reduxjs/toolkit, and all of our docs and tutorials have pointed to it for the last three years. I don't want to put users through another whiplash package transition for no real benefit
    • Merging or rearranging our packages would effectively require merging all of the Redux repos into a single monorepo. That would require hundreds of hours of effort from us maintainers, including needing to somehow merge all of our docs sites together. We don't have the time to do that.
  • I don't want to add runtime warnings that would be really annoying

So, this is the minimum possible approach we can take to reach out to users who otherwise would never know that they are following outdated patterns, while avoiding breaking running user code or having to completely rewrite our package and repo structure.

Results

When a user imports createStore in their editor, they will see a visual strikethrough. Hovering over it will show a doc tooltip that encourages them to use configureStore from RTK, and points to an explanatory docs page:

image

Again, no broken code, and no runtime warnings.

If users do not want to see that strikethrough, they have three options:

  • Follow our suggestion to switch over to Redux Toolkit and configureStore
  • Do nothing. It's just a visual strikethrough, and it doesn't affect how your code behaves. Ignore it.
  • Switch to using the legacy_createStore API that is now exported, which is the exact same function but with no @deprecation tag. The simplest option is to do an aliased import rename:

image

... (truncated)

Commits
  • 93d1886 Release 4.2.0
  • 0f3aeb5 Merge pull request #4336 from reduxjs/feature/createstore-deprecation
  • fdf5956 Mark createStore as deprecated and add legacy_createStore
  • 051aca0 Update Redux version in package-lock.json
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [redux](https://github.com/reduxjs/redux) from 4.1.2 to 4.2.0.
- [Release notes](https://github.com/reduxjs/redux/releases)
- [Changelog](https://github.com/reduxjs/redux/blob/master/CHANGELOG.md)
- [Commits](reduxjs/redux@v4.1.2...v4.2.0)

---
updated-dependencies:
- dependency-name: redux
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added a11y-review PR is ready for accessibility review dependencies Pull requests that update a dependency file dev frontend raft review This issue is ready for raft review labels May 18, 2022
@dependabot dependabot bot requested a review from a team May 18, 2022 13:48
@codecov
Copy link

codecov bot commented May 18, 2022

Codecov Report

Merging #1813 (4744432) into develop (ce92784) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff            @@
##           develop    #1813   +/-   ##
========================================
  Coverage    95.80%   95.80%           
========================================
  Files           78       78           
  Lines         2004     2004           
  Branches       273      273           
========================================
  Hits          1920     1920           
  Misses          53       53           
  Partials        31       31           
Flag Coverage Δ
dev-backend 96.78% <ø> (ø)
dev-frontend 93.84% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ce92784...4744432. Read the comment docs.

@riatzukiza
Copy link

@andrew-jameson We use the createStore api that this version is now depreciating. We will need to change this eventually.

@andrew-jameson
Copy link
Collaborator

@andrew-jameson We use the createStore api that this version is now depreciating. We will need to change this eventually.

Is that a quick resolution in this ticket or should that be split-off as a new ticket?

Copy link

@riatzukiza riatzukiza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't change anything, it only depreciates an interface. We will have to migrate away from the createStore api soon.

@riatzukiza
Copy link

riatzukiza commented May 20, 2022

@andrew-jameson We use the createStore api that this version is now depreciating. We will need to change this eventually.

Is that a quick resolution in this ticket or should that be split-off as a new ticket?

I have never used this redux toolkit before. I think it should be a new ticket, we have time to look into it.
https://redux.js.org/introduction/why-rtk-is-redux-today

@riatzukiza
Copy link

@dependabot close

@dependabot dependabot bot closed this May 20, 2022
@dependabot dependabot bot deleted the dependabot/npm_and_yarn/tdrs-frontend/develop/redux-4.2.0 branch May 20, 2022 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a11y-review PR is ready for accessibility review dependencies Pull requests that update a dependency file dev frontend raft review This issue is ready for raft review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants