nextjs-routes
tl;dr I launched nextjs-routes, a code generation tool to make next/link and next/router routes type safe.
why
Type checking routes with TypeScript guards against broken links and unexpected undefined values from Next.js’ router.query when refactoring. If I’m using TypeScript, I shouldn’t have to manually verify that my application links are valid.
how does this work?
nextjs-routes scans your pages directory and generates a nextjs-routes.d.ts file with type definitions for all your routes.
nextjs-routes generates types for the pathname and query for every page in your pages directory. The generated types are written to nextjs-routes.d.ts which is automatically referenced by your Next project’s tsconfig.json. nextjs-routes.d.ts redefines the types for next/link and next/router and applies the generated route types.
the final result
nextjs-routes highlights:
-
Zero config
-
Types only — zero runtime
-
No more broken links
-
Route autocompletion
-
Supports all Next.js route types: static, dynamic, catch all and optional catch all
If you’d like to try it out:
npm install nextjs-routes or yarn add nextjs-routes
Any questions? Hop into the Reddit announcement thread. Or, open an issue.