@@ -60,11 +60,12 @@ pub fn remove_compile_assets(package: &packages::Package, source_file: &Path) {
60
60
}
61
61
}
62
62
63
- fn clean_source_files ( build_state : & BuildState , root_package : & Package , suffix : & str , clean_dev_deps : bool ) {
64
- let packages_to_clean = build_state
65
- . project_context
66
- . get_scoped_local_packages ( clean_dev_deps) ;
67
-
63
+ fn clean_source_files (
64
+ build_state : & BuildState ,
65
+ root_package : & Package ,
66
+ suffix : & str ,
67
+ packages_to_clean : & AHashSet < String > ,
68
+ ) {
68
69
// get all rescript file locations
69
70
let rescript_file_locations = build_state
70
71
. modules
@@ -369,30 +370,10 @@ pub fn clean(path: &Path, show_progress: bool, snapshot_output: bool, clean_dev_
369
370
let _ = std:: io:: stdout ( ) . flush ( ) ;
370
371
} ;
371
372
372
- match & project_context {
373
- ProjectContext :: SingleProject { config, .. } => {
374
- find_and_clean_package ( & packages, & config. name , show_progress, snapshot_output) ?;
375
- }
376
- ProjectContext :: MonorepoRoot {
377
- config,
378
- local_dependencies,
379
- ..
380
- } => {
381
- find_and_clean_package ( & packages, & config. name , show_progress, snapshot_output) ?;
382
- // TODO: this does the local dependencies and dev-dependencies.
383
- // I guess the dev deps should be cleaned if flag is set?
384
- for dep in local_dependencies {
385
- find_and_clean_package ( & packages, dep, show_progress, snapshot_output) ?;
386
- }
387
- }
388
- ProjectContext :: MonorepoPackage { config, .. } => {
389
- // We know we are in a monorepo, but we only clean the package that is being targeted.
390
- let package = packages
391
- . get ( & config. name )
392
- . expect ( "Could not find package during clean" ) ;
393
- clean_package ( show_progress, snapshot_output, package) ;
394
- }
395
- } ;
373
+ let packages_to_clean = project_context. get_scoped_local_packages ( clean_dev_deps) ;
374
+ for package in & packages_to_clean {
375
+ find_and_clean_package ( & packages, package, show_progress, snapshot_output) ?;
376
+ }
396
377
397
378
let timing_clean_compiler_assets_elapsed = timing_clean_compiler_assets. elapsed ( ) ;
398
379
@@ -423,7 +404,7 @@ pub fn clean(path: &Path, show_progress: bool, snapshot_output: bool, clean_dev_
423
404
let _ = std:: io:: stdout ( ) . flush ( ) ;
424
405
}
425
406
426
- clean_source_files ( & build_state, root_package, & suffix, clean_dev_deps ) ;
407
+ clean_source_files ( & build_state, root_package, & suffix, & packages_to_clean ) ;
427
408
let timing_clean_mjs_elapsed = timing_clean_mjs. elapsed ( ) ;
428
409
429
410
if !snapshot_output && show_progress {
0 commit comments