From 2010f9914b34ff2881362865109f1af94687e991 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Mon, 27 Jan 2020 12:03:28 -0600 Subject: [PATCH 1/3] Enable static 404 config to allow static 404 page when available --- packages/next/next-server/server/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next/next-server/server/config.ts b/packages/next/next-server/server/config.ts index fb47ecb9df8743a..5fe42e75d34340d 100644 --- a/packages/next/next-server/server/config.ts +++ b/packages/next/next-server/server/config.ts @@ -52,7 +52,7 @@ const defaultConfig: { [key: string]: any } = { reactMode: 'legacy', workerThreads: false, basePath: '', - static404: false, + static404: true, }, future: { excludeDefaultMomentLocales: false, From 32984098b051b533611a443ef22eb10f1b131235 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Mon, 27 Jan 2020 12:09:14 -0600 Subject: [PATCH 2/3] Update static 404 suite --- test/integration/static-404/test/index.test.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/integration/static-404/test/index.test.js b/test/integration/static-404/test/index.test.js index 5e466ce9c808079..7d0fde74ad429b7 100644 --- a/test/integration/static-404/test/index.test.js +++ b/test/integration/static-404/test/index.test.js @@ -20,7 +20,6 @@ const static404 = join( const appPage = join(appDir, 'pages/_app.js') const errorPage = join(appDir, 'pages/_error.js') const buildId = `generateBuildId: () => 'test-id'` -const experimentalConfig = `experimental: { static404: true }` let app let appPort @@ -34,7 +33,10 @@ describe('Static 404 page', () => { describe('With config disabled', () => { it('should not have exported static 404 page', async () => { - await fs.writeFile(nextConfig, `module.exports = { ${buildId} }`) + await fs.writeFile( + nextConfig, + `module.exports = { ${buildId}, experimental: { static404: false } }` + ) await nextBuild(appDir) expect(await fs.exists(static404)).toBe(false) }) @@ -42,10 +44,7 @@ describe('Static 404 page', () => { describe('With config enabled', () => { beforeEach(() => - fs.writeFile( - nextConfig, - `module.exports = { ${buildId}, ${experimentalConfig} }` - ) + fs.writeFile(nextConfig, `module.exports = { ${buildId} }`) ) it('should export 404 page without custom _error', async () => { From 0fe0e67b9259f04a516c84db537c3cb39870aa0c Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Mon, 27 Jan 2020 13:31:23 -0600 Subject: [PATCH 3/3] Fix invalid params test case --- packages/next/next-server/server/next-server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next/next-server/server/next-server.ts b/packages/next/next-server/server/next-server.ts index e2ac323dce02887..e48fd43cd25b353 100644 --- a/packages/next/next-server/server/next-server.ts +++ b/packages/next/next-server/server/next-server.ts @@ -1084,7 +1084,7 @@ export default class Server { let result: null | LoadComponentsReturnType = null // use static 404 page if available and is 404 response - if (this.nextConfig.experimental.static404 && err === null) { + if (this.nextConfig.experimental.static404 && res.statusCode === 404) { try { result = await this.findPageComponents('/_errors/404') } catch (err) {