mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-28 00:06:53 +01:00
8f1900f32b
* feat: add a script that generates an OpenAPI client * feat: generate an OpenAPI client * feat: use the generated OpenAPI client * refactor: add an OpenAPI section to the readme * refactor: fix missing interface prefixes * refactor: regenerate OpenAPI client
69 lines
1.7 KiB
Markdown
69 lines
1.7 KiB
Markdown
# 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.
|