Amplify Codegen is a JavaScript toolkit library for frontend and mobile developers building amplify applications. Packages are mainly used for frontend code generation including:
Package | Description |
---|---|
amplify-codegen | Amplify plugin for code generation |
appsync-modelgen-plugin | Model generator for Amplify Datastore |
graphql-docs-generator | Generates statements from GraphQL schema |
graphql-types-generator | Generates type annotations from GraphQL schema and statements |
This section should get you running with Amplify Codegen. You will need to set nodejs to a version less than v16 on your system. Developing locally also requires yarn.
Start by Forking the main branch of amplify-codegen.
$ git clone git@github.com:[username]/amplify-codegen.git
$ cd amplify-codegen
$ yarn setup-dev
To generate model files in an Amplify app using the local version of codegen, run amplify-dev codegen models
in an Amplify app.
Before pushing code or sending a pull request, do the following:
- At the command line, run
npm run lint
at the top-level directory. This invokes lerna to check for lint errors in all of our packages. - You can use
eslint
to fix some of the lint errors. To use it, go to the package that has errors and runlint-fix
- If there are any remaining lint errors, resolve them manually. Linting your code is a best practice that ensures good code quality so it's important that you don't skip this step.
Errors sometimes occur when a different version of amplify-cli-core
is installed, typically during the time the CLI is updated. To resolve the error, execute the following command from the top-level directory:
rm -rf yarn.lock && yarn clean && yarn setup-dev
See the contribution guideline. https://github.com/aws-amplify/amplify-codegen/blob/main/CONTRIBUTING.md