Skip to content

Commit ea2157c

Browse files
authored
[turbopack] Clear chunk cache on HMR instead of creating new next-server VM (vercel#81664)
1 parent 43b64cc commit ea2157c

File tree

2 files changed

+2
-20
lines changed

2 files changed

+2
-20
lines changed

packages/next/src/server/dev/hot-reloader-turbopack.ts

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import {
3737
} from './middleware-turbopack'
3838
import { PageNotFoundError } from '../../shared/lib/utils'
3939
import { debounce } from '../utils'
40-
import { deleteCache, deleteFromRequireCache } from './require-cache'
40+
import { deleteCache } from './require-cache'
4141
import {
4242
clearAllModuleContexts,
4343
clearModuleContext,
@@ -342,30 +342,12 @@ export async function createHotReloaderTurbopack(
342342

343343
resetFetch()
344344

345-
const hasAppPaths = writtenEndpoint.serverPaths.some(({ path: p }) =>
346-
p.startsWith('server/app')
347-
)
348-
349345
// Edge uses the browser runtime which already disposes chunks individually.
350346
// TODO: process.env.NEXT_RUNTIME is 'nodejs' even though Node.js runtime is not used.
351347
if ('__turbopack_clear_chunk_cache__' in globalThis) {
352348
;(globalThis as any).__turbopack_clear_chunk_cache__()
353349
}
354350

355-
// TODO: Stop re-evaluating React Client once it relies on Turbopack's chunk cache.
356-
if (hasAppPaths) {
357-
deleteFromRequireCache(
358-
require.resolve(
359-
'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js'
360-
)
361-
)
362-
deleteFromRequireCache(
363-
require.resolve(
364-
'next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js'
365-
)
366-
)
367-
}
368-
369351
const serverPaths = writtenEndpoint.serverPaths.map(({ path: p }) =>
370352
join(distDir, p)
371353
)

packages/next/src/server/dev/require-cache.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import isError from '../../lib/is-error'
22
import { realpathSync } from '../../lib/realpath'
33
import { clearManifestCache } from '../load-manifest.external'
44

5-
export function deleteFromRequireCache(filePath: string) {
5+
function deleteFromRequireCache(filePath: string) {
66
try {
77
filePath = realpathSync(filePath)
88
} catch (e) {

0 commit comments

Comments
 (0)