@@ -96,6 +96,11 @@ pub enum Commands {
9696 /// Arguments to pass to vite install
9797 args : Vec < String > ,
9898 } ,
99+ Dev {
100+ #[ clap( last = true ) ]
101+ /// Arguments to pass to vite dev
102+ args : Vec < String > ,
103+ } ,
99104 /// Manage the task cache
100105 Cache {
101106 #[ clap( subcommand) ]
@@ -334,6 +339,15 @@ pub async fn main<
334339 let exit_status = install:: InstallCommand :: builder ( cwd) . build ( ) . execute ( args) . await ?;
335340 return Ok ( exit_status) ;
336341 }
342+ Some ( Commands :: Dev { args } ) => {
343+ let mut workspace = Workspace :: partial_load ( cwd) ?;
344+ if let Some ( vite_fn) = options. map ( |o| o. vite ) {
345+ let exit_status = vite:: create_vite ( "dev" , vite_fn, & mut workspace, args) . await ?;
346+ workspace. unload ( ) . await ?;
347+ return Ok ( exit_status) ;
348+ }
349+ return Ok ( None ) ;
350+ }
337351 Some ( Commands :: Cache { subcmd } ) => {
338352 let cache_path = Workspace :: get_cache_path ( & cwd) ?;
339353 match subcmd {
@@ -472,8 +486,8 @@ mod tests {
472486 fn test_args_with_task_args ( ) {
473487 // Now "test" is a dedicated command, so let's use a different task name for implicit mode
474488 let args =
475- Args :: try_parse_from ( & [ "vite-plus" , "dev " , "--" , "--watch" , "--verbose" ] ) . unwrap ( ) ;
476- assert_eq ! ( args. task, Some ( "dev " . into( ) ) ) ;
489+ Args :: try_parse_from ( & [ "vite-plus" , "develop " , "--" , "--watch" , "--verbose" ] ) . unwrap ( ) ;
490+ assert_eq ! ( args. task, Some ( "develop " . into( ) ) ) ;
477491 assert_eq ! ( args. task_args, vec![ "--watch" , "--verbose" ] ) ;
478492 assert ! ( args. commands. is_none( ) ) ;
479493 assert ! ( !args. debug) ;
0 commit comments