Releases: tatethurston/nextjs-routes
Releases · tatethurston/nextjs-routes
v0.0.22
0.0.22
- Deprecate direct invocation of nextjs-routes in favor of automatic regeneration via withRoutes. See #63 for the motivation behind this change or to voice any concerns.
Full Changelog: v0.0.21...v0.0.22
v0.0.21
What's Changed
- Add
route
runtime for generating type safe paths from aRoute
object
This can be used to fetch from API routes:
import { route } from "nextjs-routes";
fetch(route({ pathname: "/api/foos/[foo]", query: { foo: "foobar" } }));
Or for type safe redirects from getServerSideProps
:
import { route } from "nextjs-routes";
export const getServerSideProps: GetServerSideProps = async (context) => {
return {
redirect: {
destination: route({ pathname: "/foos/[foo]", query: { foo: "foobar" } }),
permanent: false,
},
};
};
Full Changelog: v0.0.20...v0.0.21
v0.0.20
What's Changed
- Move
chokidar
fromdevDependencies
todependencies
so it's installed automatically.
Full Changelog: v0.0.19...v0.0.20
v0.0.19
What's Changed
- Bug Fix: quote query segments in generated types. See #49 for more context. Thanks @OliverDudgeon for reporting.
- Bug Fix: don't generate routes for non navigable routes (
_error
,_app
,_document
). Thanks @JohnDaly for reporting. - Bug Fix: don't generate routes for test files that are co-located in pages directory. See #50 for more context. Thanks @JohnDaly for reporting.
Full Changelog: v0.0.18...v0.0.19
v0.0.18
What's Changed
-
query
is now typed asstring | string[] | undefined
instead ofstring | undefined
by @sachinraja. -
nextjs-routes
can now be configured via yournext.config.js
to automatically regenerate types whenever your routes change:// next.config.js /** @type {import('next').NextConfig} */ const { withRoutes } = require("nextjs-routes/next-config.cjs"); const nextConfig = { reactStrictMode: true, }; module.exports = withRoutes(nextConfig);
This wiring will only run in Next.js' development server (eg
npx next dev
) andwithRoutes
will no-op in production.
Full Changelog: v0.0.17...v0.0.18
v0.0.17
What's Changed
- re-export types from
next/link
andnext/router
by @sachinraja. - remove prettier as a peer dependency by @sachinraja.
- enable src/pages for windows users.
- routes are now generated for routes that start with
_
._app
,_document
,_error
andmiddleware
are excluded. - gracefully handles missing pages directory and no pages.
Full Changelog: v0.0.16...v0.0.17
v0.0.16
v0.0.15
What's Changed
- nextjs-routes no longer adds types to the global type namespace. Previously,
Route
was available globally. Now, it must be imported:
import type { Route } from "nextjs-routes";
- query from
useRouter
is now correctly typed asstring | undefined
instead ofstring
. If you know the current route, you can supply a type argument to narrow required parameters to string, eg:
// if you have a page /foos/[foo].ts
const router = useRouter<"/foos/[foo]">();
// foo will be typed as a string, because the foo query parameter is required and thus will always be present.
const { foo } = router.query;
Full Changelog: v0.0.14...v0.0.15
v0.0.14
What's Changed
- allow passing in query without pathname by @sachinraja in #20
New Contributors
- @sachinraja made their first contribution in #20
Full Changelog: v0.0.13...v0.0.14
v0.0.13
What's Changed
- Support search parameters. See #17 for more context.
Full Changelog: v0.0.12...v0.0.13