https://github.com/awslabs/aws-mobile-appsync-sdk-js

JavaScript library files for Offline, Sync, Sigv4. includes support for React Native

https://github.com/awslabs/aws-mobile-appsync-sdk-js

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary

Keywords

appsync aws aws-appsync aws-mobile graphql graphql-client graphql-js graphql-subscriptions javascript js react

Keywords from Contributors

interactive archival projection generic sequences observability autograding hacking shellcodes modular
Last synced: 5 months ago · JSON representation

Repository

JavaScript library files for Offline, Sync, Sigv4. includes support for React Native

Basic Info
  • Host: GitHub
  • Owner: awslabs
  • License: apache-2.0
  • Language: TypeScript
  • Default Branch: master
  • Size: 1.23 MB
Statistics
  • Stars: 919
  • Watchers: 76
  • Forks: 263
  • Open Issues: 247
  • Releases: 11
Topics
appsync aws aws-appsync aws-mobile graphql graphql-client graphql-js graphql-subscriptions javascript js react
Created over 8 years ago · Last pushed 11 months ago
Metadata Files
Readme Contributing License Code of conduct Codeowners

README.md

Use AWS AppSync with JavaScript apps · lerna

AWS AppSync

AWS AppSync is a fully managed service that makes it easy to develop GraphQL APIs by handling the heavy lifting of securely connecting to data sources like AWS DynamoDB, Lambda, and more.

You can use any HTTP or GraphQL client to connect to a GraphQL API on AppSync.

For front-end web and mobile development, we recommend using the AWS Amplify library which is optimized to connect to the AppSync backend.

Looking for the AWS AppSync SDK for JavaScript (built on Apollo v2)? AWS AppSync SDK for JavaScript (V2) is now in Maintenance Mode until June 30th, 2024. This means that we will continue to include updates to ensure compatibility with backend services and security. No new features will be introduced in the AWS AppSync SDK for JavaScript (V2). Please review the upgrade guide for recommended next steps.

AWS AppSync Links for Apollo V3 (Maintenance mode)

If you would like to use the Apollo JavaScript client version 3 to connect to your AppSync GraphQL API, this repository (on the current stable branch) provides Apollo links to use the different AppSync authorization modes, and to setup subscriptions over web sockets. Please log questions for this client SDK in this repo and questions for the AppSync service in the official AWS AppSync forum .

npm npm

| package | version | | ----------------------------- | ---------------------------------------------------------------------- | | aws-appsync-auth-link | npm | | aws-appsync-subscription-link | npm |

Example usage of Apollo V3 links

React / React Native

For more documentation on graphql operations performed by React Apollo see their documentation.

Using Authorization and Subscription links with Apollo Client V3 (No offline support)

For versions of the Apollo client newer than 2.4.6 you can use custom links for Authorization and Subscriptions. Offline support is not available for these newer versions. The packages available are aws-appsync-auth-link and aws-appsync-subscription-link. Below is a sample code snippet that shows how to use it.

```javascript import { createAuthLink } from "aws-appsync-auth-link"; import { createSubscriptionHandshakeLink } from "aws-appsync-subscription-link";

import { ApolloProvider, ApolloClient, InMemoryCache, HttpLink, ApolloLink, } from "@apollo/client";

import appSyncConfig from "./aws-exports";

/* The HTTPS endpoint of the AWS AppSync API (e.g. https://aaaaaaaaaaaaaaaaaaaaaaaaaa.appsync-api.us-east-1.amazonaws.com/graphql). Custom domain names can also be supplied here (e.g. https://api.yourdomain.com/graphql). Custom domain names can have any format, but must end with /graphql (see https://graphql.org/learn/serving-over-http/#uris-routes). */ const url = appSyncConfig.awsappsyncgraphqlEndpoint;

const region = appSyncConfig.awsappsyncregion;

const auth = { type: appSyncConfig.awsappsyncauthenticationType, apiKey: appSyncConfig.awsappsyncapiKey, // jwtToken: async () => token, // Required when you use Cognito UserPools OR OpenID Connect. token object is obtained previously // credentials: async () => credentials, // Required when you use IAM-based auth. };

const httpLink = new HttpLink({ uri: url });

const link = ApolloLink.from([ createAuthLink({ url, region, auth }), createSubscriptionHandshakeLink({ url, region, auth }, httpLink), ]);

const client = new ApolloClient({ link, cache: new InMemoryCache(), });

const ApolloWrapper = ({ children }) => { return {children}; }; ```

