mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	Currently our bundle size is clocking in at: 1,798.28 kB │ gzip: 558.42 kB After the changes: 1,299.32 kB │ gzip: 403.26 kB
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# frontend
 | 
						|
 | 
						|
This directory 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 frontend dev server:
 | 
						|
 | 
						|
```
 | 
						|
cd ~/frontend
 | 
						|
yarn install
 | 
						|
yarn run start
 | 
						|
```
 | 
						|
 | 
						|
## Run with a sandbox instance of the Unleash API
 | 
						|
 | 
						|
Alternatively, instead of running unleash-api on localhost, you can use a remote instance:
 | 
						|
 | 
						|
```
 | 
						|
cd ~/frontend
 | 
						|
yarn install
 | 
						|
yarn run start:sandbox
 | 
						|
```
 | 
						|
 | 
						|
## 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:sandbox
 | 
						|
```
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
## Analyzing bundle size
 | 
						|
 | 
						|
`npx vite-bundle-visualizer` in the root of the frontend directory
 |