@aws-amplify/ui-angular
utilizes a monorepo structure to manage devDependencies and the actual packages separately.
This directory (packages/angular
) contains base dependencies for developing angular packages. The actual code for @aws-amplify/ui-angular
is located in projects/ui-angular
directory.
packages/angular/
├── projects/ui-angular/ # where the actual `@aws-amplify/ui-angular` library lives
│ ├── src/ # contains src files for UI library code.
│ └── package.json # contains dependencies that library needs (e.g. xstate)
│
├── dist/ui-angular/ # this is auto-generated on build. Deployments will only happen from this folder.
│ └── esm2015/
│ └── fesm2015/
│ └── lib/
│ └── package.json # same as the above, but defines extra fields like
│ # main, module, esm2015, typings, sideEffects.
│
└── package.json # contains base dependencies for developing angular packages.
# This is only for infrastructure purpose! Shouldn't be
# published or be referenced by other dependencies.
- Navigate to the root of your local clone of aws-amplify/amplify-ui
- Run
yarn setup
- Run
yarn angular dev
This will start building @aws-amplify/ui-angular
in watch mode. To test your changes, you can utilize examples/angular
to run examples on Angular. Please see examples README and e2e README to get started.
@aws-amplify/ui-react
depends on @aws-amplify/ui
for theming, state management, and translation logic. If you're looking for change in these, please refer to @aws-amplify/ui
README.
After you tested your change, you can run yarn angular build
and yarn angular-example build
from monorepo to run build for production.
If you're cross developing angular
and angular-example
, make sure you're running the same type of commands -- either run yarn angular dev
and yarn angular-example dev
together, or run yarn angular build
and yarn angular-example build
together. Not doing so will result in IVY compiler conflict.