diff --git a/packages/next/build/entries.ts b/packages/next/build/entries.ts index 0ddfc9c177874..0b643d95e338c 100644 --- a/packages/next/build/entries.ts +++ b/packages/next/build/entries.ts @@ -327,6 +327,7 @@ export async function createEntrypoints(params: CreateEntrypointsParams) { } const isServerComponent = serverComponentRegex.test(absolutePagePath) + const isInsideAppDir = appDir && absolutePagePath.startsWith(appDir) const staticInfo = await getPageStaticInfo({ nextConfig: config, @@ -339,7 +340,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 d5999f2bbcf98..99ff8de550503 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 51aff69e57f65..7106cb31f2350 100644 --- a/packages/next/server/dev/on-demand-entry-handler.ts +++ b/packages/next/server/dev/on-demand-entry-handler.ts @@ -206,6 +206,8 @@ export function onDemandEntryHandler({ const isServerComponent = serverComponentRegex.test( pagePathData.absolutePagePath ) + const isInsideAppDir = + appDir && pagePathData.absolutePagePath.startsWith(appDir) const pageKey = `${type}${pagePathData.page}` @@ -217,7 +219,7 @@ export function onDemandEntryHandler({ return } } else { - if (type === 'client' && isServerComponent) { + if (type === 'client' && (isServerComponent || isInsideAppDir)) { // Skip adding the client entry here. } else { entryAdded = true