2022-08-26 09:25:31 +02:00
|
|
|
# frontend
|
2021-05-07 08:31:25 +02:00
|
|
|
|
2022-08-26 09:25:31 +02:00
|
|
|
This directory contains the Unleash Admin UI frontend app.
|
2017-01-04 22:55:50 +01:00
|
|
|
|
2022-03-25 12:13:39 +01:00
|
|
|
## Run with a local instance of the unleash-api
|
2021-05-07 08:31:25 +02:00
|
|
|
|
2022-03-25 12:13:39 +01:00
|
|
|
First, start the unleash-api backend on port 4242.
|
2022-08-26 09:25:31 +02:00
|
|
|
Then, start the frontend dev server:
|
2022-03-25 12:13:39 +01:00
|
|
|
|
|
|
|
```
|
2022-08-26 09:25:31 +02:00
|
|
|
cd ~/frontend
|
2021-10-08 22:20:47 +02:00
|
|
|
yarn install
|
|
|
|
yarn run start
|
2016-11-10 14:26:24 +01:00
|
|
|
```
|
|
|
|
|
2022-10-19 14:02:00 +02:00
|
|
|
## Run with a sandbox instance of the Unleash API
|
2022-03-25 12:13:39 +01:00
|
|
|
|
2022-10-19 14:02:00 +02:00
|
|
|
Alternatively, instead of running unleash-api on localhost, you can use a remote instance:
|
2017-01-04 22:55:50 +01:00
|
|
|
|
2022-03-25 12:13:39 +01:00
|
|
|
```
|
2022-08-26 09:25:31 +02:00
|
|
|
cd ~/frontend
|
2021-10-08 22:20:47 +02:00
|
|
|
yarn install
|
2022-10-19 14:02:00 +02:00
|
|
|
yarn run start:sandbox
|
2017-01-04 22:55:50 +01:00
|
|
|
```
|
|
|
|
|
2022-04-26 10:53:46 +02:00
|
|
|
## Running end-to-end tests
|
2022-03-25 12:13:39 +01:00
|
|
|
|
2022-04-26 10:53:46 +02:00
|
|
|
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.
|
2022-03-25 12:13:39 +01:00
|
|
|
On the server the tests will run against the deployed Heroku app so this is what you probably want to test against:
|
|
|
|
|
|
|
|
```
|
2022-10-19 14:02:00 +02:00
|
|
|
yarn run start:sandbox
|
2022-03-25 12:13:39 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
In a different shell, you can run the tests themselves:
|
|
|
|
|
|
|
|
```
|
|
|
|
yarn run e2e:heroku
|
|
|
|
```
|
|
|
|
|
2022-04-26 10:53:46 +02:00
|
|
|
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:
|
2021-05-07 08:31:25 +02:00
|
|
|
|
2022-03-25 12:13:39 +01:00
|
|
|
```
|
|
|
|
yarn run e2e
|
|
|
|
```
|
|
|
|
|
2022-04-26 10:53:46 +02:00
|
|
|
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:
|
2019-10-05 09:55:08 +02:00
|
|
|
|
2022-03-25 12:13:39 +01:00
|
|
|
```
|
|
|
|
yarn run start:enterprise
|
|
|
|
yarn run e2e
|
|
|
|
```
|
2022-04-26 10:53:46 +02:00
|
|
|
|
|
|
|
## 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.
|
2023-01-12 11:34:45 +01:00
|
|
|
|
|
|
|
## Analyzing bundle size
|
|
|
|
|
|
|
|
`npx vite-bundle-visualizer` in the root of the frontend directory
|