-
Notifications
You must be signed in to change notification settings - Fork 15
fix(deps): update dependency react-apollo to v3 #49
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
base: master
Are you sure you want to change the base?
Conversation
|
d5a5243 to
c8d0758
Compare
c8d0758 to
0abd66c
Compare
0abd66c to
0ac6036
Compare
0ac6036 to
69f7f15
Compare
⚠ Artifact update problemRenovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below: File name: package-lock.json |
69f7f15 to
31c778b
Compare
|
This PR contains the following updates:
^2.1.4->^3.0.0Release Notes
apollographql/react-apollo (react-apollo)
v3.1.5Compare Source
v3.1.4Compare Source
v3.1.3Compare Source
onCompletedbeing called more often than necessary.@hwillson in 0901f4a
v3.1.2Compare Source
Bug Fixes
ssr: falseandssrMode: true.@maapteh in #3515
MockLink's brokennewDatafunction handling.@pawelkleczek in #3539
networkStatusfrom changingreadyat the end of pagination.@mu29 in #3514
v3.1.1Compare Source
Improvements
startPollingorstopPollingafter 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
ignoreResultsto be controlled throughgraphqlandwithMutationoptions.@tim-stasse in #3431
ObservableQueryinstance, to avoid attempting to use it after a componenthas unmounted.
@jfrolich in #3490
Bug Fixes
loadingstate when an error occurs after a refetch, that is the same as the previous error.@jet2jet in #3477
ChildDataPropsandChildMutatePropstypes.@hwillson in #3495
onCompletedis called each time auseLazyQuerybased query completes, after the execution function is called.@hwillson in #3497
v3.1.0Compare Source
Potentially Breaking Change
datastate from{}toundefined. This change aligns all parts of the React Apollo query cycle so thatdatais alwaysundefinedif there is no data, instead ofdatabeing converted into an empty object. This change impacts the initial query response, initial SSR response,datavalue when errors occur,datavalue when skipping, etc. All of these areas are now aligned to only ever return a value fordataif there really is a value to return (instead of making it seem like there is one by converting to{}).@hwillson in #3388
Bug Fixes
skipoption when usinguseSubscription.@n1ru4l in #3356
refetch,fetchMore,updateQuery,startPolling,stopPolling, andsubscribeToMoremaintain a stable identity when they're passed back alongside query results.@hwillson in #3422
fetchMore.updateQuerywithnotifyOnNetworkStatusChangeset to true. WhennotifyOnNetworkStatusChangeis true, re-renders will now wait untilupdateQueryhas completed, to make sure the updated data is used during the render.@hwillson in #3433
clientto theuseMutationresult.@joshalling in #3417
onErrorandonCompletedcallbacks 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, likeerrordisappearing 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
network-onlyandcache-and-networkfetch policies, along with changes to ensure disabled SSR queries are not fired.@mikebm in #3435
voidfrom theMutationFunction's returned Promise types.@hwillson in #3458
onCompletedcalls during the same query execution cycle.@hwillson in #3461
@dqunbp in #3273
@SeanRoberts in #3380
v3.0.1Compare Source
Improvements
@joshalling in #3324
Bug Fixes
onErrorcallback calls and ensurerefetchsetsloadingstate properly.@hwillson in #3339
useLazyQueryexport to thereact-apollo(all) package.@hwillson in #3320
voidfrom being one of theMutationTuplemutate function possible generics. This will make it easier to properly destructure results returned by the mutate function Promise.@hwillson in #3334
MockedProviderPropsandMockedProviderStatefrom@apollo/react-testing.@hwillson in #3337
@types/reactas a peer dep, to address potential TS compilation errors when usingApolloProvider.@zkochan in #3278
error's are maintained after re-renders, when they should be.@hwillson in #3362
v3.0.0Compare Source
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:
useQuery,useLazyQuery,useMutation,useSubscription, anduseApolloClienthooks, following React's Hooks API.graphqlHOC and render proper components.@apollo/react-common@apollo/react-hooks@apollo/react-components@apollo/react-hoc@apollo/react-ssr@apollo/react-testingConsult 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@3package preserves most of the functionality ofreact-apollo@2by re-exporting existing components and functions from@apollo/react-componentsand@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-hocpackages instead.React Apollo testing utilities are no longer available as part of the
react-apollopackage. They should now be imported from the new@apollo/react-testingpackage.The deprecated
walkTreefunction has been removed (9b24d756).The deprecated
GraphqlQueryControlsandMutationFunctypes 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
graphqlHOC, and these types are then extended when needed to provide properties that are specific to a certain React paradigm(30edb1b0 and
3d138db3).
catchAsyncError,wrap, andcomposeutilities have been removed(2c3a262, 7de864e, and e6089a7).
Previously,
composewas imported then exported directly from lodash usingflowRight. To keep usingcompose, install thelodash.flowrightpackage, then update yourcomposeimports as:Render prop components (
Query,MutationandSubscription) can no longer be extended. In other words, this is no longer possible: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
Querycomponent in a similar fashion, like:v2.5.8Compare Source
2.5.8 (2019-06-21)
Bug Fixes
apollo-client2.6.3'sObservableQuery.resetQueryStoreErrorsmethod optional, for people who can't update to
react-apollo's newapollo-clientpeer dep of 2.6.3.@hwillson in #3151
v2.5.7Compare Source
Improvements
MockedProvideris using the proper CJS/ESM bundle, whenreferencing
ApolloProvider.@jure in #3029.
ApolloContextdefinition to play a bit more nicely withReact.createContexttypes.@JoviDeCroock in #3018
when using the
graphqlHOC.@andycarrell in #3008
MockLinkto improvedebugging experience used by
MockedProvider.@evans in #3078
Bug Fixes
apollo-client@betapeer dep.@brentertz in #3064
null, when using thegraphqlHOC.@ZhengYuTay in #3056
querybeing mandatory in thefetchMoresignature.@HsuTing in #3065
Querycomponent to get stuck in an alwaysloading state, caused by receiving an error (meaning subsequent valid
responses couldn't be handled). The
Querycomponent can now handle anerror in a response, then continue to handle a valid response afterwards.
@hwillson in #3107
Subscriptioncomponent code to avoid setting state on unmountedcomponent.
@jasonpaulos in #3139
loadingstate fornetwork-onlyfetch policy.@jasonpaulos in #3126
v2.5.6Compare Source
Improvements
Both the
Querycomponent andgraphqlHOC now accept areturnPartialDataprop. This is an important new feature, that shouldhelp address a lot of open Apollo Client / React Apollo issues, so we'll
explain it here with an example. Before this release, if you run a query
that looks like:
in one component, the results are cached, then you run a superset query like
the following in another component:
Apollo Client will not re-use the partial data that was cached from the first
query, when it preps and displays the second component. It can't find a
cache hit for the full second query, so it fires the full query over the
network.
With this release, if you set a
returnPartialDataprop totrueon thesecond component, the
dataavailable to that component will beautomatically pre-loaded with the parts of the query that can be found in the
cache, before the full query is fired over the network. This means you can
do things like showing partial data in your components, while the rest of the
data is being loaded over the network.
v2.5.5Compare Source
Improvements
ApolloContext).@MrLoh in #2961
v2.5.4Compare Source
Bug Fixes
Could not find "client" in the context of ApolloConsumererrors whenusing
MockedProvider.@hwillson in #2907
Querycomponents using afetchPolicyofno-cachehave theirdata preserved when the components tree is re-rendered.
@hwillson in #2914
Improvements
@afenton90 in #2932
v2.5.3Compare Source
Bug Fixes
setStatein theonError/onCompletedcallbacks of theQuerycomponent.@chenesan in #2751
Querycomponent, after an error was received, variables were adjusted, and then
the good data was fetched.
@MerzDaniel in #2718
Querycomponent updates from firing (undercertain circumstances) due to the internal
lastResultvalue (that's usedto help prevent unnecessary re-renders) not being updated.
@Glennrs in #2840
Improvements
MockedProvidernow accepts achildPropsprop that can be used to passprops down to a child component.
@miachenmtl in #2482
onCompletedcallbacks now use a destructuring-friendly type definition.@jozanza in #2496
@connectiondirectives are now properly stripped fromMockedResponse's,when using
MockedProvider.@ajmath in #2523
MockedProviderhas been updated to stop setting a defaultresolversvalue of
{}, which means by default Apollo Client 2.5 local resolverfunctionality is not enabled when mocking with
MockedProvider. This allows@clientfields to be passed through the mocked link chain, like peoplewere used to before AC 2.5. When using this default mode you will see a
dev only warning message about this like:
This message can be safely ignored. If you want to use
MockedProviderwith AC 2.5's new local resolver functionality, you can pass your local
resolver map into the
MockedProviderresolversprop.@ajmath in #2524
Improvements to the
graphqlHOC generics forfetchMoreandrefetch.@EricMcRay in #2525
The
ApolloProvider/ApolloConsumerimplementations have been refactoredto use React 16.3's new context API.
@wzrdzl in #2540
All
dependenciesanddevDependencieshave been updated to their latestversions, and related Typescript changes have been applied.
@hwillson in #2873
v2.5.2Compare Source
Bug Fixes
Contexttype fromtypes.tsinstead ofwalkTree.ts,to reenable
import { Context } from 'react-apollo'(which has beenbroken since 2.4.0).
@benjamn in #2825
Improvements
Add
examples/rollupto enable application-level bundle measurement and demonstrate Rollup configuration best practices.
@benjamn in #2839
Bundle size reductions inspired by
examples/rollupapp.@benjamn in #2842
v2.5.1Compare Source
Bug Fixes
MockedProviderenables Apollo Client 2.5's local state handling,and allow custom / mocked resolvers to be passed in as props, and used with
the created test
ApolloClientinstance.@hwillson in #2825
v2.5.0Compare Source
Improvements
features, as well as many overall code improvements to help reduce the React
Apollo bundle size.
#2758
MockedResponseresultwhen usingMockedProvider, such that every time the mocked result is returned,the function is run to calculate the result. This opens up new testing
possibilities, like being able to verify if a mocked result was actually
requested and received by a test.
@hwillson in #2788
v2.4.1Compare Source
Improvements
Adds a
onSubscriptionCompleteprop to theSubscriptioncomponent, thatcan be passed a callback to be called when the subscription observable
is completed.
@sujeetsr in #2716
During server-side rendering,
ObservableQueryobjects created inprevious rendering passes will now be preserved in later passes (within
the same
getDataFromTreeorgetMarkupFromTreecall), so that errorscan be handled properly when using the
errorPolicy: "all"option.PR #2753
v2.4.0Compare Source
Bug Fixes
onCompleted/onErroreven ifMutationunmounts.PR #2710
Improvements
walkTreefunction has been deprecated, since there's no way tomake its behavior consistent with the latest versions of React. To save
bundle size,
walkTreeis no longer exported fromreact-apollo,though you can still access it as follows:
v2.3.3Compare Source
Bug Fixes
react-domas a peer dependency (since it's used bygetDataFromTreeand
renderToStringWithData).@hwillson in #2660
Improvements
react14.x support, since the 14.x release line is 2 years old now,and
react-apollois no longer tested against it.@hwillson in #2660
v2.3.2Compare Source
Improvements
Bug Fixes
react-dom/serverunconditionally at thetop level, making
react-apollosafer to use in environments like ReactNative that are neither browser-like nor Node-like, and thus struggle to
import
react-dom/serverand its dependencies. Additionally, the ReactNative bundler has been instructed to ignore all
react-dom/serverdependencies within
react-apollo, soreact-domwill not be bundledin React Native apps simply because they import
react-apollo.PR #2627
v2.3.1Compare Source
Improvements
Restore original
getDataFromTree(tree, context)API, and introduce anew alternative called
getMarkupFromTreeto enable custom renderingfunctions:
PR #2586
Bug Fixes
react-apollo/...imports. This problem was fixed in version 2.3.1 byrunning
npm publishfrom thelib/directory, as intended.Issue #2591
v2.3.0Compare Source
Bug Fixes
networkStatusto reflect the loading state correctly for partialrefetching.
@steelbrain in #2493
Improvements
getDataFromTreeusingReactDOM.renderToStaticMarkuptomake asynchronous server-side rendering compatible with
React hooks.
Although the rendering function used by
getDataFromTreedefaults torenderToStaticMarkup, any suitable rendering function can be passed asthe optional second argument to
getDataFromTree, which now returns aPromise<string>that resolves to The HTML rendered in the final pass,which means calling
renderToStringaftergetDataFromTreemay not benecessary anymore.
PR #2533
v2.2.4Compare Source
Bug Fixes
lodash.isequalwas improperly set as a dev dependency forMockLink/MockedProvider. It is now a dependency.@danilobuerger in #2449
Improvements
Subscriptioncomponent now accepts afetchPolicyprop.@MatthieuLemoine in #2298
Typescript
TVariablesgeneric is passed toObservableQuery.@tgriesser in #2311
v2.2.3Compare Source
Bug Fixes
a default
errorPolicyofall.@amacleay in #2374
<Mutation />refetchQueriestriggered by name (string) will now use the correct variables.@fracmal in #2422
Improvements
lodashdependency withlodash.flowright(since that's theonly non-dev
lodashfunction we're dependent on). Devlodashdependencies have also been updated to use their individual module
equivalent.
@hwillson in #2435
rollup-plugin-babel-minifyas it's no longer being used.@hwillson in #2436
getDataFromTree.tslogic adjustment to avoid unnecessary callswhen a falsy
elementis encountered.@HOUCe in #2429
graphql14 updates.@hwillson in #2437
latest version of React Apollo.
@hwillson in #2439
Typescript
lodashtypings.@williamboman in #2430
contexttoMutationOptions.@danilobuerger in #2354
MutationOptionschanges/fixes.@danilobuerger in #2340
allowSyntheticDefaultImportsuse. Typescript'sallowSyntheticDefaultImportscompiler option is something we'd like tostart using, but we jumped the gun a bit by introducing it in
9a96519.Including it means that anyone who wants to use Typescript with React
Apollo would have to also include it in their own local
tsconfig.json, tobe able to handle default imports properly. This is because we're also using
Typescript's
es2015moduleoption, which meansallowSyntheticDefaultImportshas to be enabled explicitly. We'veswitched back to using a combination of
import * as Xandrequiresyntax, to work with default imports. We'll re-introduce
allowSyntheticDefaultImportsuse in React Apollo 3.@hwillson in #2438
v2.2.2Compare Source
React.createContextand SSR, we now make sure the contextprovider value is reset to the previous value it had after its children are
walked.
@mitchellhamilton in #2304
When a query failed on the first result, the query result
datawas beingreturned as
undefined. This behavior has been changed so thatdataisreturned as an empty object. This makes checking for data (e.g.
instead of
data && data.useryou can just checkdata.user) anddestructring (e.g.
{ data: { user } }) easier. Note: this couldpotentially hurt applications that are relying on a falsey check of
datato see if any query errors have occurred. A better (and supported) way to
check for errors is to use the result
errorsproperty.#1983
v2.2.1Compare Source
Partial<TData>instead ofTData | {}, for theQueryResultdataproperty."v2.2.0Deprecated
MutationFuncin favor ofMutationFn.Added missing
onCompletedandonErrorcallbacks toMutationOpts.@danilobuerger in #2322
@excitement-engineer in #1998
<Subscription />component now allows the registration of a callbackfunction, that will be triggered each time the component receives data. The
callback
optionsobject param consists of the current Apollo Clientinstance in
client, and the received subscription data insubscriptionData.@jedwards1211 in #1966
graphqloptionsobject is no longer mutated, when calculatingvariables from props. This now prevents an issue where components created
with
graphqlwere not having their query variables updated properly, whenprops changed.
@ksmth in #1968
datawas beingreturned as
undefined. This behavior has been changed so thatdataisreturned as an empty object. This makes checking for data (e.g.
instead of
data && data.useryou can just checkdata.user) anddestructring (e.g.
{ data: { user } }) easier. Note: this couldpotentially hurt applications that are relying on a falsey check of
datato see if any query errors have occurred. A better (and supported) way to
check for errors is to use the result
errorsproperty.@TLadd in #1983
cacheobject to be passed into the test-utilsMockedProvider.@palmfjord in #2254
MockedProvidermocksprop read only.@amacleay in #2284
FetchMoreOptionsandFetchMoreQueryOptionstypes, andinstead import them from Apollo Client.
@skovy in #2281
graphqlHOCoptions.skipproperty.@jameslaneconkling in #2208
lodashdirectly.@shahyar in #2045
Queryskipprop is set totrue, make sure the render proploadingparam is set tofalse, since we're not actually loadinganything.
@edorivai in #1916
@hwillson in #2404
<Subscription />,<Query />&<Mutation />all supportusing an Apollo Client instance configured in the
contextor viaprops.
@quentin- in #1956
Partial<TData>instead ofTData | {}, for theQueryResultdataproperty.@tgriesser in #2313
<Query />onCompletedandonErrorcallbacks to be triggeredvia the
componentDidUpdatelifecycle method. This ensures these callbackscan be used when data is fetched over the network, and when data is
fetched from the local store (previsouly these callbacks were only being
triggered when data was fetched over the network).
@olistic in #2190
lodash/flowRightusing ES import to allow for treeshaking.@Pajn in #2332
variablespassed ingraphqlHOCoptionswerenot merged with mutation
variables.@samginn in #2216
partialRefetchprop (falseby default).When a
Querycomponent is mounted, and a mutation is executedthat returns the same ID as the mounted
Query, but has lessfields in its result, Apollo Client's
QueryManagerreturns thedata as an empty Object since a hit can't be found in the cache.
This can lead to application errors when the UI elements rendered by
the original
Querycomponent are expecting certain data values toexist, and they're all of a sudden stripped away. The recommended way to
handle this is to use the mutations
updateprop to reconcile the mutationresult with the data in the cache, getting everything into the expected
state. This can definitely be a cumbersome process however, so to help
address this the
partialRefetchprop can be used to automaticallyrefetchthe original query and update the cache.@steelbrain in #2003
v2.1.11getDataFromTreewhere queries that threw more than oneerror had error messages swallowed, and returned an invalid error object
with circular references. Multiple errors are now preserved.
@anand-sundaram-zocdoc in #2133
<Mutation />component andgraphqlHOC to accept a newawaitRefetchQueriesprop (boolean). When set totrue, queries specifiedin
refetchQuerieswill be completed before the mutation itself iscompleted.
awaitRefetchQueriesisfalseby default, which meansrefetchQueriesare usually completed after the mutation has resolved.Relates to Apollo Client.
PR #3169.
@hwillson in #2214
TDataalong intoMutationUpdaterFnwhen usingMutationOpts, to ensure that the updater function is properly typed.@danilobuerger in #2227
@danilobuerger in #2165
v2.1.9onCompletedandonErrorprops to theQuerycomponent, than canbe used to register callback functions that are to be executed after a
query successfully completes, or an error occurs.
@jeshep in #1922
UNSAFE_componentWillMountSSR support.@leops in #2152
@danilobuerger in #2151
v2.1.8v2.1.7ApolloProviderchildrenprop type has been changed fromelementto
node, to allow multiple children.@quentin- in #1955
getDerivedStateFromPropslifecycle method.@amannn in #2076
lodashis no longer pinned to version 4.17.10.@cherewaty in #1951
apollo-client-presetwithapollo-boost.@JamesTheHacker in #1925
@DennisKo in #1935
<Query />example.@petetnt in #2102
v2.1.6getDataFromTreeto properly traverse React 16.3's context APIprovider/consumer approach.
@marnusw in #1978
ApolloClientinstance can now be passed into aMutationcomponent via a prop named
client. This prop will overridean
ApolloClientinstance set viacontext, by theApolloProvidercomponent.
@amneacsu in #1890
ApolloClientinstance used by a Mutation is now available in thatMutation's result.
PR #1945
@cooperka in #1945
v2.1.5apollo-client2.3.3PR #2105
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.
This PR was generated by Mend Renovate. View the repository job log.