diff --git a/packages/next/server/next-server.ts b/packages/next/server/next-server.ts index 329709e17b9e10..712fd7c4c0f6b1 100644 --- a/packages/next/server/next-server.ts +++ b/packages/next/server/next-server.ts @@ -1179,7 +1179,7 @@ export default class Server { query, pageModule, this.renderOpts.previewProps, - false + this.minimalMode ) return true } diff --git a/test/integration/required-server-files/pages/api/error.js b/test/integration/required-server-files/pages/api/error.js new file mode 100644 index 00000000000000..4a900436a53e59 --- /dev/null +++ b/test/integration/required-server-files/pages/api/error.js @@ -0,0 +1,3 @@ +export default async function handler(req, res) { + throw new Error('some error from /api/error') +} diff --git a/test/integration/required-server-files/test/index.test.js b/test/integration/required-server-files/test/index.test.js index 2c3d59d3650193..eb2b6c65ca92ac 100644 --- a/test/integration/required-server-files/test/index.test.js +++ b/test/integration/required-server-files/test/index.test.js @@ -470,6 +470,15 @@ describe('Required Server Files', () => { expect(errors[0].message).toContain('gsp hit an oops') }) + it('should bubble error correctly for API page', async () => { + errors = [] + const res = await fetchViaHTTP(appPort, '/api/error') + expect(res.status).toBe(500) + expect(await res.text()).toBe('error') + expect(errors.length).toBe(1) + expect(errors[0].message).toContain('some error from /api/error') + }) + it('should normalize optional values correctly for SSP page', async () => { const res = await fetchViaHTTP( appPort,