@@ -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' ;
@@ -165,14 +166,14 @@ export const generateCode = async (
165166 config . server . ssrByEntries ,
166167 packageName ,
167168 ) ;
168- const useSSG = isSSGEntry ( config , entryName , entrypoints ) ;
169169
170- let mode : SSRMode | undefined ;
171- if ( ssr ) {
172- mode = typeof ssr === 'object' ? ssr . mode || 'string' : 'string' ;
173- }
170+ const ssrMode = resolveSSRMode ( {
171+ entry : entrypoint . entryName ,
172+ config,
173+ appDirectory : appContext . appDirectory ,
174+ } ) ;
174175
175- if ( mode === 'stream' ) {
176+ if ( ssrMode === 'stream' ) {
176177 const hasPageRoute = routes . some (
177178 route => 'type' in route && route . type === 'page' ,
178179 ) ;
@@ -189,7 +190,7 @@ export const generateCode = async (
189190 code : await templates . fileSystemRoutes ( {
190191 metaName,
191192 routes : routes ,
192- ssrMode : useSSG ? 'string' : isUseRsc ( config ) ? 'stream' : mode ,
193+ ssrMode : isUseRsc ( config ) ? 'stream' : ssrMode ,
193194 nestedRoutesEntry : entrypoint . nestedRoutesEntry ,
194195 entryName : entrypoint . entryName ,
195196 internalDirectory,
@@ -225,7 +226,7 @@ export const generateCode = async (
225226 const serverRoutesCode = await templates . fileSystemRoutes ( {
226227 metaName,
227228 routes : filtedRoutesForServer ,
228- ssrMode : useSSG ? 'string' : mode ,
229+ ssrMode,
229230 nestedRoutesEntry : entrypoint . nestedRoutesEntry ,
230231 entryName : entrypoint . entryName ,
231232 internalDirectory,
0 commit comments