Queries and Subscriptions using Apollo V3

```js import React, { useState, useEffect } from "react"; import { gql, useSubscription } from "@apollo/client"; import { useMutation, useQuery } from "@apollo/client"; import { v4 as uuidv4 } from "uuid";

const initialState = { name: "", description: "" };

const App = () => {

const LIST_TODOS = gql query listTodos { listTodos { items { id name description } } } ;

const { loading: listLoading, data: listData, error: listError, } = useQuery(LIST_TODOS);

const CREATE_TODO = gql mutation createTodo($input: CreateTodoInput!) { createTodo(input: $input) { id name description } } ;

// https://www.apollographql.com/docs/react/data/mutations/ const [addTodoMutateFunction, { error: createError }] = useMutation(CREATE_TODO);

async function addTodo() { try { addTodoMutateFunction({ variables: { input: { todo } } }); } catch (err) { console.log("error creating todo:", err); } }

const DELETE_TODO = gql mutation deleteTodo($input: DeleteTodoInput!) { deleteTodo(input: $input) { id name description } } ;

const [deleteTodoMutateFunction] = useMutation(DELETETODO, { refetchQueries: [LISTTODOS, "listTodos"], });

async function removeTodo(id) { try { deleteTodoMutateFunction({ variables: { input: { id } } }); } catch (err) { console.log("error deleting todo:", err); } }

const CREATETODOSUBSCRIPTION = gql subscription OnCreateTodo { onCreateTodo { id name description } } ;

const { data: createSubData, error: createSubError } = useSubscription( CREATETODOSUBSCRIPTION );

return ( // Render TODOs ); };

export default App; ```


AWS AppSync JavaScript SDK based on Apollo V2 (Maintenance mode)

The aws-appsync and aws-appsync-react packages work with the Apollo client version 2 and provide offline capabilities.

Note: if you do not have any offline requirements in your app, we recommend using the Amplify libraries.

npm

| package | version | | ----------------- | ---------------------------------------------------------- | | aws-appsync | npm | | aws-appsync-react | npm |

Installation

npm

sh npm install --save aws-appsync

yarn

sh yarn add aws-appsync

React Native Compatibility

When using this library with React Native, you need to ensure you are using the correct version of the library based on your version of React Native. Take a look at the table below to determine what version to use.

| aws-appsync version | Required React Native Version | | --------------------- | ----------------------------- | | 2.x.x | >= 0.60 | | 1.x.x | <= 0.59 |

If you are using React Native 0.60 and above, you also need to install @react-native-community/netinfo and @react-native-community/async-storage:

sh npm install --save @react-native-community/netinfo@5.9.4 @react-native-community/async-storage

or

sh yarn add @react-native-community/netinfo@5.9.4 @react-native-community/async-storage

If you are using React Native 0.60+ for iOS, run the following command as an additional step:

sh npx pod-install

Creating a client with AppSync SDK for JavaScript V2 (Maintenance mode)

```js import AWSAppSyncClient from "aws-appsync"; import AppSyncConfig from "./aws-exports"; import { ApolloProvider } from "react-apollo"; import { Rehydrated } from "aws-appsync-react"; // this needs to also be installed when working with React import App from "./App";

const client = new AWSAppSyncClient({ /* The HTTPS endpoint of the AWS AppSync API (e.g. https://aaaaaaaaaaaaaaaaaaaaaaaaaa.appsync-api.us-east-1.amazonaws.com/graphql). Custom domain names can also be supplied here (e.g. https://api.yourdomain.com/graphql). Custom domain names can have any format, but must end with /graphql (see https://graphql.org/learn/serving-over-http/#uris-routes). */ url: AppSyncConfig.awsappsyncgraphqlEndpoint, region: AppSyncConfig.awsappsyncregion, auth: { type: AppSyncConfig.awsappsyncauthenticationType, apiKey: AppSyncConfig.awsappsyncapiKey, // jwtToken: async () => token, // Required when you use Cognito UserPools OR OpenID Connect. Token object is obtained previously // credentials: async () => credentials, // Required when you use IAM-based auth. }, });

const WithProvider = () => ( );

export default WithProvider; ```

Queries

