From de41597bc8306d700a024d1bf04a66633ad54ec2 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Wed, 3 Aug 2022 20:18:35 -0500 Subject: [PATCH] Fix next/server being required during build (#39310) --- packages/next/server.js | 9 +++++++-- test/unit/web-runtime/next-server-node.test.ts | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 test/unit/web-runtime/next-server-node.test.ts diff --git a/packages/next/server.js b/packages/next/server.js index bd17c2151c13..e127917ec25f 100644 --- a/packages/next/server.js +++ b/packages/next/server.js @@ -1,4 +1,4 @@ -module.exports = { +const serverExports = { NextRequest: require('next/dist/server/web/spec-extension/request') .NextRequest, NextResponse: require('next/dist/server/web/spec-extension/response') @@ -7,6 +7,11 @@ module.exports = { .userAgentFromString, userAgent: require('next/dist/server/web/spec-extension/user-agent') .userAgent, +} + +if (typeof URLPattern !== 'undefined') { // eslint-disable-next-line no-undef - URLPattern: URLPattern, + serverExports.URLPattern = URLPattern } + +module.exports = serverExports diff --git a/test/unit/web-runtime/next-server-node.test.ts b/test/unit/web-runtime/next-server-node.test.ts new file mode 100644 index 000000000000..1466117c07b4 --- /dev/null +++ b/test/unit/web-runtime/next-server-node.test.ts @@ -0,0 +1,5 @@ +import 'next/dist/server/node-polyfill-fetch' + +it('should be able to require next/server outside edge', () => { + require('next/server') +})