@@ -99,7 +99,9 @@ export function defineConfig(baseConfig = {}) {
9999
100100 const routeDir = join ( start . appRoot , start . routeDir ) ;
101101 let server = start . server ;
102- if ( ! start . ssr ) {
102+ // Data-only mode runs each page's preloads per request, so it can't use a
103+ // prerendered shell.
104+ if ( start . ssr === false ) {
103105 server = { ...server , prerender : { routes : [ "/" ] } } ;
104106 }
105107 let entryExtension = ".tsx" ;
@@ -131,7 +133,7 @@ export function defineConfig(baseConfig = {}) {
131133 } ,
132134 handler : `${ start . appRoot } /entry-server${ entryExtension } ` ,
133135 middleware : start . middleware ,
134- routes : solidStartServerFsRouter ( { dir : routeDir , extensions, dataOnly : ! start . ssr } ) ,
136+ routes : solidStartServerFsRouter ( { dir : routeDir , extensions, dataOnly : start . ssr !== true } ) ,
135137 extensions,
136138 target : "server" ,
137139 plugins : async ( ) => {
@@ -160,7 +162,7 @@ export function defineConfig(baseConfig = {}) {
160162 alias : {
161163 "#start/app" : join ( process . cwd ( ) , start . appRoot , `app${ entryExtension } ` ) ,
162164 "~" : join ( process . cwd ( ) , start . appRoot ) ,
163- ...( ! start . ssr
165+ ...( start . ssr !== true
164166 ? {
165167 "@solidjs/start/server" : "@solidjs/start/server/spa"
166168 }
@@ -175,7 +177,8 @@ export function defineConfig(baseConfig = {}) {
175177 ) ,
176178 "import.meta.env.START_ISLANDS" : JSON . stringify ( start . experimental . islands ) ,
177179 "import.meta.env.SSR" : JSON . stringify ( true ) ,
178- "import.meta.env.START_SSR" : JSON . stringify ( start . ssr ) ,
180+ "import.meta.env.START_SSR" : JSON . stringify ( start . ssr === true ) ,
181+ "import.meta.env.START_SSR_DATA" : JSON . stringify ( start . ssr === "data-only" ) ,
179182 "import.meta.env.START_DEV_OVERLAY" : JSON . stringify ( start . devOverlay ) ,
180183 "import.meta.env.START_EARLY_HINTS" : JSON . stringify ( start . earlyHints ) ,
181184 "import.meta.env.START_RELOAD_ON_ROUTE_CHUNK_ERROR" : JSON . stringify (
@@ -220,7 +223,7 @@ export function defineConfig(baseConfig = {}) {
220223 ...plugins ,
221224 SolidStartServerFnsPlugin . client ,
222225 start . experimental . islands ? serverComponents . client ( ) : null ,
223- solid ( { ...start . solid , ssr : start . ssr , extensions : extensions . map ( ext => `.${ ext } ` ) } ) ,
226+ solid ( { ...start . solid , ssr : start . ssr === true , extensions : extensions . map ( ext => `.${ ext } ` ) } ) ,
224227 config ( "app-client" , {
225228 resolve : {
226229 alias : {
@@ -231,7 +234,7 @@ export function defineConfig(baseConfig = {}) {
231234 "@solidjs/start/client" : "@solidjs/start/client/islands"
232235 }
233236 : { } ) ,
234- ...( ! start . ssr
237+ ...( start . ssr !== true
235238 ? {
236239 "@solidjs/start/client" : "@solidjs/start/client/spa"
237240 }
@@ -246,7 +249,8 @@ export function defineConfig(baseConfig = {}) {
246249 ) ,
247250 "import.meta.env.START_ISLANDS" : JSON . stringify ( start . experimental . islands ) ,
248251 "import.meta.env.SSR" : JSON . stringify ( false ) ,
249- "import.meta.env.START_SSR" : JSON . stringify ( start . ssr ) ,
252+ "import.meta.env.START_SSR" : JSON . stringify ( start . ssr === true ) ,
253+ "import.meta.env.START_SSR_DATA" : JSON . stringify ( start . ssr === "data-only" ) ,
250254 "import.meta.env.START_DEV_OVERLAY" : JSON . stringify ( start . devOverlay ) ,
251255 "import.meta.env.START_EARLY_HINTS" : JSON . stringify ( start . earlyHints ) ,
252256 "import.meta.env.START_RELOAD_ON_ROUTE_CHUNK_ERROR" : JSON . stringify (
@@ -269,7 +273,7 @@ export function defineConfig(baseConfig = {}) {
269273 ) ,
270274 middleware : start . middleware ,
271275 target : "server" ,
272- routes : solidStartServerFsRouter ( { dir : routeDir , extensions, dataOnly : ! start . ssr } ) ,
276+ routes : solidStartServerFsRouter ( { dir : routeDir , extensions, dataOnly : start . ssr !== true } ) ,
273277 plugins : async ( ) => {
274278 const userConfig =
275279 typeof vite === "function" ? await vite ( { router : "server-function" } ) : { ...vite } ;
@@ -297,7 +301,7 @@ export function defineConfig(baseConfig = {}) {
297301 alias : {
298302 "#start/app" : join ( process . cwd ( ) , start . appRoot , `app${ entryExtension } ` ) ,
299303 "~" : join ( process . cwd ( ) , start . appRoot ) ,
300- ...( ! start . ssr
304+ ...( start . ssr !== true
301305 ? {
302306 "@solidjs/start/server" : "@solidjs/start/server/spa"
303307 }
@@ -311,7 +315,8 @@ export function defineConfig(baseConfig = {}) {
311315 ) ,
312316 "import.meta.env.START_ISLANDS" : JSON . stringify ( start . experimental . islands ) ,
313317 "import.meta.env.SSR" : JSON . stringify ( true ) ,
314- "import.meta.env.START_SSR" : JSON . stringify ( start . ssr ) ,
318+ "import.meta.env.START_SSR" : JSON . stringify ( start . ssr === true ) ,
319+ "import.meta.env.START_SSR_DATA" : JSON . stringify ( start . ssr === "data-only" ) ,
315320 "import.meta.env.START_DEV_OVERLAY" : JSON . stringify ( start . devOverlay ) ,
316321 "import.meta.env.START_EARLY_HINTS" : JSON . stringify ( start . earlyHints ) ,
317322 "import.meta.env.START_RELOAD_ON_ROUTE_CHUNK_ERROR" : JSON . stringify (
0 commit comments