build(cargo): update turbopack (#46013)Co-authored-by: JJ Kasper <jj@jjsweb.site> Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>

# New Features
- https://github.com/vercel/turbo/pull/3771
- https://github.com/vercel/turbo/pull/3690

# Performance
- https://github.com/vercel/turbo/pull/3768

# Fixes
- https://github.com/vercel/turbo/pull/3795
- https://github.com/vercel/turbo/pull/3746
- https://github.com/vercel/turbo/pull/3832
- https://github.com/vercel/turbo/pull/3827
- https://github.com/vercel/turbo/pull/3847

# Other
- https://github.com/vercel/turbo/pull/3803
- https://github.com/vercel/turbo/pull/3685
- https://github.com/vercel/turbo/pull/3848

---------

Co-authored-by: JJ Kasper <jj@jjsweb.site>
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
This commit is contained in:
Justin Ridgewell 2023-02-21 13:44:53 -05:00 committed by GitHub
parent 0ab8dcb09d
commit a1abeaf67b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 101 additions and 97 deletions

View file

@ -126,7 +126,7 @@ dependencies = [
[[package]]
name = "auto-hash-map"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"serde",
]
@ -859,6 +859,12 @@ version = "0.15.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03d8c417d7a8cb362e0c37e5d815f5eb7c37f79ff93707329d5a194e42e54ca0"
[[package]]
name = "dunce"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c"
[[package]]
name = "easy-error"
version = "1.0.0"
@ -2279,7 +2285,7 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
[[package]]
name = "next-binding"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"mdxjs",
"modularize_imports",
@ -2295,7 +2301,7 @@ dependencies = [
[[package]]
name = "next-core"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"auto-hash-map",
@ -2325,9 +2331,10 @@ dependencies = [
[[package]]
name = "next-dev"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"dunce",
"futures",
"mime",
"next-core",
@ -2350,7 +2357,7 @@ dependencies = [
[[package]]
name = "next-font"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"fxhash",
"serde",
@ -2404,7 +2411,7 @@ dependencies = [
[[package]]
name = "next-transform-dynamic"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"pathdiff",
"swc_core",
@ -2413,7 +2420,7 @@ dependencies = [
[[package]]
name = "next-transform-strip-page-exports"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"fxhash",
"swc_core",
@ -2423,7 +2430,7 @@ dependencies = [
[[package]]
name = "node-file-trace"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"clap",
@ -5451,7 +5458,7 @@ dependencies = [
[[package]]
name = "turbo-malloc"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"mimalloc",
]
@ -5459,7 +5466,7 @@ dependencies = [
[[package]]
name = "turbo-tasks"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"auto-hash-map",
@ -5489,7 +5496,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-build"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"cargo-lock",
@ -5501,7 +5508,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-env"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"dotenvy",
@ -5515,7 +5522,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-fetch"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"indexmap",
@ -5532,13 +5539,14 @@ dependencies = [
[[package]]
name = "turbo-tasks-fs"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"auto-hash-map",
"bitflags",
"bytes",
"concurrent-queue",
"dunce",
"futures",
"futures-retry",
"include_dir",
@ -5558,7 +5566,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-hash"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"base16",
"hex",
@ -5570,7 +5578,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-macros"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"convert_case 0.5.0",
@ -5584,7 +5592,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-macros-shared"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"proc-macro2",
"quote",
@ -5594,7 +5602,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-memory"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"auto-hash-map",
@ -5616,7 +5624,7 @@ dependencies = [
[[package]]
name = "turbopack"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"indexmap",
@ -5641,7 +5649,7 @@ dependencies = [
[[package]]
name = "turbopack-cli-utils"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"clap",
@ -5657,7 +5665,7 @@ dependencies = [
[[package]]
name = "turbopack-core"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"async-trait",
@ -5683,11 +5691,12 @@ dependencies = [
[[package]]
name = "turbopack-css"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"async-trait",
"indexmap",
"indoc",
"once_cell",
"regex",
"serde",
@ -5704,7 +5713,7 @@ dependencies = [
[[package]]
name = "turbopack-dev-server"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"futures",
@ -5713,6 +5722,7 @@ dependencies = [
"indexmap",
"mime",
"mime_guess",
"once_cell",
"parking_lot",
"pin-project-lite",
"serde",
@ -5733,7 +5743,7 @@ dependencies = [
[[package]]
name = "turbopack-ecmascript"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"async-trait",
@ -5772,7 +5782,7 @@ dependencies = [
[[package]]
name = "turbopack-env"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"serde",
@ -5787,7 +5797,7 @@ dependencies = [
[[package]]
name = "turbopack-json"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"serde",
@ -5802,7 +5812,7 @@ dependencies = [
[[package]]
name = "turbopack-mdx"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"mdxjs",
@ -5817,7 +5827,7 @@ dependencies = [
[[package]]
name = "turbopack-node"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"futures",
@ -5840,7 +5850,7 @@ dependencies = [
[[package]]
name = "turbopack-static"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"anyhow",
"serde",
@ -5856,7 +5866,7 @@ dependencies = [
[[package]]
name = "turbopack-swc-utils"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230214.2#6d5fee7f19b229e75d692ef6fbb75056c20511e8"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230217.2#4fd1eef9d484ef4351cdacac30076617eb0996c7"
dependencies = [
"swc_core",
"turbo-tasks",

View file

@ -19,7 +19,7 @@ serde = "1"
serde_json = "1"
tracing = { version = "0.1.37", features = ["release_max_level_info"] }
next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230214.2", features = [
next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230217.2", features = [
"__swc_core",
"__swc_core_next_core",
"__swc_transform_styled_jsx",
@ -29,7 +29,7 @@ next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-2
] }
[dev-dependencies]
next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230214.2", features = [
next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230217.2", features = [
"__swc_core_testing_transform",
"__swc_testing",
] }

View file

@ -39,10 +39,10 @@ tracing = { version = "0.1.37", features = ["release_max_level_info"] }
tracing-futures = "0.2.5"
tracing-subscriber = "0.3.9"
tracing-chrome = "0.5.0"
turbo-malloc = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230214.2" }
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230214.2" }
turbo-tasks-memory = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230214.2" }
next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230214.2", features = [
turbo-malloc = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230217.2" }
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230217.2" }
turbo-tasks-memory = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230217.2" }
next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230217.2", features = [
"__swc_core_binding_napi",
"__turbo_next_dev_server",
"__turbo_node_file_trace",

View file

@ -31,7 +31,7 @@ wasm-bindgen-futures = "0.4.8"
getrandom = { version = "0.2.5", optional = true, default-features = false }
js-sys = "0.3.59"
serde-wasm-bindgen = "0.4.3"
next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230214.2", features = [
next-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230217.2", features = [
"__swc_core_binding_wasm",
"__feature_mdx_rs",
] }

View file

@ -238,7 +238,7 @@ export default class DevServer extends Server {
const ensurer: RouteEnsurer = {
ensure: async (match) => {
await this.hotReloader!.ensurePage({
await this.hotReloader?.ensurePage({
match,
page: match.definition.page,
clientOnly: false,
@ -726,7 +726,7 @@ export default class DevServer extends Server {
!this.sortedRoutes?.every((val, idx) => val === sortedRoutes[idx])
) {
// emit the change so clients fetch the update
this.hotReloader!.send(undefined, { devPagesManifest: true })
this.hotReloader?.send(undefined, { devPagesManifest: true })
}
this.sortedRoutes = sortedRoutes
@ -1118,11 +1118,12 @@ export default class DevServer extends Server {
}
}
const { finished = false } = await this.hotReloader!.run(
req.originalRequest,
res.originalResponse,
parsedUrl
)
const { finished = false } =
(await this.hotReloader?.run(
req.originalRequest,
res.originalResponse,
parsedUrl
)) || {}
if (finished) {
return
@ -1319,7 +1320,7 @@ export default class DevServer extends Server {
}
protected async ensureMiddleware() {
return this.hotReloader!.ensurePage({
return this.hotReloader?.ensurePage({
page: this.actualMiddlewareFile!,
clientOnly: false,
})
@ -1348,7 +1349,7 @@ export default class DevServer extends Server {
page: string
appPaths: string[] | null
}) {
return this.hotReloader!.ensurePage({ page, appPaths, clientOnly: false })
return this.hotReloader?.ensurePage({ page, appPaths, clientOnly: false })
}
generateRoutes() {
@ -1553,7 +1554,7 @@ export default class DevServer extends Server {
}
try {
if (shouldEnsure || this.renderOpts.customServer) {
await this.hotReloader!.ensurePage({
await this.hotReloader?.ensurePage({
page: pathname,
appPaths,
clientOnly: false,
@ -1588,10 +1589,10 @@ export default class DevServer extends Server {
}
protected async getFallbackErrorComponents(): Promise<LoadComponentsReturnType | null> {
await this.hotReloader!.buildFallbackError()
await this.hotReloader?.buildFallbackError()
// Build the error page to ensure the fallback is built too.
// TODO: See if this can be moved into hotReloader or removed.
await this.hotReloader!.ensurePage({ page: '/_error', clientOnly: false })
await this.hotReloader?.ensurePage({ page: '/_error', clientOnly: false })
return await loadDefaultErrorComponents(this.distDir)
}
@ -1618,7 +1619,7 @@ export default class DevServer extends Server {
}
async getCompilationError(page: string): Promise<any> {
const errors = await this.hotReloader!.getCompilationErrors(page)
const errors = (await this.hotReloader?.getCompilationErrors(page)) || []
if (errors.length === 0) return
// Return the very first error we found.

View file

@ -1,5 +1,4 @@
import type { IncomingMessage, ServerResponse } from 'http'
import type { UnwrapPromise } from '../../lib/coalesced-function'
import type { NextConfig } from '../config'
import type { Route } from '../router'
@ -31,52 +30,49 @@ export async function makeResolver(dir: string, nextConfig: NextConfig) {
const devServer = new DevServer({
dir,
conf: nextConfig,
}) as any as {
customRoutes: UnwrapPromise<ReturnType<typeof loadCustomRoutes>>
router: InstanceType<typeof Router>
generateRoutes: any
}
})
await devServer.startWatcher.bind(devServer)()
// @ts-expect-error
devServer.customRoutes = await loadCustomRoutes(nextConfig)
const routeResults = new WeakMap<any, string>()
const routes = devServer.generateRoutes.bind(devServer)()
devServer.router = new Router(routes)
const routeResults = new Map<string, string>()
// @ts-expect-error internal field
devServer.router.catchAllRoute = {
match: getPathMatch('/:path*'),
name: 'catchall route',
fn: async (req, _res, _params, parsedUrl) => {
// clean up internal query values
for (const key of Object.keys(parsedUrl.query || {})) {
if (key.startsWith('_next')) {
delete parsedUrl.query[key]
const router = new Router({
...routes,
catchAllRoute: {
match: getPathMatch('/:path*'),
name: 'catchall route',
fn: async (req, _res, _params, parsedUrl) => {
// clean up internal query values
for (const key of Object.keys(parsedUrl.query || {})) {
if (key.startsWith('_next')) {
delete parsedUrl.query[key]
}
}
}
routeResults.set(
(req as any)._initUrl,
url.format({
pathname: parsedUrl.pathname,
query: parsedUrl.query,
hash: parsedUrl.hash,
})
)
return { finished: true }
},
} as Route
routeResults.set(
req,
url.format({
pathname: parsedUrl.pathname,
query: parsedUrl.query,
hash: parsedUrl.hash,
})
)
return { finished: true }
},
} as Route,
})
// @ts-expect-error internal field
devServer.router.compiledRoutes = devServer.router.compiledRoutes.filter(
(route: Route) => {
return (
route.type === 'rewrite' ||
route.type === 'redirect' ||
route.type === 'header' ||
route.name === 'catchall route' ||
route.name?.includes('check')
)
}
)
router.compiledRoutes = router.compiledRoutes.filter((route: Route) => {
const matches =
route.type === 'rewrite' ||
route.type === 'redirect' ||
route.type === 'header' ||
route.name === 'catchall route' ||
route.name?.includes('check')
return matches
})
return async function resolveRoute(
_req: IncomingMessage,
@ -86,15 +82,12 @@ export async function makeResolver(dir: string, nextConfig: NextConfig) {
const res = new NodeNextResponse(_res)
;(req as any)._initUrl = req.url
await devServer.router.execute.bind(devServer.router)(
req,
res,
url.parse(req.url!, true)
)
await router.execute.bind(router)(req, res, url.parse(req.url!, true))
if (!res.originalResponse.headersSent) {
res.setHeader('x-nextjs-route-result', '1')
const resolvedUrl = routeResults.get((req as any)._initUrl)
const resolvedUrl = routeResults.get(req)
routeResults.delete(req)
const routeResult: RouteResult =
resolvedUrl == null