graphql.macro-example
graphql.macro-example copied to clipboard
fix(deps): update dependency react-apollo to v3 - abandoned
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| react-apollo | 2.4.1 -> 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
onCompletedbeing called more often than necessary.
@hwillson in 0901f4a
v3.1.2
Bug Fixes
- Make sure SSR is fully disabled when using
ssr: falseandssrMode: true.
@maapteh in #3515 - Fixed
MockLink's brokennewDatafunction handling.
@pawelkleczek in #3539 - Fixed an issue that prevented
networkStatusfrom changingreadyat the end of pagination.
@mu29 in #3514
v3.1.1
Improvements
- Calling
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 - Allow
ignoreResultsto be controlled throughgraphqlandwithMutationoptions.
@tim-stasse in #3431 - Be a bit more defensive when it comes to accessing the internal
ObservableQueryinstance, 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
loadingstate when an error occurs after a refetch, that is the same as the previous error.
@jet2jet in #3477 - Add back in the removed
ChildDataPropsandChildMutatePropstypes.
@hwillson in #3495 - Make sure
onCompletedis called each time auseLazyQuerybased query completes, after the execution function is called.
@hwillson in #3497
v3.1.0
Potentially Breaking Change
- Change the default query
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
- Adds support for the
skipoption when usinguseSubscription.
@n1ru4l in #3356 - Makes sure
refetch,fetchMore,updateQuery,startPolling,stopPolling, andsubscribeToMoremaintain a stable identity when they're passed back alongside query results.
@hwillson in #3422 - Fixed problematic re-renders that were caused by using
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 - Add
clientto theuseMutationresult.
@joshalling in #3417 - Prevent inline
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- SSR enhancements to support
network-onlyandcache-and-networkfetch policies, along with changes to ensure disabled SSR queries are not fired.
@mikebm in #3435 - Remove
voidfrom theMutationFunction's returned Promise types.
@hwillson in #3458 - Prevent duplicate
onCompletedcalls 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
onErrorcallback calls and ensurerefetchsetsloadingstate properly.
@hwillson in #3339 - Add missing
useLazyQueryexport to thereact-apollo(all) package.
@hwillson in #3320 - Remove
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 - Export
MockedProviderPropsandMockedProviderStatefrom@apollo/react-testing.
@hwillson in #3337 - Add
@types/reactas 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, anduseApolloClienthooks, following React's Hooks API. - Maintains support for React Apollo's
graphqlHOC 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@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:import compose from 'lodash.flowright'; -
Render prop components (
Query,MutationandSubscription) 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
Querycomponent in a similar fashion, like:export const SomeQuery = () => ( <Query<SomeData, SomeVariables> query={SOME_QUERY} ...> {({ data }) => { return <div> ... things happen... </div>; }} </Query> );
v2.5.8
2.5.8 (2019-06-21)
Bug Fixes
- Makes the use of
apollo-client2.6.3'sObservableQuery.resetQueryStoreErrorsmethod optional, for people who can't update toreact-apollo's newapollo-clientpeer dep of 2.6.3. @hwillson in #3151
v2.5.7
Improvements
- Make sure
MockedProvideris using the proper CJS/ESM bundle, when referencingApolloProvider.
@jure in #3029. - Adjust the
ApolloContextdefinition to play a bit more nicely withReact.createContexttypes.
@JoviDeCroock in #3018 - The result of a mutation is now made available to the wrapped component,
when using the
graphqlHOC.
@andycarrell in #3008 - Check equality of stringified variables in the
MockLinkto improve debugging experience used byMockedProvider.
@evans in #3078
Bug Fixes
- Removed leftover
apollo-client@betapeer dep.
@brentertz in #3064 - Stop setting optional input to
null, when using thegraphqlHOC.
@ZhengYuTay in #3056 - Fix typescript error caused by
querybeing mandatory in thefetchMoresignature.
@HsuTing in #3065 - Fixes an issue that caused the
Querycomponent to get stuck in an always loading state, caused by receiving an error (meaning subsequent valid responses couldn't be handled). TheQuerycomponent can now handle an error in a response, then continue to handle a valid response afterwards.
@hwillson in #3107 - Reorder
Subscriptioncomponent code to avoid setting state on unmounted component.
@jasonpaulos in #3139 - Fix component stuck in
loadingstate fornetwork-onlyfetch policy.
@jasonpaulos in #3126
v2.5.6
Improvements
-
Both the
Querycomponent andgraphqlHOC now accept areturnPartialDataprop. This is an important new feature, that should help 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:const GET_MEMBER = gql` query GetMember($id: ID!) { member(id: $id) { id name } } `;in one component, the results are cached, then you run a superset query like the following in another component:
const GET_MEMBER_WITH_PLANS = gql` query GetMemberWithPlans($id: ID!) { member(id: $id) { id name plans { id title duration } } } `;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 the second component, thedataavailable to that component will be automatically 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.5
Improvements
v2.5.4
Bug Fixes
- Fixes
Could not find "client" in the context of ApolloConsumererrors when usingMockedProvider.
@hwillson in #2907 - Ensure
Querycomponents using afetchPolicyofno-cachehave their data preserved when the components tree is re-rendered.
@hwillson in #2914
Improvements
- Documentation updates.
@afenton90 in #2932
v2.5.3
Bug Fixes
- Fixed an infinite loop caused by using
setStatein theonError/onCompletedcallbacks of theQuerycomponent.
@chenesan in #2751 - Fixed an issue that prevented good results from showing up in a
Querycomponent, after an error was received, variables were adjusted, and then the good data was fetched.
@MerzDaniel in #2718 - Fixed an issue that prevented
Querycomponent updates from firing (under certain circumstances) due to the internallastResultvalue (that's used to help prevent unnecessary re-renders) not being updated.
@Glennrs in #2840
Improvements
-
MockedProvidernow accepts achildPropsprop that can be used to pass props 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 usingMockedProvider.
@ajmath in #2523 -
MockedProviderhas been updated to stop setting a defaultresolversvalue of{}, which means by default Apollo Client 2.5 local resolver functionality is not enabled when mocking withMockedProvider. This allows@clientfields to be passed through the mocked link chain, like people were used to before AC 2.5. When using this default mode you will see a dev only warning message about this like:Found @client directives in query but no client resolvers were specified. You can now pass apollo-link-state resolvers to the ApolloClient constructor.
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 theMockedProviderresolversprop.
@ajmath in #2524 -
Improvements to the
graphqlHOC generics forfetchMoreandrefetch.
@EricMcRay in #2525 -
The
ApolloProvider/ApolloConsumerimplementations have been refactored to use React 16.3's new context API.
@wzrdzl in #2540 -
All
dependenciesanddevDependencieshave been updated to their latest versions, and related Typescript changes have been applied.
@hwillson in #2873
v2.5.2
Bug Fixes
- Export
Contexttype fromtypes.tsinstead ofwalkTree.ts, to reenableimport { Context } from 'react-apollo'(which has been broken 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.1
Bug Fixes
- Make sure
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 testApolloClientinstance.
@hwillson in #2825
v2.5.0
Improvements
- Ready to be used with Apollo Client 2.5 and its new local state management
features, as well as many overall code improvements to help reduce the React
Apollo bundle size.
#2758 - A function can now be set as a
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
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.
Netlify BOT
Built with commit 2f5cc893c303abb5c05f7ab2036df6c3301ccac0
https://deploy-preview-32--graphqlmacro.netlify.app
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.