@@ -15,6 +15,24 @@ export type CoreConfigMiddlewareOptions = GeneralCliOptions &
1515 CoreConfigCliOptions &
1616 FilterOptions ;
1717
18+ function buildPersistConfig (
19+ cliPersist : CoreConfigCliOptions [ 'persist' ] ,
20+ rcPersist : CoreConfig [ 'persist' ] ,
21+ ) : Required < CoreConfig [ 'persist' ] > {
22+ return {
23+ outputDir :
24+ cliPersist ?. outputDir ??
25+ rcPersist ?. outputDir ??
26+ DEFAULT_PERSIST_OUTPUT_DIR ,
27+ filename :
28+ cliPersist ?. filename ?? rcPersist ?. filename ?? DEFAULT_PERSIST_FILENAME ,
29+ format : normalizeFormats (
30+ cliPersist ?. format ?? rcPersist ?. format ?? DEFAULT_PERSIST_FORMAT ,
31+ ) ,
32+ skipReports : cliPersist ?. skipReports ?? rcPersist ?. skipReports ?? false ,
33+ } ;
34+ }
35+
1836export async function coreConfigMiddleware <
1937 T extends CoreConfigMiddlewareOptions ,
2038> ( processArgs : T ) : Promise < GeneralCliOptions & CoreConfig & FilterOptions > {
@@ -43,18 +61,7 @@ export async function coreConfigMiddleware<
4361 } ) ;
4462 return {
4563 ...( config != null && { config } ) ,
46- persist : {
47- outputDir :
48- cliPersist ?. outputDir ??
49- rcPersist ?. outputDir ??
50- DEFAULT_PERSIST_OUTPUT_DIR ,
51- filename :
52- cliPersist ?. filename ?? rcPersist ?. filename ?? DEFAULT_PERSIST_FILENAME ,
53- format : normalizeFormats (
54- cliPersist ?. format ?? rcPersist ?. format ?? DEFAULT_PERSIST_FORMAT ,
55- ) ,
56- skipReports : cliPersist ?. skipReports ?? rcPersist ?. skipReports ?? false ,
57- } ,
64+ persist : buildPersistConfig ( cliPersist , rcPersist ) ,
5865 ...( upload != null && { upload } ) ,
5966 ...remainingRcConfig ,
6067 ...remainingCliOptions ,
0 commit comments