From 11fce3a6861c2415ed2dfdc411e428e142373f96 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Tue, 27 Oct 2020 03:54:06 -0500 Subject: [PATCH] Remove unstable_ prefix from unstable_notFound (#18283) Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: Joe Haddad --- packages/next/next-server/server/render.tsx | 18 +++++++++++------- packages/next/types/index.d.ts | 4 ++-- .../pages/not-found/[slug].js | 2 +- .../pages/not-found/index.js | 2 +- .../pages/not-found/fallback/[slug].js | 2 +- .../i18n-support/pages/not-found/index.js | 2 +- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/packages/next/next-server/server/render.tsx b/packages/next/next-server/server/render.tsx index 0c9b5be672701..85d2423fbc3ce 100644 --- a/packages/next/next-server/server/render.tsx +++ b/packages/next/next-server/server/render.tsx @@ -625,7 +625,7 @@ export async function renderToHTML( key !== 'revalidate' && key !== 'props' && key !== 'redirect' && - key !== 'unstable_notFound' + key !== 'notFound' ) if (invalidKeys.includes('unstable_revalidate')) { @@ -636,10 +636,10 @@ export async function renderToHTML( throw new Error(invalidKeysMsg('getStaticProps', invalidKeys)) } - if ('unstable_notFound' in data && data.unstable_notFound) { + if ('notFound' in data && data.notFound) { if (pathname === '/404') { throw new Error( - `The /404 page can not return unstable_notFound in "getStaticProps", please remove it to continue!` + `The /404 page can not return notFound in "getStaticProps", please remove it to continue!` ) } @@ -759,10 +759,14 @@ export async function renderToHTML( } const invalidKeys = Object.keys(data).filter( - (key) => - key !== 'props' && key !== 'redirect' && key !== 'unstable_notFound' + (key) => key !== 'props' && key !== 'redirect' && key !== 'notFound' ) + if ((data as any).unstable_notFound) { + throw new Error( + `unstable_notFound has been renamed to notFound, please update the field to continue. Page: ${pathname}` + ) + } if ((data as any).unstable_redirect) { throw new Error( `unstable_redirect has been renamed to redirect, please update the field to continue. Page: ${pathname}` @@ -773,10 +777,10 @@ export async function renderToHTML( throw new Error(invalidKeysMsg('getServerSideProps', invalidKeys)) } - if ('unstable_notFound' in data) { + if ('notFound' in data) { if (pathname === '/404') { throw new Error( - `The /404 page can not return unstable_notFound in "getStaticProps", please remove it to continue!` + `The /404 page can not return notFound in "getStaticProps", please remove it to continue!` ) } diff --git a/packages/next/types/index.d.ts b/packages/next/types/index.d.ts index 8cf52aedb8e63..025a778eba96b 100644 --- a/packages/next/types/index.d.ts +++ b/packages/next/types/index.d.ts @@ -88,7 +88,7 @@ export type GetStaticPropsContext = { export type GetStaticPropsResult

= | { props: P; revalidate?: number | boolean } | { redirect: Redirect; revalidate?: number | boolean } - | { unstable_notFound: true } + | { notFound: true } export type GetStaticProps< P extends { [key: string]: any } = { [key: string]: any }, @@ -133,7 +133,7 @@ export type GetServerSidePropsContext< export type GetServerSidePropsResult

= | { props: P } | { redirect: Redirect } - | { unstable_notFound: true } + | { notFound: true } export type GetServerSideProps< P extends { [key: string]: any } = { [key: string]: any }, diff --git a/test/integration/getserversideprops/pages/not-found/[slug].js b/test/integration/getserversideprops/pages/not-found/[slug].js index 158be98be1cef..a2b94c1582bca 100644 --- a/test/integration/getserversideprops/pages/not-found/[slug].js +++ b/test/integration/getserversideprops/pages/not-found/[slug].js @@ -22,7 +22,7 @@ export default function Page(props) { export const getServerSideProps = ({ query }) => { if (query.hiding) { return { - unstable_notFound: true, + notFound: true, } } diff --git a/test/integration/getserversideprops/pages/not-found/index.js b/test/integration/getserversideprops/pages/not-found/index.js index 158be98be1cef..a2b94c1582bca 100644 --- a/test/integration/getserversideprops/pages/not-found/index.js +++ b/test/integration/getserversideprops/pages/not-found/index.js @@ -22,7 +22,7 @@ export default function Page(props) { export const getServerSideProps = ({ query }) => { if (query.hiding) { return { - unstable_notFound: true, + notFound: true, } } diff --git a/test/integration/i18n-support/pages/not-found/fallback/[slug].js b/test/integration/i18n-support/pages/not-found/fallback/[slug].js index e4e809bc4f321..0fde7256d1aae 100644 --- a/test/integration/i18n-support/pages/not-found/fallback/[slug].js +++ b/test/integration/i18n-support/pages/not-found/fallback/[slug].js @@ -26,7 +26,7 @@ export default function Page(props) { export const getStaticProps = ({ params, locale, locales }) => { if (locale === 'en' || locale === 'nl') { return { - unstable_notFound: true, + notFound: true, } } diff --git a/test/integration/i18n-support/pages/not-found/index.js b/test/integration/i18n-support/pages/not-found/index.js index 18a9bd7996f83..b6652953a9af6 100644 --- a/test/integration/i18n-support/pages/not-found/index.js +++ b/test/integration/i18n-support/pages/not-found/index.js @@ -24,7 +24,7 @@ export default function Page(props) { export const getStaticProps = ({ locale, locales }) => { if (locale === 'en' || locale === 'nl') { return { - unstable_notFound: true, + notFound: true, } }