This is a monorepo packed with bespoke tools crafted to seamlessly integrate with the Nominatim API.
Disclaimers
The utilization of this project is governed by the Nominatim Usage Policy (aka Geocoding Policy). Please adhere to fair usage practices as outlined by the OSMF Operations Working Group.
The owner and contributors of the Simple Nominatim project, including its libraries, assume no responsibility for any misuse.
Simple Nominatim currently only supports the Search, Reverse and Status endpoints.
For detailed instructions on how to use the tools, navigate to the ./packages
directory and consult the corresponding README.md file associated with each package.
- Simple Nominatim Core
- GitHub: README
- npm: @simple-nominatim/core
- Simple Nominatim CLI
- GitHub: README
- npm: @simple-nominatim/cli
- pnpm v8.x [Link]
To maintain code quality and consistency, this project adopts various linting, formatting and automated tools.
- Changesets: A tool that manages versioning and changelog generation with a focus on multi-package repositories.
- Commitlint: Enforces a consistent commit convention, which helps in generating changelogs and navigating the history.
- ESLint: Analyzes the JavaScript code for potential errors and deviations from coding standards.
- Lint Staged: Runs linters on pre-committed code in git. Ensures you're only committing files that meet your linting criteria.
- Markdownlint: Lints the Markdown files to ensure consistent and correct Markdown syntax.
- Prettier: An opinionated code formatter that enforces a consistent style by parsing code and reprinting it.
- Simple Git Hooks: Provides tools to set up Git hooks to automate tasks like running linters before commits.
- Turborepo: A high-performance build system for JavaScript and TypeScript monorepos, optimizing task execution across workspaces.
- Unbuild: An unified and simplified JavaScript build system.
It's recommended to familiarize yourself with these tools, their configurations, and the associated NPM scripts to ensure smooth contribution and integration within the project.
-
Clone the repository to your local machine:
$ git clone git@github.com:jonathanlinat/simple-nominatim.git
$ cd simple-nominatim/
-
Once inside the project directory, install the required dependencies:
$ pnpm install
Simple Nominatim is MIT licensed.