docker.images/ansible.awx/awx-17.1.0/awx/ui_next/README.md

2.7 KiB

AWX-PF

Requirements

  • node 14.x LTS, npm 6.x LTS, make, git

Development

The API development server will need to be running. See CONTRIBUTING.md.

# install
npm --prefix=awx/ui_next install

# Start the ui development server. While running, the ui will be reachable
# at https://127.0.0.1:3001 and updated automatically when code changes.
npm --prefix=awx/ui_next start

Build for the Development Containers

If you just want to build a ui for the container-based awx development environment, use these make targets:

# The ui will be reachable at https://localhost:8043 or
# http://localhost:8013
make ui-devel 

# clean up 
make clean-ui

Using an External Server

If you normally run awx on an external host/server (in this example, awx.local), you'll need use the TARGET environment variable when starting the ui development server:

TARGET='https://awx.local:8043' npm --prefix awx/ui_next start

Testing

# run code formatting check
npm --prefix awx/ui_next run prettier-check

# run lint checks
npm --prefix awx/ui_next run lint

# run all unit tests
npm --prefix awx/ui_next run test

# run a single test (in this case the login page test):
npm --prefix awx/ui_next test -- src/screens/Login/Login.test.jsx

# start the test watcher and run tests on files that you've changed
npm --prefix awx/ui_next run test-watch

Note:

  • Once the test watcher is up and running you can hit a to run all the tests.
  • All commands are run on your host machine and not in the api development containers.

Adding Dependencies

# add an exact development or build dependency
npm --prefix awx/ui_next install --save-dev --save-exact dev-package@1.2.3

# add an exact production dependency
npm --prefix awx/ui_next install --save --save-exact prod-package@1.23

# add the updated package.json and package-lock.json files to scm
git add awx/ui_next_next/package.json awx/ui_next_next/package-lock.json

Removing Dependencies

# remove a development or build dependency
npm --prefix awx/ui_next uninstall --save-dev dev-package

# remove a production dependency
npm --prefix awx/ui_next uninstall --save prod-package

Building for Production

# built files are placed in awx/ui_next/build
npm --prefix awx/ui_next run build

CI Container

To run:

cd awx/awx/ui_next
docker build -t awx-ui-next .
docker run --name tools_ui_next_1 --network tools_default --link 'tools_awx_1:awx' -e TARGET="https://awx:8043" -p '3001:3001' --rm -v $(pwd)/src:/ui_next/src awx-ui-next

Note: This is for CI, test systems, zuul, etc. For local development, see usage