Some systems may have trouble detecting changes to frontend files. You can enable filesystem polling by uncommenting the `watchOptions` clause in `webpack.config.js`. If you do this it may be worth making git ignore changes to webpack config, using `git update-index --assume-unchanged webpack.config.js`
By default, these build processes rely on a memory cache. The build process uses a large amount of memory and may take a considerable amount of time to start (1 - 2 minutes or more). FE developers (or anyone else who frequently restarts FE builds) are encouraged to use webpack's filesystem cache option for much better start-up performance:
```sh
$ FS_CACHE=true yarn build-hot
```
When using `FS_CACHE=true` you may need to remove the `node_modules/.cache` directory to fix scenarios where the build may be improperly cached, and you must run `rm -rf node_modules/.cache` in order for the build to work correctly when alternating between open source and enterprise builds of the codebase.
## Frontend testing
Run all unit and Cypress end-to-end tests with
...
...
@@ -72,6 +80,8 @@ yarn test
Cypress tests and some unit tests are located in `frontend/test` directory. New unit test files are added next to the files they test.
If you are using `FS_CACHE=true`, you can also use `FS_CACHE=true` with `yarn test`.
## Frontend debugging
By default, we use a simple source mapping option that is optimized for speed.