@@ -28,6 +28,7 @@ import {
2828} from '@modern-js/utils' ;
2929import { cloneDeep } from '@modern-js/utils/lodash' ;
3030import { ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME } from '../../../cli/constants' ;
31+ import { resolveSSRMode } from '../../../cli/ssr/mode' ;
3132import { FILE_SYSTEM_ROUTES_FILE_NAME } from '../constants' ;
3233import { walk } from './nestedRoutes' ;
3334import * as templates from './templates' ;
@@ -173,14 +174,14 @@ export const generateCode = async (
173174 config . server . ssrByEntries ,
174175 packageName ,
175176 ) ;
176- const useSSG = isSSGEntry ( config , entryName , entrypoints ) ;
177177
178- let mode : SSRMode | undefined ;
179- if ( ssr ) {
180- mode = typeof ssr === 'object' ? ssr . mode || 'string' : 'string' ;
181- }
178+ const ssrMode = resolveSSRMode ( {
179+ entry : entrypoint . entryName ,
180+ config,
181+ appDirectory : appContext . appDirectory ,
182+ } ) ;
182183
183- if ( mode === 'stream' ) {
184+ if ( ssrMode === 'stream' ) {
184185 const hasPageRoute = routes . some (
185186 route => 'type' in route && route . type === 'page' ,
186187 ) ;
@@ -197,7 +198,7 @@ export const generateCode = async (
197198 code : await templates . fileSystemRoutes ( {
198199 metaName,
199200 routes : routes ,
200- ssrMode : useSSG ? 'string' : isUseRsc ( config ) ? 'stream' : mode ,
201+ ssrMode : isUseRsc ( config ) ? 'stream' : ssrMode ,
201202 nestedRoutesEntry : entrypoint . nestedRoutesEntry ,
202203 entryName : entrypoint . entryName ,
203204 internalDirectory,
@@ -233,7 +234,7 @@ export const generateCode = async (
233234 const serverRoutesCode = await templates . fileSystemRoutes ( {
234235 metaName,
235236 routes : filtedRoutesForServer ,
236- ssrMode : useSSG ? 'string' : mode ,
237+ ssrMode,
237238 nestedRoutesEntry : entrypoint . nestedRoutesEntry ,
238239 entryName : entrypoint . entryName ,
239240 internalDirectory,
0 commit comments