You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do you want to request a feature or report a bug?
feature and bug What is the current behavior? aws-appsync is not currently fully compatible with @apollo/client@3 as the existing apollo-client, apollo-link, etc. are no longer being supported and the recommendation is to migrate away from them.
There seem to be two main blockers here:
aws-appsync has a dependency on apollo-client@2.6 this requires importing both apollo-client and @apollo/client if the new version is desired to be used. The error shown if not importing apollo-client is:
ERROR in ./node_modules/aws-appsync-subscription-link/lib/subscription-handshake-link.js
Module not found: Error: Can't resolve 'apollo-client' in '/my-project-path/node_modules/aws-appsync-subscription-link/lib'
@ ./node_modules/aws-appsync-subscription-link/lib/subscription-handshake-link.js 81:22-46
@ ./node_modules/aws-appsync-subscription-link/lib/index.js
@ ./node_modules/aws-appsync/lib/client.js
@ ./node_modules/aws-appsync/lib/index.js
@ ./src/components/config.ts
@ ./src/components/App.tsx
@ ./src/index.tsx
@ multi react-hot-loader/patch ./src/index.tsx
The type of ApolloLink used by createAppSyncLink is no longer consistent with the ApolloLink type provided by @apollo/client. This requires a cast to any.
Type 'ApolloLink' is missing the following properties from type 'ApolloLink': onError, setOnErrorts(2739)
ApolloClient.d.ts(22, 5): The expected type comes from property 'link' which is declared here on type 'ApolloClientOptions<NormalizedCacheObject>'
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
Using @apollo/client@3.0.0.
Typing issue comes at:
const awsLink = createAppSyncLink({ // If this is cast to any that's the current workaround
url: aws_appsync_graphqlEndpoint,
region: aws_appsync_region,
auth: {
type: AUTH_TYPE.AWS_IAM,
// eslint-disable-next-line @typescript-eslint/promise-function-async
credentials: () => Auth.currentCredentials(),
},
// eslint-disable-next-line @typescript-eslint/promise-function-async
complexObjectsCredentials: () => Auth.currentCredentials(),
});
const apolloClient = new ApolloClient({
link: awsLink.concat(httpLink), // This is where the type is invalid
cache: new InMemoryCache(),
});
What is the expected behavior? aws-appsync should work with @apollo/client^3 without additional dependencies or workarounds.
Do you want to request a feature or report a bug?
feature and bug
What is the current behavior?
aws-appsync
is not currently fully compatible with@apollo/client@3
as the existingapollo-client
,apollo-link
, etc. are no longer being supported and the recommendation is to migrate away from them.There seem to be two main blockers here:
aws-appsync
has a dependency onapollo-client@2.6
this requires importing bothapollo-client
and@apollo/client
if the new version is desired to be used. The error shown if not importingapollo-client
is:type
ofApolloLink
used bycreateAppSyncLink
is no longer consistent with theApolloLink
type provided by@apollo/client
. This requires a cast toany
.If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
Using
@apollo/client@3.0.0
.Typing issue comes at:
What is the expected behavior?
aws-appsync
should work with@apollo/client
^3 without additional dependencies or workarounds.** Relates to**
#448
The text was updated successfully, but these errors were encountered: