@@ -137,12 +137,8 @@ export default abstract class ThemeCommand extends Command {
137137 * @param flagsWithoutDefaults - Flags provided via the CLI
138138 * @returns The map of environments
139139 */
140- private async loadEnvironments (
141- environments : EnvironmentName [ ] ,
142- flags : FlagValues ,
143- flagsWithoutDefaults : FlagValues ,
144- ) : Promise < Map < EnvironmentName , FlagValues > > {
145- const environmentMap = new Map < EnvironmentName , FlagValues > ( )
140+ private async loadEnvironments ( environments : EnvironmentName [ ] , flags : FlagValues , flagsWithoutDefaults : FlagValues ) {
141+ const environmentMap = new Map < EnvironmentName , { flags : FlagValues ; validationFlags : FlagValues } > ( )
146142
147143 for ( const environmentName of environments ) {
148144 // eslint-disable-next-line no-await-in-loop
@@ -157,10 +153,13 @@ export default abstract class ThemeCommand extends Command {
157153 }
158154
159155 environmentMap . set ( environmentName , {
160- ...flags ,
161- ...environmentFlags ,
162- ...flagsWithoutDefaults ,
163- environment : [ environmentName ] ,
156+ flags : {
157+ ...flags ,
158+ ...environmentFlags ,
159+ ...flagsWithoutDefaults ,
160+ environment : [ environmentName ] ,
161+ } ,
162+ validationFlags : { ...environmentFlags , ...flagsWithoutDefaults } as FlagValues ,
164163 } )
165164 }
166165
@@ -175,21 +174,21 @@ export default abstract class ThemeCommand extends Command {
175174 * @returns An object containing valid and invalid environment arrays
176175 */
177176 private async validateEnvironments (
178- environmentMap : Map < EnvironmentName , FlagValues > ,
177+ environmentMap : Map < EnvironmentName , { flags : FlagValues ; validationFlags : FlagValues } > ,
179178 requiredFlags : Exclude < RequiredFlags , null > ,
180179 requiresAuth : boolean ,
181180 ) {
182181 const valid : ValidEnvironment [ ] = [ ]
183182 const invalid : { environment : EnvironmentName ; reason : string } [ ] = [ ]
184183
185- for ( const [ environmentName , environmentFlags ] of environmentMap ) {
186- const validationResult = this . validConfig ( environmentFlags , requiredFlags , environmentName )
184+ for ( const [ environmentName , { flags , validationFlags } ] of environmentMap ) {
185+ const validationResult = this . validConfig ( validationFlags , requiredFlags , environmentName )
187186 if ( validationResult !== true ) {
188187 const missingFlagsText = validationResult . join ( ', ' )
189188 invalid . push ( { environment : environmentName , reason : `Missing flags: ${ missingFlagsText } ` } )
190189 continue
191190 }
192- valid . push ( { environment : environmentName , flags : environmentFlags , requiresAuth} )
191+ valid . push ( { environment : environmentName , flags, requiresAuth} )
193192 }
194193
195194 return { valid, invalid}
0 commit comments