```js import gql from "graphql-tag"; import { graphql } from "react-apollo";

const listPosts = gql query listPosts { listPosts { items { id name } } } ; class App extends Component { render() { return (

{this.props.posts.map((post, index) => (

{post.name}

))}
); } }

export default graphql(listPosts, { options: { fetchPolicy: "cache-and-network", }, props: (props) => ({ posts: props.data.listPosts ? props.data.listPosts.items : [], }), })(App); ```

Mutations & optimistic UI (with graphqlMutation helper)

```js import gql from "graphql-tag"; import { graphql, compose } from "react-apollo"; import { graphqlMutation } from "aws-appsync-react";

const CreatePost = gql mutation createPost($name: String!) { createPost(input: { name: $name }) { name } } ;

class App extends Component { state = { name: "" }; onChange = (e) => { this.setState({ name: e.target.value }); }; addTodo = () => this.props.createPost({ name: this.state.name }); render() { return (

{this.props.posts.map((post, index) => (

{post.name}

))}
); } }

export default compose( graphql(listPosts, { options: { fetchPolicy: "cache-and-network", }, props: (props) => ({ posts: props.data.listPosts ? props.data.listPosts.items : [], }), }), graphqlMutation(CreatePost, listPosts, "Post") )(App); ```

Mutations & optimistic UI (without graphqlMutation helper)

```js import gql from "graphql-tag"; import uuidV4 from "uuid/v4"; import { graphql, compose } from "react-apollo";

const CreatePost = gql mutation createPost($name: String!) { createPost(input: { name: $name }) { name } } ;

class App extends Component { state = { name: "" }; onChange = (e) => { this.setState({ name: e.target.value }); }; addTodo = () => this.props.onAdd({ id: uuidV4(), name: this.state.name }); render() { return (

{this.props.posts.map((post, index) => (

{post.name}

))}
); } }

export default compose( graphql(listPosts, { options: { fetchPolicy: "cache-and-network", }, props: (props) => ({ posts: props.data.listPosts ? props.data.listPosts.items : [], }), }), graphql(CreatePost, { options: { update: (dataProxy, { data: { createPost } }) => { const query = listPosts; const data = dataProxy.readQuery({ query }); data.listPosts.items.push(createPost); dataProxy.writeQuery({ query, data }); }, }, props: (props) => ({ onAdd: (post) => { props.mutate({ variables: post, optimisticResponse: () => ({ createPost: { ...post, __typename: "Post" }, }), }); }, }), }) )(App); ```

Subscriptions (with buildSubscription helper)

```js import gql from "graphql-tag"; import { graphql } from "react-apollo"; import { buildSubscription } from "aws-appsync";

const listPosts = gql query listPosts { listPosts { items { id name } } } ;

const PostSubscription = gql subscription postSubscription { onCreatePost { id name } } ;

class App extends React.Component { componentDidMount() { this.props.data.subscribeToMore( buildSubscription(PostSubscription, listPosts) ); } render() { return (

{this.props.posts.map((post, index) => (

{post.name}

))}
); } }

export default graphql(listPosts, { options: { fetchPolicy: "cache-and-network", }, props: (props) => ({ posts: props.data.listPosts ? props.data.listPosts.items : [], data: props.data, }), })(App); ```

Subscriptions (without buildSubscription helper)

```js import gql from "graphql-tag"; import { graphql } from "react-apollo";

const listPosts = gql query listPosts { listPosts { items { id name } } } ;

const PostSubscription = gql subscription postSubscription { onCreatePost { id name } } ;

class App extends React.Component { componentDidMount() { this.props.subscribeToNewPosts(); } render() { return (

{this.props.posts.map((post, index) => (

{post.name}

))}
); } }

export default graphql(listPosts, { options: { fetchPolicy: "cache-and-network", }, props: (props) => ({ posts: props.data.listPosts ? props.data.listPosts.items : [], subscribeToNewPosts: (params) => { props.data.subscribeToMore({ document: PostSubscription, updateQuery: ( prev, { subscriptionData: { data: { onCreatePost }, }, } ) => ({ ...prev, listPosts: { __typename: "PostConnection", items: [ onCreatePost, ...prev.listPosts.items.filter( (post) => post.id !== onCreatePost.id ), ], }, }), }); }, }), })(App); ```

Complex objects with AWS AppSync SDK for JavaScript (Maintenance mode)

