Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ProNextJS/declarative-routing
NextJS Typesafe Routing System
https://github.com/ProNextJS/declarative-routing
Last synced: 13 days ago
JSON representation
NextJS Typesafe Routing System
- Host: GitHub
- URL: https://github.com/ProNextJS/declarative-routing
- Owner: ProNextJS
- License: mit
- Created: 2024-02-15T01:18:28.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-24T22:54:54.000Z (7 months ago)
- Last Synced: 2024-05-08T13:19:07.814Z (6 months ago)
- Language: TypeScript
- Size: 249 KB
- Stars: 186
- Watchers: 4
- Forks: 13
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- jimsghstars - ProNextJS/declarative-routing - NextJS Typesafe Routing System (TypeScript)
README
## Declarative Routes
`declarative-routing` sets up an optional declarative routing system for React or QwikCity projects. For NextJS, it maintains a global list of both pages and API routes and provides components and functions to easily navigate to pages, or make API requests.
## What are Declarative Routes?
Typesafe routing is a way to ensure that your routes are structured properly; the parameters in the URL are correct and a route handler exists for that route. Declarative routing goes to the next step and ensures that your link is going to the correct route.
With typesafe routing you still have to deal with urls; `` Product ``. With declarative routing you can use a component that is typed to the route, and that will generate the correct URL for you. `Product`. Later on, if the route changes, or the parameters change, the `ProductDetail.Link` component will be updated to reflect that everwhere it is used in your application.
## Installation
For NextJS projects follow the [NextJS installation instructions](https://github.com/ProNextJS/declarative-routing/blob/main/docs/nextjs.md).
For React Router projects follow the [React Router installation instructions](https://github.com/ProNextJS/declarative-routing/blob/main/docs/react-router.md).
For QwikCity projects follow the [QwikCity installation instructions](https://github.com/ProNextJS/declarative-routing/blob/main/docs/qwikcity.md).
# Credit where credit is due
This system is based on the work in [Fix Next.JS Routing To Have Full Type-Safety](https://www.flightcontrol.dev/blog/fix-nextjs-routing-to-have-full-type-safety). However the original article had a significantly different interface and didn't cover API routes at all.