# unleash-frontend This repo contains the Unleash Admin UI frontend app. ## Run with a local instance of the unleash-api First, start the unleash-api backend on port 4242. Then, start the unleash-frontend dev server: ``` cd ~/unleash-frontend yarn install yarn run start ``` ## Run with a heroku-hosted instance of unleash-api Alternatively, instead of running unleash-api on localhost, use a remote instance: ``` cd ~/unleash-frontend yarn install yarn run start:heroku ``` ## Running end-to-end tests We have a set of Cypress tests that run on the build before a PR can be merged so it's important that you check these yourself before submitting a PR. On the server the tests will run against the deployed Heroku app so this is what you probably want to test against: ``` yarn run start:heroku ``` In a different shell, you can run the tests themselves: ``` yarn run e2e:heroku ``` If you need to test against patches against a local server instance, you'll need to run that, and then run the end to end tests using: ``` yarn run e2e ``` You may also need to test that a feature works against the enterprise version of unleash. Assuming the Heroku instance is still running, this can be done by: ``` yarn run start:enterprise yarn run e2e ``` ## Generating the OpenAPI client The frontend uses an OpenAPI client generated from the backend's OpenAPI spec. Whenever there are changes to the backend API, the client should be regenerated: ``` ./scripts/generate-openapi.sh ``` This script assumes that you have a running instance of the enterprise backend at `http://localhost:4242`. The new OpenAPI client will be generated from the runtime schema of this instance. The target URL can be changed by setting the `UNLEASH_OPENAPI_URL` env var.