Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
huozhi committed Sep 19, 2023
1 parent 2af61cf commit d6e1354
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 15 deletions.
6 changes: 6 additions & 0 deletions packages/next/src/build/utils.ts
Expand Up @@ -2130,3 +2130,9 @@ export function isWebpackDefaultLayer(
): boolean {
return layer === null || layer === undefined
}

export function isWebpackAppLayer(
layer: WebpackLayerName | null | undefined
): boolean {
return Boolean(layer && WEBPACK_LAYERS.GROUP.app.includes(layer as any))
}
23 changes: 9 additions & 14 deletions packages/next/src/build/webpack-config.ts
Expand Up @@ -19,7 +19,11 @@ import {
WEBPACK_RESOURCE_QUERIES,
WebpackLayerName,
} from '../lib/constants'
import { isWebpackDefaultLayer, isWebpackServerLayer } from './utils'
import {
isWebpackAppLayer,
isWebpackDefaultLayer,
isWebpackServerLayer,
} from './utils'
import { CustomRoutes } from '../lib/load-custom-routes.js'
import { isEdgeRuntime } from '../lib/is-edge-runtime'
import {
Expand Down Expand Up @@ -412,7 +416,7 @@ function createRSCAliases(
}

if (!opts.isEdgeServer) {
if (opts.layer === 'ssr') {
if (opts.layer === WEBPACK_LAYERS.serverSideRendering) {
alias = Object.assign(alias, {
'react/jsx-runtime$': `next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-runtime`,
'react/jsx-dev-runtime$': `next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime`,
Expand All @@ -421,7 +425,7 @@ function createRSCAliases(
'react-dom/server.edge$': `next/dist/server/future/route-modules/app-page/vendored/${opts.layer}/react-dom-server-edge`,
'react-server-dom-webpack/client.edge$': `next/dist/server/future/route-modules/app-page/vendored/${opts.layer}/react-server-dom-webpack-client-edge`,
})
} else if (opts.layer === 'rsc') {
} else if (opts.layer === WEBPACK_LAYERS.reactServerComponents) {
alias = Object.assign(alias, {
'react/jsx-runtime$': `next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-runtime`,
'react/jsx-dev-runtime$': `next/dist/server/future/route-modules/app-page/vendored/shared/react-jsx-dev-runtime`,
Expand All @@ -434,7 +438,7 @@ function createRSCAliases(
}

if (opts.isEdgeServer) {
if (opts.layer === 'rsc') {
if (opts.layer === WEBPACK_LAYERS.reactServerComponents) {
alias[
'react$'
] = `next/dist/compiled/react${bundledReactChannel}/react.shared-subset`
Expand Down Expand Up @@ -1381,16 +1385,7 @@ export default async function getBaseWebpackConfig(
return `commonjs next/dist/lib/import-next-warning`
}

const isAppLayer = (
[
WEBPACK_LAYERS.reactServerComponents,
WEBPACK_LAYERS.serverSideRendering,
WEBPACK_LAYERS.appPagesBrowser,
WEBPACK_LAYERS.actionBrowser,
WEBPACK_LAYERS.appMetadataRoute,
WEBPACK_LAYERS.appRouteHandler,
] as WebpackLayerName[]
).includes(layer!)
const isAppLayer = isWebpackAppLayer(layer)

// Relative requires don't need custom resolution, because they
// are relative to requests we've already resolved here.
Expand Down
10 changes: 9 additions & 1 deletion packages/next/src/lib/constants.ts
Expand Up @@ -107,7 +107,7 @@ const WEBPACK_LAYERS_NAMES = {
*/
reactServerComponents: 'rsc',
/**
* Server Side Rendering layer (ssr).
* Server Side Rendering layer for app (ssr).
*/
serverSideRendering: 'ssr',
/**
Expand Down Expand Up @@ -157,6 +157,14 @@ const WEBPACK_LAYERS = {
WEBPACK_LAYERS_NAMES.middleware,
WEBPACK_LAYERS_NAMES.api,
],
app: [
WEBPACK_LAYERS_NAMES.reactServerComponents,
WEBPACK_LAYERS_NAMES.actionBrowser,
WEBPACK_LAYERS_NAMES.appMetadataRoute,
WEBPACK_LAYERS_NAMES.appRouteHandler,
WEBPACK_LAYERS_NAMES.serverSideRendering,
WEBPACK_LAYERS_NAMES.appPagesBrowser,
],
},
}

Expand Down

0 comments on commit d6e1354

Please sign in to comment.