@@ -36,7 +36,8 @@ async function prerender({ out, manifest_path, metadata, verbose, env }) {
36
36
37
37
// configure `import { building } from '$app/environment'` —
38
38
// essential we do this before analysing the code
39
- internal . set_building ( true ) ;
39
+ internal . set_building ( ) ;
40
+ internal . set_prerendering ( ) ;
40
41
41
42
/**
42
43
* @template {{message: string}} T
@@ -98,9 +99,6 @@ async function prerender({ out, manifest_path, metadata, verbose, env }) {
98
99
/** @type {Map<string, string> } */
99
100
const saved = new Map ( ) ;
100
101
101
- const server = new Server ( manifest ) ;
102
- await server . init ( { env } ) ;
103
-
104
102
const handle_http_error = normalise_error_handler (
105
103
log ,
106
104
config . prerender . handleHttpError ,
@@ -413,16 +411,27 @@ async function prerender({ out, manifest_path, metadata, verbose, env }) {
413
411
}
414
412
}
415
413
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
+
416
423
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
421
426
) {
422
- // Only log if we're actually going to do something to not confuse users
423
- log . info ( 'Prerendering' ) ;
427
+ return { prerendered, prerender_map } ;
424
428
}
425
429
430
+ log . info ( 'Prerendering' ) ;
431
+
432
+ const server = new Server ( manifest ) ;
433
+ await server . init ( { env } ) ;
434
+
426
435
for ( const entry of config . prerender . entries ) {
427
436
if ( entry === '*' ) {
428
437
for ( const [ id , prerender ] of prerender_map ) {
0 commit comments