next-typesafe-url
v5.1.0
Published
Fully typesafe, JSON serializable, and zod validated URL search params, dynamic route params, and routing for NextJS pages directory
Downloads
7,470
Maintainers
Readme
next-typesafe-url
Now with full support for app directory and server components!
Fully typesafe, JSON serializable, and zod validated URL search params, dynamic route params, and routing for NextJS.
Big shoutout to tanstack/router and yesmeck/remix-routes for inspiration and ideas.
Whats wrong with curent solutions?
Routing
Next.js's non-typesafe routing can lead to runtime errors and make it difficult to catch routing-related issues during development, as it relies on string literals instead of type-safe constructs.
Search Params
from tanstack/router:
Traditional Search Param APIs usually assume a few things:
- Search params are always strings
- They are mostly flat
- Serializing and deserializing using URLSearchParams is good enough (Spoiler alert: it's not, it sucks)
Typesafety Isn’t Optional
How does next-typesafe-url
solve these problems?
- Fully typesafe routing- all the way from the route, to the route params, to the search params
- Search params are JSON-first, so you can pass strings, numbers, booleans, nulls, and even nested objects and arrays
- Search and route params are validated at runtime using zod, so you can be sure that the data you get matches the schema you expect