Framework agnostic router for single page apps
Space Router packs all the features you need to keep your app in sync with the url. It's distinct from many other routers in that there is only a single callback. This callback can be used to re-render your applocation, update a store and perform other actions on each url change. Space Router is stateless, it doesn't store the current route leaving state completely up to you to handle.
In summary, Space Router:
npm i space-router
See the API Docs for more details.