react-fullstack-graphql
react-fullstack-graphql copied to clipboard
fix(deps): update dependency react-apollo to v3
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
react-apollo | 2.5.8 -> 3.1.5 |
Release Notes
apollographql/react-apollo
v3.1.5
v3.1.4
v3.1.3
- Revert the changes made in #3497, which have lead to problems with
onCompleted
being called more often than necessary.
@hwillson in 0901f4a
v3.1.2
Bug Fixes
- Make sure SSR is fully disabled when using
ssr: false
andssrMode: true
.
@maapteh in #3515 - Fixed
MockLink
's brokennewData
function handling.
@pawelkleczek in #3539 - Fixed an issue that prevented
networkStatus
from changingready
at the end of pagination.
@mu29 in #3514
v3.1.1
Improvements
- Calling
startPolling
orstopPolling
after a component has unmounted is now a no-op (instead of throwing an exception). Polling is automatically stopped when a component is unmounted, so it doesn't need to be called manually.
@hwillson in #3485 - Allow
ignoreResults
to be controlled throughgraphql
andwithMutation
options.
@tim-stasse in #3431 - Be a bit more defensive when it comes to accessing the internal
ObservableQuery
instance, to avoid attempting to use it after a component has unmounted.
@jfrolich in #3490
Bug Fixes
- A fix has been applied to prevent an unchanging
loading
state when an error occurs after a refetch, that is the same as the previous error.
@jet2jet in #3477 - Add back in the removed
ChildDataProps
andChildMutateProps
types.
@hwillson in #3495 - Make sure
onCompleted
is called each time auseLazyQuery
based query completes, after the execution function is called.
@hwillson in #3497
v3.1.0
Potentially Breaking Change
- Change the default query
data
state from{}
toundefined
. This change aligns all parts of the React Apollo query cycle so thatdata
is alwaysundefined
if there is no data, instead ofdata
being converted into an empty object. This change impacts the initial query response, initial SSR response,data
value when errors occur,data
value when skipping, etc. All of these areas are now aligned to only ever return a value fordata
if there really is a value to return (instead of making it seem like there is one by converting to{}
).
@hwillson in #3388
Bug Fixes
- Adds support for the
skip
option when usinguseSubscription
.
@n1ru4l in #3356 - Makes sure
refetch
,fetchMore
,updateQuery
,startPolling
,stopPolling
, andsubscribeToMore
maintain a stable identity when they're passed back alongside query results.
@hwillson in #3422 - Fixed problematic re-renders that were caused by using
fetchMore.updateQuery
withnotifyOnNetworkStatusChange
set to true. WhennotifyOnNetworkStatusChange
is true, re-renders will now wait untilupdateQuery
has completed, to make sure the updated data is used during the render.
@hwillson in #3433 - Add
client
to theuseMutation
result.
@joshalling in #3417 - Prevent inline
onError
andonCompleted
callbacks from being part of the internal memoization that's used to decide when certain after render units of functionality are run, when usinguseQuery
. This fixes issues related to un-necessary component cleanup, likeerror
disappearing from results when it should be present.
@dylanwulf in #3419 -
useLazyQuery
's execution function can now be called multiple times in a row, and will properly submit network requests each time called, when using a fetch policy ofnetwork-only
.
@hwillson in #3453 - SSR enhancements to support
network-only
andcache-and-network
fetch policies, along with changes to ensure disabled SSR queries are not fired.
@mikebm in #3435 - Remove
void
from theMutationFunction
's returned Promise types.
@hwillson in #3458 - Prevent duplicate
onCompleted
calls during the same query execution cycle.
@hwillson in #3461 - Make sure polling is stopped when a component is unmounted.
@dqunbp in #3273 - Documentation fixes.
@SeanRoberts in #3380
v3.0.1
Improvements
- Documentation updates.
@joshalling in #3324
Bug Fixes
- Dedupe
onError
callback calls and ensurerefetch
setsloading
state properly.
@hwillson in #3339 - Add missing
useLazyQuery
export to thereact-apollo
(all) package.
@hwillson in #3320 - Remove
void
from being one of theMutationTuple
mutate function possible generics. This will make it easier to properly destructure results returned by the mutate function Promise.
@hwillson in #3334 - Export
MockedProviderProps
andMockedProviderState
from@apollo/react-testing
.
@hwillson in #3337 - Add
@types/react
as a peer dep, to address potential TS compilation errors when usingApolloProvider
.
@zkochan in #3278 - Make sure
error
's are maintained after re-renders, when they should be.
@hwillson in #3362
v3.0.0
Overview
This major release includes a large refactoring of the existing React Apollo codebase, to introduce new improvements, changes, features and bug fixes. The biggest new features are:
- Provides new
useQuery
,useLazyQuery
,useMutation
,useSubscription
, anduseApolloClient
hooks, following React's Hooks API. - Maintains support for React Apollo's
graphql
HOC and render proper components. - Introduces a new monorepo structure, with separately published packages, making it easier to use just the parts of React Apollo you're interested in:
-
@apollo/react-common
-
@apollo/react-hooks
-
@apollo/react-components
-
@apollo/react-hoc
-
@apollo/react-ssr
-
@apollo/react-testing
-
- Thorough codebase pruning and cleaning to reduce the overall React Apollo bundle size.
- And more!
Consult the Hooks migration guide for more details around upgrading. For more information regarding how to use the new hooks, please consult the updated React Apollo docs (all docs have been updated to be hooks first).
Breaking Changes
-
The minimum supported React version is now 16.8.
-
The
react-apollo@3
package preserves most of the functionality ofreact-apollo@2
by re-exporting existing components and functions from@apollo/react-components
and@apollo/react-hoc
. If you want to use Hooks, Components, or HOC directly, import the new@apollo/react-hooks
,@apollo/react-components
, and/or@apollo/react-hoc
packages instead. -
React Apollo testing utilities are no longer available as part of the
react-apollo
package. They should now be imported from the new@apollo/react-testing
package. -
The deprecated
walkTree
function has been removed (9b24d756). -
The deprecated
GraphqlQueryControls
andMutationFunc
types have been removed (ade881f0). -
Preact is no longer supported (b742ae63).
-
Various Typescript type changes. Since we've introduced a third way of managing data with React (Hooks), we had to rework many of the existing exported types to better align with the Hooks way of doing things. Base types are used to hold common properties across Hooks, Components and the
graphql
HOC, and these types are then extended when needed to provide properties that are specific to a certain React paradigm (30edb1b0 and 3d138db3). -
catchAsyncError
,wrap
, andcompose
utilities have been removed (2c3a262, 7de864e, and e6089a7).Previously,
compose
was imported then exported directly from lodash usingflowRight
. To keep usingcompose
, install thelodash.flowright
package, then update yourcompose
imports as:import compose from 'lodash.flowright';
-
Render prop components (
Query
,Mutation
andSubscription
) can no longer be extended. In other words, this is no longer possible:class SomeQuery extends Query<SomeData, SomeVariables> {}
All class based render prop components have been converted to functional components, so they could then just wrap their hook based equivalents (
useQuery
,useMutation
,useSubscription
).While we recommend switching over to use the new hooks as soon as possible, if you're looking for a stop gap you can consider typing a
Query
component in a similar fashion, like:export const SomeQuery = () => ( <Query<SomeData, SomeVariables> query={SOME_QUERY} ...> {({ data }) => { return <div> ... things happen... </div>; }} </Query> );
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 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 Mend Renovate. View repository job log here.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.