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

Update dependency redux-saga to v1 #337

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 20, 2019

This PR contains the following updates:

Package Type Update Change References
redux-saga dependencies major ^0.16.0 -> ^1.0.0 homepage, source

Release Notes

redux-saga/redux-saga

v1.0.2

Compare Source

v1.0.1

Compare Source

v1.0.0

Compare Source

During work on v1, we made several breaking changes

Breaking changes
  • errors thrown during put execution are no longer caught and swallowed, you need to catch them manually
  • errors thrown during cancellation process are no longer swallowed, you need to keep finally block fail-safe
  • removed some deprecated APIs - takeEvery, takeLatest, throttle from the redux-saga entry point (they are and were importable from redux-saga/effects). put.sync and takem were removed.
  • removing execution of an array of effects yield [...]. use all effect instead.
  • delay became an effect, old delay function (not effect!) can be imported from @redux-saga/delay-p
  • put.resolve was changed to putResolve
  • take.maybe was changed to takeMaybe
  • changed API of runSaga - it no longer accepts subscribe option, you should create a channel (preferably stdChannel), pass it as channel argument to the runSaga API and communicate with through it with take and put methods
  • task.done getter was changed to be task.toPromise method
  • onError doesn't extend error with additional field sagaStack, but pass it as a property of second argument. before: onError: (e: Error), after: onError(e: Error, { sagaStack })
  • Effect shape, yielded to redux-saga middleware, is stabilized and declared now as a plain JavaScript object
  • channels private getters (takers and closed) got removed
  • {effects, utils} aren't imported from 'redux-saga' anymore. imports them from redux-saga/effects, redux-saga/utils
  • is helper should be imported from @redux-saga/is.
  • createMockTask, cloneableGenerator should be imported from @redux-saga/testing-utils
  • now race should be finished if any of effects resolved with END (by analogy with all)
  • cancel and join cannot receive variadic arguments anymore. so you have to rewrite cancel(...[tasks]) and join(...[tasks]) to cancel([tasks]) and join([tasks]) respectively. also calling cancel(...) returns a cancel-effect (before it may return an all effect), and calling join(...) returns a join-effect.
  • refactor effect structure from {[IO]: true, [type]: payload } to { [IO]: true, type, payload } to get rid of dynamic type property. Could affect you if implement custom monitor for saga effects.
  • channel and actionChannel have default buffer of buffers.expanding()
  • eventChannel does no longer accept matcher argument.
  • exported util of arrayOfDeffered got renamed to the correct arrayOfDeferred
New functionality
  • multicastChannel - no buffering, notify all pending takers, multicastChannel#take(cb, matcher = matchers.wildcard)
  • support for yield take(multicastChannel, pattern)
  • internal stdChannel got reworked to be a singleton object (it is wrapped multicastChannel's instance'), also it is an exported API to support new runSaga's signature - this should also result in being a small perf boost
  • effectMiddlewares - useful especially for testing, you can intercept/hijack any effect and resolve it on your own - passing it very redux-style to the next middleware (last being redux-saga itself). How it might be used can be checked here. Many thanks to @​eloytoro for this feature
  • takeLeading helper. It takes "leading" action and ignores all incoming ones of the same type while the "leading" is still handled (useful for things debouncing)
  • retry helper. Receives a function and executes it (with blocking call). In case of failure will try to make another call after delayLength milliseconds, if a number of attempts < maxTries parameter
  • add debounce helper. Spawns a saga on an action dispatched to the Store that matches pattern. Saga will be called after it stops taking pattern actions for ms milliseconds. Purpose of this is to prevent calling saga until the actions are settled off.

Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot. View repository job log here.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 766

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 100.0%

Totals Coverage Status
Change from base Build 765: 0.0%
Covered Lines: 1636
Relevant Lines: 1636

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants