From bd14e54a48abc61cfabe1eb43f81f8b08ed4339c Mon Sep 17 00:00:00 2001 From: Shu Ding Date: Wed, 8 Jun 2022 18:28:13 +0200 Subject: [PATCH] fix client entry unexpectedly created --- packages/next/build/entries.ts | 3 ++- packages/next/server/dev/hot-reloader.ts | 4 +++- packages/next/server/dev/on-demand-entry-handler.ts | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/next/build/entries.ts b/packages/next/build/entries.ts index 3173c6c6733ad..05fbb89d94af2 100644 --- a/packages/next/build/entries.ts +++ b/packages/next/build/entries.ts @@ -325,6 +325,7 @@ export async function createEntrypoints(params: CreateEntrypointsParams) { } const isServerComponent = serverComponentRegex.test(absolutePagePath) + const isInsideAppDir = appDir && absolutePagePath.startsWith(appDir) const staticInfo = await getPageStaticInfo({ nextConfig: config, @@ -337,7 +338,7 @@ export async function createEntrypoints(params: CreateEntrypointsParams) { page, pageRuntime: staticInfo.runtime, onClient: () => { - if (isServerComponent) { + if (isServerComponent || isInsideAppDir) { // We skip the initial entries for server component pages and let the // server compiler inject them instead. } else { diff --git a/packages/next/server/dev/hot-reloader.ts b/packages/next/server/dev/hot-reloader.ts index 336b751bbc763..a52a7c71f14b4 100644 --- a/packages/next/server/dev/hot-reloader.ts +++ b/packages/next/server/dev/hot-reloader.ts @@ -563,6 +563,8 @@ export default class HotReloader { const isServerComponent = serverComponentRegex.test(absolutePagePath) + const isInsideAppDir = + this.appDir && absolutePagePath.startsWith(this.appDir) const staticInfo = await getPageStaticInfo({ pageFilePath: absolutePagePath, @@ -593,7 +595,7 @@ export default class HotReloader { }, onClient: () => { if (!isClientCompilation) return - if (isServerComponent) { + if (isServerComponent || isInsideAppDir) { entries[pageKey].status = BUILDING entrypoints[bundlePath] = finalizeEntrypoint({ name: bundlePath, diff --git a/packages/next/server/dev/on-demand-entry-handler.ts b/packages/next/server/dev/on-demand-entry-handler.ts index 4061b88d38daf..740ce6faf7d14 100644 --- a/packages/next/server/dev/on-demand-entry-handler.ts +++ b/packages/next/server/dev/on-demand-entry-handler.ts @@ -205,6 +205,8 @@ export function onDemandEntryHandler({ const isServerComponent = serverComponentRegex.test( pagePathData.absolutePagePath ) + const isInsideAppDir = + appDir && pagePathData.absolutePagePath.startsWith(appDir) const pageKey = `${type}${pagePathData.page}` @@ -216,7 +218,7 @@ export function onDemandEntryHandler({ return } } else { - if (type === 'client' && isServerComponent) { + if (type === 'client' && (isServerComponent || isInsideAppDir)) { // Skip adding the client entry here. } else { entryAdded = true