11const { options } = require ( 'colorette' ) ;
22const GroupHelper = require ( './utils/GroupHelper' ) ;
33const handleConfigResolution = require ( './groups/ConfigGroup' ) ;
4+ const resolveMode = require ( './groups/resolveMode' ) ;
45const { Compiler } = require ( './utils/Compiler' ) ;
56const { groups, core } = require ( './utils/cli-flags' ) ;
67const webpackMerge = require ( 'webpack-merge' ) ;
@@ -76,6 +77,12 @@ class WebpackCLI extends GroupHelper {
7677 this . _mergeOptionsToOutputConfiguration ( resolvedConfig . outputOptions ) ;
7778 }
7879
80+ async _baseResolver ( cb , parsedArgs ) {
81+ const resolvedConfig = cb ( parsedArgs ) ;
82+ this . _mergeOptionsToConfiguration ( resolvedConfig . options ) ;
83+ this . _mergeOptionsToOutputConfiguration ( resolvedConfig . outputOptions ) ;
84+ }
85+
7986 /**
8087 * Expose commander argParser
8188 * @param {...any } args args for argParser
@@ -97,11 +104,6 @@ class WebpackCLI extends GroupHelper {
97104 resolveGroups ( ) {
98105 for ( const [ key , value ] of this . groupMap . entries ( ) ) {
99106 switch ( key ) {
100- case groups . ZERO_CONFIG_GROUP : {
101- const ZeroConfigGroup = require ( './groups/ZeroConfigGroup' ) ;
102- this . zeroConfigGroup = new ZeroConfigGroup ( value ) ;
103- break ;
104- }
105107 case groups . BASIC_GROUP : {
106108 const BasicGroup = require ( './groups/BasicGroup' ) ;
107109 this . basicGroup = new BasicGroup ( value ) ;
@@ -227,7 +229,7 @@ class WebpackCLI extends GroupHelper {
227229 */
228230 async runOptionGroups ( parsedArgs ) {
229231 await Promise . resolve ( )
230- . then ( ( ) => this . _handleGroupHelper ( this . zeroConfigGroup ) )
232+ . then ( ( ) => this . _baseResolver ( resolveMode , parsedArgs ) )
231233 . then ( ( ) => this . _handleDefaultEntry ( ) )
232234 . then ( ( ) => this . _handleConfig ( parsedArgs ) )
233235 . then ( ( ) => this . _handleGroupHelper ( this . outputGroup ) )
0 commit comments