Many times you might want to create logical objects that have more complex data, such as images or videos, as part of their structure. For example, you might create a Person type with a profile picture or a Post type that has an associated image. With AWS AppSync, you can model these as GraphQL types, referred to as complex objects. If any of your mutations have a variable with bucket, key, region, mimeType and localUri fields, the SDK uploads the file to Amazon S3 for you.

For a complete working example of this feature, see aws-amplify-graphql on GitHub.

If you're using AWS Amplify's GraphQL transformer, then configure your resolvers to write to DynamoDB and point at S3 objects when using the S3Object type. For example, run the following in an Amplify project:

bash amplify add auth #Select default configuration amplify add storage #Select S3 with read/write access amplify add api #Select Cognito User Pool for authorization type

When prompted, use the following schema:

graphql type Todo @model { id: ID! name: String! description: String! file: S3Object } type S3Object { bucket: String! key: String! region: String! } input CreateTodoInput { id: ID name: String! description: String file: S3ObjectInput # This input type will be generated for you }

Save and run amplify push to deploy changes.

To use complex objects you need AWS Identity and Access Management credentials for reading and writing to Amazon S3 which amplify add auth configures in the default setting along with a Cognito user pool. These can be separate from the other auth credentials you use in your AWS AppSync client. Credentials for complex objects are set using the complexObjectsCredentials parameter, which you can use with AWS Amplify and the complex objects feature like so:

javascript const client = new AWSAppSyncClient({ url: ENDPOINT, region: REGION, auth: { ... }, //Can be User Pools or API Key complexObjectsCredentials: () => Auth.currentCredentials(), }); (async () => { let file; if (selectedFile) { // selectedFile is the file to be uploaded, typically comes from an <input type="file" /> const { name, type: mimeType } = selectedFile; const [, , , extension] = /([^.]+)(\.(\w+))?$/.exec(name); const bucket = aws_config.aws_user_files_s3_bucket; const region = aws_config.aws_user_files_s3_bucket_region; const visibility = 'private'; const { identityId } = await Auth.currentCredentials(); const key = `${visibility}/${identityId}/${uuid()}${extension && '.'}${extension}`; file = { bucket, key, region, mimeType, localUri: selectedFile, }; } const result = await client.mutate({ mutation: gql(createTodo), variables: { input: { name: 'Upload file', description: 'Uses complex objects to upload', file: file, } } }); })();

When you run the above mutation, a record will be in a DynamoDB table for your AppSync API as well as the corresponding file in an S3 bucket.

Offline configuration with AWS AppSync SDK for JavaScript (Maintenance mode)

When using the AWS AppSync SDK offline capabilities (e.g. disableOffline: false), you can provide configurations for the following:

  • Error handling
  • Custom storage engine

Error handling

If a mutation is done while the app was offline, it gets persisted to the platform storage engine. When coming back online, it is sent to the GraphQL endpoint. When a response is returned by the API, the SDK will notify you of the success or error using the callback provided in the offlineConfig param as follows:

```javascript const client = new AWSAppSyncClient({ url: appSyncConfig.graphqlEndpoint, region: appSyncConfig.region, auth: { type: appSyncConfig.authenticationType, apiKey: appSyncConfig.apiKey, }, offlineConfig: { callback: (err, succ) => { if (err) { const { mutation, variables } = err;

    console.warn(`ERROR for ${mutation}`, err);
  } else {
    const { mutation, variables } = succ;

    console.info(`SUCCESS for ${mutation}`, succ);
  }
},

}, }); ```

Custom storage engine

You can use any custom storage engine from the redux-persist supported engines list.

Configuration is done as follows: (localForage shown in the example)

```javascript import * as localForage from "localforage";

const client = new AWSAppSyncClient({ url: appSyncConfig.graphqlEndpoint, region: appSyncConfig.region, auth: { type: appSyncConfig.authenticationType, apiKey: appSyncConfig.apiKey, }, offlineConfig: { storage: localForage, }, }); ```

Offline helpers

For detailed documentation about the offline helpers, look at the API Definition.

Vue sample with AWS AppSync SDK for JavaScript (Maintenance mode)

For more documentation on Vue Apollo click here.

main.js

```js import Vue from "vue"; import App from "./App"; import router from "./router";

import AWSAppSyncClient from "aws-appsync"; import VueApollo from "vue-apollo"; import AppSyncConfig from "./aws-exports";

const config = { url: AppSyncConfig.graphqlEndpoint, region: AppSyncConfig.region, auth: { type: AppSyncConfig.authType, apiKey: AppSyncConfig.apiKey, }, }; const options = { defaultOptions: { watchQuery: { fetchPolicy: "cache-and-network", }, }, };

const client = new AWSAppSyncClient(config, options);

const appsyncProvider = new VueApollo({ defaultClient: client, });

Vue.use(VueApollo);

new Vue({ el: "#app", router, components: { App }, provide: appsyncProvider.provide(), template: "", }); ```

App.vue

```js

```

connected component

```js import gql from "graphql-tag"; import uuidV4 from "uuid/v4";

const CreateTask = gql mutation createTask($id: ID!, $name: String!, $completed: Boolean!) { createTask(input: { id: $id, name: $name, completed: $completed }) { id name completed } } ;

const DeleteTask = gql mutation deleteTask($id: ID!) { deleteTask(input: { id: $id }) { id } } ;

const ListTasks = gql query listTasks { listTasks { items { id name completed } } } ;

const UpdateTask = gql mutation updateTask($id: ID!, $name: String!, $completed: Boolean!) { updateTask(input: { id: $id, name: $name, completed: $completed }) { id name completed } } ;

// In your component (Examples of queries & mutations) export default { name: "Tasks", methods: { toggleComplete(task) { const updatedTask = { ...task, completed: !task.completed, }; this.$apollo .mutate({ mutation: UpdateTask, variables: updatedTask, update: (store, { data: { updateTask } }) => { const data = store.readQuery({ query: ListTasks }); const index = data.listTasks.items.findIndex( (item) => item.id === updateTask.id ); data.listTasks.items[index] = updateTask; store.writeQuery({ query: ListTasks, data }); }, optimisticResponse: { _typename: "Mutation", updateTask: { _typename: "Task", ...updatedTask, }, }, }) .then((data) => console.log(data)) .catch((error) => console.error(error)); }, deleteTask(task) { this.$apollo .mutate({ mutation: DeleteTask, variables: { id: task.id, }, update: (store, { data: { deleteTask } }) => { const data = store.readQuery({ query: ListTasks }); data.listTasks.items = data.listTasks.items.filter( (task) => task.id !== deleteTask.id ); store.writeQuery({ query: ListTasks, data }); }, optimisticResponse: { _typename: "Mutation", deleteTask: { _typename: "Task", ...task, }, }, }) .then((data) => console.log(data)) .catch((error) => console.error(error)); }, createTask() { const taskname = this.taskname; if (taskname === "") { alert("please create a task"); return; } this.taskname = ""; const id = uuidV4(); const task = { name: taskname, id, completed: false, }; this.$apollo .mutate({ mutation: CreateTask, variables: task, update: (store, { data: { createTask } }) => { const data = store.readQuery({ query: ListTasks }); data.listTasks.items.push(createTask); store.writeQuery({ query: ListTasks, data }); }, optimisticResponse: { _typename: "Mutation", createTask: { _typename: "Task", ...task, }, }, }) .then((data) => console.log(data)) .catch((error) => console.error("error!!!: ", error)); }, }, data() { return { taskname: "", tasks: [], }; }, apollo: { tasks: { query: () => ListTasks, update: (data) => data.listTasks.items, }, }, }; ```

Creating an AppSync Project

To create a new AppSync project, go to https://aws.amazon.com/appsync/.

License

This library is licensed under the Apache License 2.0.

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Issues event: 2
  • Watch event: 1
  • Issue comment event: 4
  • Push event: 1
  • Pull request review event: 1
  • Pull request event: 3
  • Fork event: 2
Last Year
  • Issues event: 2
  • Watch event: 1
  • Issue comment event: 4
  • Push event: 1
  • Pull request review event: 1
  • Pull request event: 3
  • Fork event: 2

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 257
  • Total Committers: 50
  • Avg Commits per committer: 5.14
  • Development Distribution Score (DDS): 0.502
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Manuel Iglesias m****s@g****m 128
elorzafe e****e@a****m 33
dependabot[bot] 4****] 13
Nader Dabit d****3@g****m 7
Ashish Nanda a****1@g****m 6
David McAfee m****d@a****m 6
Ivan Artemiev 2****v 6
Sam Martinez s****9@g****m 6
Brice Pelle o****m@g****m 5
Richard Threlkeld r****0@g****m 3
Dustin Noyes d****v@g****m 2
Henri Yandell h****l 2
Rene Brandel 4****l 2
Josh Balfour j****h@j****k 2
Alex Hinson a****n@g****m 1
Alexey Pronevich p****h 1
Andreas Greimel a****s@g****e 1
Andrew Matheny a****y@g****m 1
Christopher Akanmu a****s@g****m 1
Dan Guisinger d****r@g****m 1
Aaron S. 9****o 1
Adithya Reddy a****6@g****m 1
Conor Hastings h****m@g****m 1
Noel Neuti Yoo i****l@g****m 1
Manuel Iglesias m****l@m****m 1
ZakSingh z****h@o****m 1
Yathi 5****h 1
Tyler Austin t****n@g****m 1
Tomasz Górka t****a 1
Tom Byrer t****r@g****m 1
and 20 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 149
  • Total pull requests: 67
  • Average time to close issues: 11 months
  • Average time to close pull requests: 5 months
  • Total issue authors: 91
  • Total pull request authors: 28
  • Average comments per issue: 5.7
  • Average comments per pull request: 0.73
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 1
  • Average time to close issues: about 18 hours
  • Average time to close pull requests: about 23 hours
  • Issue authors: 4
  • Pull request authors: 1
  • Average comments per issue: 0.25
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • revmischa (2)
  • CodySwannGT (2)
  • objectiveSee (2)
  • cristal2431 (2)
  • bensie (2)
  • zhaoyi0113 (1)
  • jmparsons (1)
  • aliwoodman (1)
  • nealyip (1)
  • eliezedeck (1)
  • Mr0cket (1)
  • Xocix (1)
  • estubmo (1)
  • phucnguyencong (1)
  • SverrirV (1)
Pull Request Authors
  • david-mcafee (9)
  • dpilch (4)
  • manueliglesias (3)
  • iartemiev (3)
  • stocaaro (2)
  • shawngustaw (2)
  • renebrandel (2)
  • palpatim (1)
  • MUlfers (1)
  • cadam11 (1)
  • 3nvi (1)
  • roman-zaiats (1)
  • dguisinger (1)
  • nguyen-alexa (1)
  • Tyler-pierce (1)
Top Labels
Issue Labels
appsync-core (13) feature-request (11) to-be-reproduced (10) bug (7) question (6) investigating (6) subscription-link (5) p3 (4) React (4) p5 (4) pending-close-response-required (4) p2 (4) p4 (3) documentation (2) Apollo (2) Angular (1) samples (1) auth-link (1) good first issue (1) React Native (1) enhancement (1) dependencies (1) offline (1)
Pull Request Labels
enhancement (2) subscription-link (2) documentation (1)

Packages

  • Total packages: 42
  • Total downloads:
    • npm 906,947 last-month
  • Total docker downloads: 135
  • Total dependent packages: 283
    (may contain duplicates)
  • Total dependent repositories: 2,984
    (may contain duplicates)
  • Total versions: 408
  • Total maintainers: 40
npmjs.org: aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 146
  • Dependent Packages: 112
  • Dependent Repositories: 933
  • Downloads: 228,359 Last month
  • Docker Downloads: 42
Rankings
Dependent packages count: 0.3%
Downloads: 0.5%
Dependent repos count: 0.6%
Average: 1.2%
Forks count: 2.1%
Stargazers count: 2.5%
Last synced: 9 months ago
npmjs.org: aws-appsync-auth-link

AWS Mobile AppSync Auth Link for JavaScript

  • Versions: 16
  • Dependent Packages: 60
  • Dependent Repositories: 842
  • Downloads: 340,950 Last month
  • Docker Downloads: 53
Rankings
Downloads: 0.4%
Dependent packages count: 0.6%
Dependent repos count: 0.7%
Average: 1.3%
Docker downloads count: 1.3%
Forks count: 2.1%
Stargazers count: 2.5%
Last synced: 6 months ago
npmjs.org: aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 31
  • Dependent Packages: 42
  • Dependent Repositories: 818
  • Downloads: 329,514 Last month
  • Docker Downloads: 40
Rankings
Downloads: 0.4%
Dependent repos count: 0.7%
Dependent packages count: 0.8%
Average: 1.3%
Docker downloads count: 1.3%
Forks count: 2.1%
Stargazers count: 2.5%
Last synced: 5 months ago
npmjs.org: aws-appsync-react

AWS Mobile AppSync SDK for JavaScript - React and React Native components

  • Versions: 137
  • Dependent Packages: 15
  • Dependent Repositories: 374
  • Downloads: 7,613 Last month
Rankings
Dependent repos count: 0.9%
Downloads: 1.7%
Dependent packages count: 1.7%
Average: 1.8%
Forks count: 2.1%
Stargazers count: 2.5%
Last synced: 6 months ago
npmjs.org: @kevinsperrine/aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 2 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent packages count: 8.8%
Average: 9.3%
Dependent repos count: 10.8%
Downloads: 22.2%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @kevinsperrine/aws-appsync-react

AWS Mobile AppSync SDK for JavaScript - React and React Native components

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 4 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 11.8%
Dependent packages count: 21.3%
Downloads: 22.2%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @raydeck/aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 3 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent packages count: 8.8%
Dependent repos count: 10.8%
Average: 12.2%
Downloads: 37.0%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @andrew-razumovsky/aws-appsync-auth-link

AWS Mobile AppSync Auth Link for JavaScript

  • Versions: 3
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 3 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 9.5%
Average: 13.5%
Dependent repos count: 25.3%
Downloads: 27.3%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: ljx-aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 4 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent packages count: 8.8%
Dependent repos count: 10.8%
Average: 13.6%
Downloads: 43.8%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @snapstrat/aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 2
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 4 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent packages count: 8.8%
Dependent repos count: 10.8%
Average: 13.6%
Downloads: 43.8%
Maintainers (2)
Last synced: 6 months ago
npmjs.org: @intellihr/aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 2 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 13.7%
Dependent packages count: 21.3%
Downloads: 31.7%
Maintainers (3)
Last synced: 6 months ago
npmjs.org: wayforward-aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 413 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Downloads: 5.2%
Average: 13.8%
Dependent repos count: 25.3%
Dependent packages count: 32.9%
Maintainers (2)
Last synced: 6 months ago
npmjs.org: @boxcc/aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 5
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 4 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 9.5%
Average: 14.9%
Dependent repos count: 25.3%
Downloads: 34.0%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @boxcc/aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 3
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 2 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 9.5%
Average: 14.9%
Dependent repos count: 25.3%
Downloads: 34.0%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @andrew-razumovsky/aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 3
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 4 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Average: 14.9%
Dependent packages count: 16.2%
Dependent repos count: 25.3%
Downloads: 27.7%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @boxcc/aws-appsync-auth-link

AWS Mobile AppSync Auth Link for JavaScript

  • Versions: 3
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 6.9%
Average: 15.3%
Dependent repos count: 25.3%
Downloads: 38.6%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: aws-appsync-custom-link

AWS Mobile AppSync SDK for JavaScript

  • License: SEE LICENSE IN LICENSE
  • Latest release: 1.1.1
    published almost 8 years ago
  • Versions: 6
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 8 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 15.5%
Dependent packages count: 21.3%
Downloads: 41.0%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: aws-appsync-react-custom-link

AWS Mobile AppSync SDK for JavaScript - React and React Native components

  • License: SEE LICENSE IN LICENSE
  • Latest release: 1.1.1
    published almost 8 years ago
  • Versions: 5
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 8 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 15.5%
Dependent packages count: 21.3%
Downloads: 41.0%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @xlnt/aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 5
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 6 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 15.5%
Dependent packages count: 21.3%
Downloads: 41.0%
Maintainers (2)
Last synced: 6 months ago
npmjs.org: @boxcc/aws-appsync-react

AWS Mobile AppSync SDK for JavaScript - React and React Native components

  • Versions: 6
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Average: 15.9%
Dependent packages count: 16.2%
Dependent repos count: 25.3%
Downloads: 32.4%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @dathuis/aws-appsync-auth-link

AWS Mobile AppSync Auth Link for JavaScript

  • Versions: 2
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 1 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 6.9%
Average: 16.3%
Dependent repos count: 25.3%
Downloads: 43.6%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @dein/aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 5 Last month
Rankings
Forks count: 2.6%
Stargazers count: 3.2%
Dependent packages count: 16.2%
Average: 16.3%
Dependent repos count: 25.3%
Downloads: 34.0%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @cvanduyne/aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 4
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 16.6%
Dependent repos count: 25.3%
Downloads: 36.1%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @dathuis/aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 9.5%
Average: 17.2%
Dependent repos count: 25.3%
Downloads: 45.8%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @mgustmann/aws-appsync-auth-link

AWS Mobile AppSync Auth Link for JavaScript

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 6 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 17.7%
Dependent repos count: 25.3%
Downloads: 41.7%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: aws-appsync-usmansbk-alpha

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 10 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 17.8%
Dependent packages count: 21.3%
Downloads: 52.1%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @mgustmann/aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 18.1%
Dependent repos count: 25.3%
Downloads: 43.6%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: aws-appsync-rubenjgarcia

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 1 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 18.1%
Dependent repos count: 25.3%
Downloads: 43.6%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: olivierpt-aws-appsync

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 2 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 18.4%
Dependent packages count: 21.3%
Downloads: 55.3%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @xlnt/aws-appsync-react

AWS Mobile AppSync SDK for JavaScript - React and React Native components

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 2 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 18.4%
Dependent packages count: 21.3%
Downloads: 55.3%
Maintainers (2)
Last synced: 6 months ago
npmjs.org: ljx-aws-appsync-react

AWS Mobile AppSync SDK for JavaScript - React and React Native components

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 1 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 18.4%
Dependent packages count: 21.3%
Downloads: 55.3%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: aws-appsync-react-usmansbk-alpha

AWS Mobile AppSync SDK for JavaScript - React and React Native components

  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 4 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 18.4%
Dependent packages count: 21.3%
Downloads: 55.3%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @jpyne/aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 18.6%
Dependent repos count: 25.3%
Downloads: 45.8%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: aws-appsync-subscription-link-custom

AWS Mobile AppSync SDK for JavaScript

  • Versions: 2
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 2 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 18.6%
Dependent repos count: 25.3%
Downloads: 45.8%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @dein/aws-appsync-auth-link

AWS Mobile AppSync Auth Link for JavaScript

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 2 Last month
Rankings
Forks count: 2.6%
Stargazers count: 3.2%
Dependent packages count: 16.2%
Average: 18.6%
Dependent repos count: 25.3%
Downloads: 45.7%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @jpyne/aws-appsync-auth-link

AWS Mobile AppSync Auth Link for JavaScript

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 19.1%
Dependent repos count: 25.3%
Downloads: 48.3%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @lukeramsden/aws-appsync-auth-link

AWS Mobile AppSync Auth Link for JavaScript

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 19.1%
Dependent repos count: 25.3%
Downloads: 48.3%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: aws-appsync-subscription-link-handshake

AWS Mobile AppSync SDK for JavaScript

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 1 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.4%
Downloads: 7.9%
Average: 20.1%
Dependent repos count: 36.1%
Dependent packages count: 51.7%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @lukeramsden/aws-appsync-subscription-link

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 2 Last month
Rankings
Forks count: 2.4%
Stargazers count: 3.0%
Dependent packages count: 16.2%
Average: 20.7%
Dependent repos count: 25.3%
Downloads: 56.5%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: yokomizor-aws-appsync-aws-sdk-v3

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 2 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 24.2%
Downloads: 52.1%
Dependent packages count: 53.6%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: reams-aws-appsync-react

AWS Mobile AppSync SDK for JavaScript - React and React Native components

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 1 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 24.2%
Downloads: 52.1%
Dependent packages count: 53.6%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: unstable-aws-appsync-light

AWS Mobile AppSync SDK for JavaScript

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 2 Last month
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Dependent repos count: 10.8%
Average: 25.7%
Dependent packages count: 53.6%
Downloads: 59.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

package.json npm
  • @types/graphql 0.12.4 development
  • @types/jest 24 development
  • @types/node ^8.0.46 development
  • @types/zen-observable ^0.5.3 development
  • graphql 15.6.0 development
  • graphql-tag 2.11.0 development
  • jest 24 development
  • lerna ^2.9.0 development
  • node-fetch ^2.2.0 development
  • ts-jest 24 development
  • typescript ~3.8 development
  • zen-observable-ts ^1.1.0 development
packages/aws-appsync-auth-link/package.json npm
  • @apollo/client ^3.2.0 development
  • @aws-crypto/sha256-js ^1.2.0
  • @aws-sdk/types ^3.25.0
  • @aws-sdk/util-hex-encoding ^3.29.0
  • debug 2.6.9
packages/aws-appsync-subscription-link/package.json npm
  • @apollo/client ^3.2.0 development
  • @redux-offline/redux-offline 2.5.2-native.0 development
  • aws-appsync-auth-link ^3.0.7
  • debug 2.6.9
  • url ^0.11.0