The AWS Amplify CLI is a toolchain which includes a robust feature set for simplifying mobile and web application development. The CLI uses AWS CloudFormation and nested stacks, which allows you to add or modify configurations locally before you push them for execution in your account.
If you're using Windows, the CLI currently supports Windows Subsystem for Linux.
- Requires Node.js® version 8.11.x or later
Install and configure the Amplify CLI as follows:
$ npm install -g @aws-amplify/cli
$ amplify configure
For multiple environment and team workflow support, install and configure the Amplify CLI as follows:
$ npm install -g @aws-amplify/cli@multienv
$ amplify configure
The Amplify CLI supports the commands shown in the following table.
Command | Description |
---|---|
amplify configure | Configures the AWS access credentials, AWS Region and sets up a new AWS User Profile |
amplify init | Initializes a new project, sets up deployment resources in the cloud and prepares your project for Amplify. |
amplify configure project | Updates configuration settings used to setup the project during the init step |
amplify add <category> |
Adds cloud features to your app. |
amplify update <category> |
Updates existing cloud features in your app. |
amplify push [--no-gql-override] | Provisions cloud resources with the latest local developments. The 'no-gql-override' flag does not automatically compile your annotated GraphQL schema and will override your local AppSync resolvers and templates. |
amplify publish | Runs amplify push , publishes a static assets to Amazon S3 and Amazon CloudFront (*hosting category is required). |
amplify status | Displays the state of local resources that haven't been pushed to the cloud (Create/Update/Delete). |
amplify serve | Runs amplify push , and then executes the project's start command to test run the client-side application. |
amplify delete | (Experimental Feature) Attempts to delete resources tied to the project. |
amplify help | amplify <category> help |
Displays help for the core CLI. |
amplify codegen add | generate | Performs generation of strongly typed objects using a GraphQL schema. |
- auth (Amazon Cognito)
- storage (Amazon S3 & Amazon DynamoDB)
- function (AWS Lambda)
- api (AWS AppSync & Amazon API Gateway)
- analytics (Amazon Pinpoint)
- hosting (Amazon S3 and Amazon CloudFront distribution)
- notifications (Amazon Pinpoint)
- interactions (Amazon Lex)
- React & React Native tutorial
- GraphQL transform tutorial
- Native development with Amplify CLI and AWS AppSync
To set up your local dev environment, go to the amplify-cli
directory and then run the following:
yarn config set workspaces-experimental true
npm run setup-dev
To test your category, do the following:
cd <your test front-end project>
amplify init
amplify <your category> <subcommand>
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.