build(deps-dev): bump redux from 3.7.2 to 4.1.0
Bumps redux from 3.7.2 to 4.1.0.
Release notes
Sourced from redux's releases.
v4.1.0
This release shrinks our bundle size via error message extraction, updates several error messages for clarity, and optimizes our list of runtime dependencies.
Overall, version 4.1 shrinks from 2.6K min+gz to 1.6K min+gz thanks to these changes.
Be sure to check out the Redux Toolkit 1.6 alpha containing our new "RTK Query" data fetching APIs! It also includes Redux 4.1 as a dependency.
Changelog
Error Message Extraction and Improvements
We now extract all of our error messages from production builds in order to save on bundle size, using a technique inspired from React's error code extraction. The error messages will still show as normal in development, but in production they will reference a specific numeric error code and provide a link to a Redux docs page that has the full error message.
An example of this is: https://redux.js.org/errors?code=5 , which shows the "can't subscribe while reducers are executing" error.
The error code extraction saves about 800 bytes out of a production build.
Thanks to
@andrewmcgiveryfor doing all the hard work on implementing the error extraction!We've also updated many of our error messages to provide additional details at runtime about what happened, especially runtime type checks such as "actions must be plain objects". They now provide a more specific type for the unexpected value, such as indicating
promiseorfunction:expect(() => store.dispatch(() => {})).toThrow( /the actual type was: 'function'/ )expect(() => store.dispatch(new Date())).toThrow( /the actual type was: 'date'/ )Dependency Updates
We've updated the list of runtime dependencies for Redux:
- We inlined the
symbol-observablepolyfill. This shrinks bundle size by a few bytes,- We've removed the legacy
loose-envifydependency, which was only ever needed by Browserify users. If you still happen to be using Browserify, please review your build settings and see if you need to make any updates.- We now explicitly depend on
@babel/runtimeto extract some additional helpers out of our bundle. It's likely that your app already is pulling in those helpers anyway, so that removes some potential duplication.Typing Tweaks
We've merged fixes for a couple edge cases in the 4.x TS typings related to state types.
Changes
- Remove symbol-observable and loose-envify deps (#4058 -
@markerikson)- Port error extraction setup from master (#4057 -
@markerikson)- Port build dependencies from master into 4.x (#4056 -
@markerikson)- Rewrite Redux core error messages (#4055 -
@markerikson)- feat: mangle error codes to error indexes (#3920 -
@andrewmcgivery)
... (truncated)
Commits
97a77984.1.032f368a4.1.0-alpha.09445d3aIgnore Docusaurus output9a1d065Merge pull request #4058 from reduxjs/feature/4x-remove-legacy-depsd29cbfaInclude ESM .mjs file in size comparisonsfb5abccFormatting0d7d94dInline the symbol-observable polyfillb882d9aRemove symbol-observable and loose-envify depsf3680b5Merge pull request #4057 from reduxjs/feature/4x-error-messages3ce88ddFormatting- Additional commits viewable in compare view
Maintainer changes
This version was pushed to npm by acemarke, a new releaser for redux since your current version.
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 rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) -
@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language -
@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language -
@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language -
@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language -
@dependabot badge mewill comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)