@@ -36,7 +36,8 @@ async function prerender({ out, manifest_path, metadata, verbose, env }) {
3636
3737 // configure `import { building } from '$app/environment'` —
3838 // essential we do this before analysing the code
39- internal . set_building ( true ) ;
39+ internal . set_building ( ) ;
40+ internal . set_prerendering ( ) ;
4041
4142 /**
4243 * @template {{message: string}} T
@@ -98,9 +99,6 @@ async function prerender({ out, manifest_path, metadata, verbose, env }) {
9899 /** @type {Map<string, string> } */
99100 const saved = new Map ( ) ;
100101
101- const server = new Server ( manifest ) ;
102- await server . init ( { env } ) ;
103-
104102 const handle_http_error = normalise_error_handler (
105103 log ,
106104 config . prerender . handleHttpError ,
@@ -413,16 +411,27 @@ async function prerender({ out, manifest_path, metadata, verbose, env }) {
413411 }
414412 }
415413
414+ let has_prerenderable_routes = false ;
415+
416+ for ( const value of prerender_map . values ( ) ) {
417+ if ( value ) {
418+ has_prerenderable_routes = true ;
419+ break ;
420+ }
421+ }
422+
416423 if (
417- config . prerender . entries . length > 1 ||
418- config . prerender . entries [ 0 ] !== '*' ||
419- route_level_entries . length > 0 ||
420- prerender_map . size > 0
424+ ( config . prerender . entries . length === 0 && route_level_entries . length === 0 ) ||
425+ ! has_prerenderable_routes
421426 ) {
422- // Only log if we're actually going to do something to not confuse users
423- log . info ( 'Prerendering' ) ;
427+ return { prerendered, prerender_map } ;
424428 }
425429
430+ log . info ( 'Prerendering' ) ;
431+
432+ const server = new Server ( manifest ) ;
433+ await server . init ( { env } ) ;
434+
426435 for ( const entry of config . prerender . entries ) {
427436 if ( entry === '*' ) {
428437 for ( const [ id , prerender ] of prerender_map ) {
0 commit comments