]> git.openstreetmap.org Git - nominatim-ui.git/blob - CONTRIBUTE.md
Basic test suite with headless browser (#126)
[nominatim-ui.git] / CONTRIBUTE.md
1 # Developing Nominatim-UI
2
3 [![Continuous Integration](https://github.com/osm-search/nominatim-ui/actions/workflows/ci.yml/badge.svg)](https://github.com/osm-search/nominatim-ui/actions/workflows/ci.yml)
4
5 ## Background
6
7 The user interface used to be included in the geocoder. Thus the
8 first version avoid being a redesign and still uses some of the
9 same configuration values. Version 2 was a full refactor using
10 Svelte. Version 3 added theme and easier configuration.
11
12 Uses [svelte](https://svelte.dev/) framework,
13 [leaflet](https://leafletjs.com/) for map interaction,
14 [bootstrap](https://getbootstrap.com/) for layout styling.
15
16
17 ## Building the frontend
18
19 * Install dependencies
20
21    ```
22    yarn install
23    ```
24
25 * After you change files in `src` directory run
26
27    ```
28    yarn dev
29    ```
30    which will start a webserver on port 9880 and auto-reloads
31    whenever you edit files.
32
33 ## Testing
34
35 * Run syntax linter
36
37    ```
38    yarn lint
39    ```
40
41 ## Prepare a release
42
43 1. Update version number in `package.json` file
44
45 2. Update `CHANGES.md` file
46
47 3. Commit your changes: `git add... `, `git commit ...`, `git push ...` etc
48
49 4. Tag release: `git tag THE_VERSION_NUMBER`, `git push --tags`
50
51 5. Create release on https://github.com/osm-search/nominatim-ui/releases
52    This (a triggered Github Action) will run `yarn build` and add the `dist/build/bundle.*` files.