dc13c12ccc
## Bug When using next/server in different environment ([vitest](https://vitest.dev/)), named import will have runtime error. ```tsx import { NextRequest } from 'next/server' // TypeError: NextRequest is not a constructor const request = new NextRequest() ``` This is conflicted with current `server.d.ts` files. ## Alternative * reverte current `server.js` to esm, them compiled it to cjs.
26 lines
1,005 B
JavaScript
26 lines
1,005 B
JavaScript
const serverExports = {
|
|
NextRequest: require('next/dist/server/web/spec-extension/request')
|
|
.NextRequest,
|
|
NextResponse: require('next/dist/server/web/spec-extension/response')
|
|
.NextResponse,
|
|
userAgentFromString: require('next/dist/server/web/spec-extension/user-agent')
|
|
.userAgentFromString,
|
|
userAgent: require('next/dist/server/web/spec-extension/user-agent')
|
|
.userAgent,
|
|
}
|
|
|
|
if (typeof URLPattern !== 'undefined') {
|
|
// eslint-disable-next-line no-undef
|
|
serverExports.URLPattern = URLPattern
|
|
}
|
|
|
|
// https://nodejs.org/api/esm.html#commonjs-namespaces
|
|
// When importing CommonJS modules, the module.exports object is provided as the default export
|
|
module.exports = serverExports
|
|
|
|
// make import { xxx } from 'next/server' work
|
|
exports.NextRequest = serverExports.NextRequest
|
|
exports.NextResponse = serverExports.NextResponse
|
|
exports.userAgentFromString = serverExports.userAgentFromString
|
|
exports.userAgent = serverExports.userAgent
|
|
exports.URLPattern = serverExports.URLPattern
|