]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - CONTRIBUTE.md
Rebundle latest version
[nominatim-ui.git] / CONTRIBUTE.md
index 8c63196ccd71391fdea432372d736201a2d28b5d..c9b7b9cf6fc253f20de56db95d8ce448c4cbdf3c 100644 (file)
@@ -4,14 +4,15 @@
 
 ## Background
 
+Uses [Svelte](https://svelte.dev/) framework,
+[Leaflet](https://leafletjs.com/) for map interaction,
+[Bootstrap](https://getbootstrap.com/) for layout styling.
+
 The user interface used to be included in the geocoder. Thus the
-first version avoid being a redesign and still uses some of the
+first version avoided being a redesign and still uses some of the
 same configuration values. Version 2 was a full refactor using
 Svelte. Version 3 added theme and easier configuration.
 
-Uses [svelte](https://svelte.dev/) framework,
-[leaflet](https://leafletjs.com/) for map interaction,
-[bootstrap](https://getbootstrap.com/) for layout styling.
 
 
 ## Building the frontend
@@ -27,23 +28,38 @@ Uses [svelte](https://svelte.dev/) framework,
    ```
    yarn dev
    ```
-   which will start a webserver on port 9880 and auto-reloads
-   whenever you edit files.
+   which will start a webserver on port 9080 and auto-reloads
+   whenever you edit files. Configuration in `rollup.config.js`.
 
 ## Testing
 
-* Run syntax linter
+The `test/` setup uses [Mocha](https://mochajs.org/) to run tests. Tests use [Puppeteer](https://pptr.dev/) to control a Google Chrome headless browser and evaluate with [Assert](https://nodejs.org/api/assert.html).
+
+
+* Run integration test suite (configuration in `.mocharc.js`)
 
    ```
-   yarn lint
+   yarn test
+   API_ON_SAME_PORT=1 yarn test
    ```
 
-* Run mocha test suite
+   Setting API_ON_SAME_PORT simulates having both the API and UI on the same server
+   port. That's a rare setup but something https://nominatim.openstreetmap.org/ does
+   so worth testing.
+
+   To run a single test file only
 
    ```
-   yarn test
+   yarn run rollup -c && yarn run mocha test/details.js
    ```
 
+* Run syntax linter (configuration in `.eslint.js`)
+
+   ```
+   yarn lint
+   ```
+
+
 ## Prepare a release
 
 1. Update version number in `package.json` file