diff --git a/packages/next/src/build/webpack-config.ts b/packages/next/src/build/webpack-config.ts index 483b3361eb488..e5a47e5385e7e 100644 --- a/packages/next/src/build/webpack-config.ts +++ b/packages/next/src/build/webpack-config.ts @@ -1272,14 +1272,6 @@ export default async function getBaseWebpackConfig( }, ...(hasAppDir ? [ - { - layer: WEBPACK_LAYERS.appRouteHandler, - test: new RegExp( - `private-next-app-dir\\/.*\\/route\\.(${pageExtensions.join( - '|' - )})$` - ), - }, { // Make sure that AsyncLocalStorage module instance is shared between server and client // layers. @@ -1699,23 +1691,17 @@ export default async function getBaseWebpackConfig( '.shared-runtime' ) const layer = resource.contextInfo.issuerLayer - let runtime - switch (layer) { - case WEBPACK_LAYERS.appRouteHandler: - runtime = 'app-route' - break - case WEBPACK_LAYERS.serverSideRendering: - case WEBPACK_LAYERS.reactServerComponents: - case WEBPACK_LAYERS.appPagesBrowser: - case WEBPACK_LAYERS.actionBrowser: - runtime = 'app-page' - break - default: - runtime = 'pages' + if (layer === WEBPACK_LAYERS.serverSideRendering) { + runtime = 'app-page' + } else if (!layer) { + runtime = 'pages' + } else { + throw new Error( + `shared-runtime module ${moduleName} cannot be used in ${layer} layer` + ) } - resource.request = `next/dist/server/future/route-modules/${runtime}/vendored/contexts/${moduleName}` } ), diff --git a/packages/next/src/build/webpack/plugins/next-types-plugin/index.ts b/packages/next/src/build/webpack/plugins/next-types-plugin/index.ts index 64265157ef8a1..2af4364d13107 100644 --- a/packages/next/src/build/webpack/plugins/next-types-plugin/index.ts +++ b/packages/next/src/build/webpack/plugins/next-types-plugin/index.ts @@ -613,11 +613,7 @@ export class NextTypesPlugin { } return } - if ( - mod.layer !== WEBPACK_LAYERS.reactServerComponents && - mod.layer !== WEBPACK_LAYERS.appRouteHandler - ) - return + if (mod.layer !== WEBPACK_LAYERS.reactServerComponents) return const IS_LAYOUT = /[/\\]layout\.[^./\\]+$/.test(mod.resource) const IS_PAGE = !IS_LAYOUT && /[/\\]page\.[^.]+$/.test(mod.resource) diff --git a/packages/next/src/lib/constants.ts b/packages/next/src/lib/constants.ts index f8ebd11e33c13..ffce24ceb5b6d 100644 --- a/packages/next/src/lib/constants.ts +++ b/packages/next/src/lib/constants.ts @@ -115,7 +115,8 @@ const WEBPACK_LAYERS_NAMES = { */ shared: 'shared', /** - * React Server Components layer (rsc). + * The layer for server-only runtime and picking up `react-server` export conditions. + * Including app router RSC pages and app router custom routes. */ reactServerComponents: 'rsc', /** @@ -150,10 +151,6 @@ const WEBPACK_LAYERS_NAMES = { * The server bundle layer for metadata routes. */ appMetadataRoute: 'app-metadata-route', - /** - * The layer for the server bundle for App Route handlers. - */ - appRouteHandler: 'app-route-handler', } as const export type WebpackLayerName = @@ -166,7 +163,6 @@ const WEBPACK_LAYERS = { WEBPACK_LAYERS_NAMES.reactServerComponents, WEBPACK_LAYERS_NAMES.actionBrowser, WEBPACK_LAYERS_NAMES.appMetadataRoute, - WEBPACK_LAYERS_NAMES.appRouteHandler, WEBPACK_LAYERS_NAMES.instrument, ], clientOnly: [ @@ -182,7 +178,6 @@ const WEBPACK_LAYERS = { WEBPACK_LAYERS_NAMES.reactServerComponents, WEBPACK_LAYERS_NAMES.actionBrowser, WEBPACK_LAYERS_NAMES.appMetadataRoute, - WEBPACK_LAYERS_NAMES.appRouteHandler, WEBPACK_LAYERS_NAMES.serverSideRendering, WEBPACK_LAYERS_NAMES.appPagesBrowser, WEBPACK_LAYERS_NAMES.shared, diff --git a/packages/next/src/server/future/route-modules/app-page/vendored/contexts/entrypoints.ts b/packages/next/src/server/future/route-modules/app-page/vendored/contexts/entrypoints.ts index 52274993f0abc..d117df846ddad 100644 --- a/packages/next/src/server/future/route-modules/app-page/vendored/contexts/entrypoints.ts +++ b/packages/next/src/server/future/route-modules/app-page/vendored/contexts/entrypoints.ts @@ -3,8 +3,5 @@ export * as ServerInsertedHtml from '../../../../../../shared/lib/server-inserte export * as AppRouterContext from '../../../../../../shared/lib/app-router-context.shared-runtime' export * as HooksClientContext from '../../../../../../shared/lib/hooks-client-context.shared-runtime' export * as RouterContext from '../../../../../../shared/lib/router-context.shared-runtime' -export * as HtmlContext from '../../../../../../shared/lib/html-context.shared-runtime' export * as AmpContext from '../../../../../../shared/lib/amp-context.shared-runtime' -export * as LoadableContext from '../../../../../../shared/lib/loadable-context.shared-runtime' export * as ImageConfigContext from '../../../../../../shared/lib/image-config-context.shared-runtime' -export * as Loadable from '../../../../../../shared/lib/loadable.shared-runtime' diff --git a/packages/next/src/server/future/route-modules/app-page/vendored/contexts/html-context.ts b/packages/next/src/server/future/route-modules/app-page/vendored/contexts/html-context.ts deleted file mode 100644 index ae1126abb6f99..0000000000000 --- a/packages/next/src/server/future/route-modules/app-page/vendored/contexts/html-context.ts +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = require('../../module.compiled').vendored[ - 'contexts' -].HtmlContext diff --git a/packages/next/src/server/future/route-modules/app-page/vendored/contexts/loadable-context.ts b/packages/next/src/server/future/route-modules/app-page/vendored/contexts/loadable-context.ts deleted file mode 100644 index de9e07464c6fb..0000000000000 --- a/packages/next/src/server/future/route-modules/app-page/vendored/contexts/loadable-context.ts +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = require('../../module.compiled').vendored[ - 'contexts' -].LoadableContext diff --git a/packages/next/src/server/future/route-modules/app-page/vendored/contexts/loadable.ts b/packages/next/src/server/future/route-modules/app-page/vendored/contexts/loadable.ts deleted file mode 100644 index f67d05a251655..0000000000000 --- a/packages/next/src/server/future/route-modules/app-page/vendored/contexts/loadable.ts +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../module.compiled').vendored['contexts'].Loadable