@@ -429,46 +429,53 @@ interface BuildManifest {
429
429
prerenderedRoutes ?: string [ ] ;
430
430
}
431
431
432
- export async function logMessages (
433
- logger : logging . LoggerApi ,
434
- executionResult : ExecutionResult ,
435
- options : NormalizedApplicationBuildOptions ,
436
- ) : Promise < void > {
432
+ export async function createJsonBuildManifest (
433
+ result : ExecutionResult ,
434
+ normalizedOptions : NormalizedApplicationBuildOptions ,
435
+ ) : Promise < string > {
437
436
const {
437
+ colors : color ,
438
438
outputOptions : { base, server, browser } ,
439
439
ssrOptions,
440
- jsonLogs,
441
- colors : color ,
442
- } = options ;
443
- const { warnings, errors, prerenderedRoutes } = executionResult ;
444
- const warningMessages = warnings . length
445
- ? await formatMessages ( warnings , { kind : 'warning' , color } )
446
- : [ ] ;
447
- const errorMessages = errors . length ? await formatMessages ( errors , { kind : 'error' , color } ) : [ ] ;
440
+ } = normalizedOptions ;
448
441
449
- if ( jsonLogs ) {
450
- // JSON format output
451
- const manifest : BuildManifest = {
452
- errors : errorMessages ,
453
- warnings : warningMessages ,
454
- outputPaths : {
455
- root : pathToFileURL ( base ) ,
456
- browser : pathToFileURL ( join ( base , browser ) ) ,
457
- server : ssrOptions ? pathToFileURL ( join ( base , server ) ) : undefined ,
458
- } ,
459
- prerenderedRoutes,
460
- } ;
442
+ const { warnings, errors, prerenderedRoutes } = result ;
443
+
444
+ const manifest : BuildManifest = {
445
+ errors : errors . length ? await formatMessages ( errors , { kind : 'error' , color } ) : [ ] ,
446
+ warnings : warnings . length ? await formatMessages ( warnings , { kind : 'warning' , color } ) : [ ] ,
447
+ outputPaths : {
448
+ root : pathToFileURL ( base ) ,
449
+ browser : pathToFileURL ( join ( base , browser ) ) ,
450
+ server : ssrOptions ? pathToFileURL ( join ( base , server ) ) : undefined ,
451
+ } ,
452
+ prerenderedRoutes,
453
+ } ;
454
+
455
+ return JSON . stringify ( manifest , undefined , 2 ) ;
456
+ }
457
+
458
+ export async function logMessages (
459
+ logger : logging . LoggerApi ,
460
+ executionResult : ExecutionResult ,
461
+ color ?: boolean ,
462
+ jsonLogs ?: boolean ,
463
+ ) : Promise < void > {
464
+ const { warnings, errors, logs } = executionResult ;
461
465
462
- logger . info ( JSON . stringify ( manifest , undefined , 2 ) ) ;
466
+ if ( logs . length ) {
467
+ logger . info ( logs . join ( '\n' ) ) ;
468
+ }
463
469
470
+ if ( jsonLogs ) {
464
471
return ;
465
472
}
466
473
467
- if ( warningMessages . length ) {
468
- logger . warn ( warningMessages . join ( '\n' ) ) ;
474
+ if ( warnings . length ) {
475
+ logger . warn ( ( await formatMessages ( warnings , { kind : 'warning' , color } ) ) . join ( '\n' ) ) ;
469
476
}
470
477
471
- if ( errorMessages . length ) {
472
- logger . error ( errorMessages . join ( '\n' ) ) ;
478
+ if ( errors . length ) {
479
+ logger . error ( ( await formatMessages ( errors , { kind : 'error' , color } ) ) . join ( '\n' ) ) ;
473
480
}
474
481
}
0 commit comments