https://github.com/fossamagna/amplify-appsync-resolver-nodejs-function-template-provider
https://github.com/fossamagna/amplify-appsync-resolver-nodejs-function-template-provider
aws-amplify aws-appsync aws-lambda graphql
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/fossamagna/amplify-appsync-resolver-nodejs-function-template-provider
- Owner: fossamagna
- Created: 2021-10-19T13:48:21.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-08-25T14:37:39.000Z (5 months ago)
- Last Synced: 2025-08-25T16:29:16.902Z (5 months ago)
- Topics: aws-amplify, aws-appsync, aws-lambda, graphql
- Language: TypeScript
- Homepage:
- Size: 185 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# AWS Amplify AppSync Resolver NodeJS function templates plugin
## About The Project
This project is amplify plugin Node.js function template for AppSync Lambda Resolver.
For additional details on Lambda resolvers, see the AWS Amplify CLI API(GraphQL) [docs](https://docs.amplify.aws/cli/graphql-transformer/function).
## Getting Started
This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.
### Prerequisites
First, install AWS Amplify CLI using npm (we assume you have pre-installed node.js).
```sh
npm install -g @aws-amplify/cli
```
### Installation
1. Install NPM packages
```sh
npm install -g amplify-appsync-resolver-nodejs-function-template-provider
```
2. Enable this plugin
```sh
amplify plugin scan
```
For additional details on plugins, see the AWS Amplify CLI plugins [docs](https://docs.amplify.aws/cli/plugins/plugins).
## Usage
Once installed, you can use this plugin to generate Amplify AppSync Lambda resolvers for you:
- Run `amplify add function` to add a new Lambda Resolver to AppSync API.

- Edit `schema.graphql`, to relate selected fields in the previous step to `@function` directive.
```graphql
type Blog @model {
id: ID!
name: String! @function(name: "resolver-${env}") # added here
posts: [Post] @connection(keyName: "byBlog", fields: ["id"])
}
type Post @model @key(name: "byBlog", fields: ["blogID"]) {
id: ID!
title: String! @function(name: "resolver-${env}") # added here
blogID: ID!
blog: Blog @connection(fields: ["blogID"])
comments: [Comment] @connection(keyName: "byPost", fields: ["id"])
}
type Comment @model @key(name: "byPost", fields: ["postID", "content"]) {
id: ID!
postID: ID!
post: Post @connection(fields: ["postID"])
content: String!
}
```
## Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
Distributed under the Apache-2.0 License. See `LICENSE` for more information.
## Contact
Masahiko MURAKAMI - [@fossamagna](https://twitter.com/fossamagna)
Project Link: [https://github.com/fossamagna/amplify-appsync-resolver-nodejs-function-template-provider](https://github.com/fossamagna/amplify-appsync-resolver-nodejs-function-template-provider)