From c8b083a3da3631c36fa25a3016032467e0f5027b Mon Sep 17 00:00:00 2001 From: nojaf Date: Tue, 15 Jul 2025 17:04:26 +0200 Subject: [PATCH 1/3] Use root package suffix in clean log messages --- rewatch/src/build/clean.rs | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/rewatch/src/build/clean.rs b/rewatch/src/build/clean.rs index 4cd52a4759..cb7a7db73f 100644 --- a/rewatch/src/build/clean.rs +++ b/rewatch/src/build/clean.rs @@ -58,7 +58,7 @@ pub fn remove_compile_assets(package: &packages::Package, source_file: &Path) { } } -pub fn clean_mjs_files(build_state: &BuildState) { +fn clean_source_files(build_state: &BuildState, root_package: &packages::Package) { // get all rescript file locations let rescript_file_locations = build_state .modules @@ -66,11 +66,6 @@ pub fn clean_mjs_files(build_state: &BuildState) { .filter_map(|module| match &module.source_type { SourceType::SourceFile(source_file) => { let package = build_state.packages.get(&module.package_name).unwrap(); - let root_package = build_state - .packages - .get(&build_state.root_config_name) - .expect("Could not find root package"); - Some( root_package .config @@ -391,10 +386,6 @@ pub fn clean(path: &Path, show_progress: bool, snapshot_output: bool, build_dev_ } let timing_clean_mjs = Instant::now(); - if !snapshot_output && show_progress { - println!("{} {}Cleaning mjs files...", style("[2/2]").bold().dim(), SWEEP); - let _ = std::io::stdout().flush(); - } let mut build_state = BuildState::new( project_root.to_owned(), root_config_name, @@ -403,15 +394,33 @@ pub fn clean(path: &Path, show_progress: bool, snapshot_output: bool, build_dev_ bsc_path, ); packages::parse_packages(&mut build_state); - clean_mjs_files(&build_state); + let root_package = build_state + .packages + .get(&build_state.root_config_name) + .expect("Could not find root package"); + + let suffix = root_package.config.suffix.as_deref().unwrap_or(".res.mjs"); + + if !snapshot_output && show_progress { + println!( + "{} {}Cleaning {} files...", + style("[2/2]").bold().dim(), + SWEEP, + suffix + ); + let _ = std::io::stdout().flush(); + } + + clean_source_files(&build_state, root_package); let timing_clean_mjs_elapsed = timing_clean_mjs.elapsed(); if !snapshot_output && show_progress { println!( - "{}{} {}Cleaned mjs files in {:.2}s", + "{}{} {}Cleaned {} files in {:.2}s", LINE_CLEAR, style("[2/2]").bold().dim(), SWEEP, + suffix, timing_clean_mjs_elapsed.as_secs_f64() ); let _ = std::io::stdout().flush(); From 473f5e5e43ac9cd15e6e3fc1bdf41b134a47b952 Mon Sep 17 00:00:00 2001 From: nojaf Date: Tue, 15 Jul 2025 17:08:58 +0200 Subject: [PATCH 2/3] Mention RESCRIPT_BSC_EXE if not set. --- rewatch/src/helpers.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rewatch/src/helpers.rs b/rewatch/src/helpers.rs index acfd70f388..66632d9afb 100644 --- a/rewatch/src/helpers.rs +++ b/rewatch/src/helpers.rs @@ -196,7 +196,7 @@ pub fn get_bsc() -> PathBuf { bsc_path .canonicalize() - .expect("Could not get bsc path") + .expect("Could not get bsc path, did you set environment variable RESCRIPT_BSC_EXE ?") .to_stripped_verbatim_path() } From 135d5c05379f26566beafc2c0132b0a1bb3db811 Mon Sep 17 00:00:00 2001 From: nojaf Date: Tue, 15 Jul 2025 17:09:58 +0200 Subject: [PATCH 3/3] Add changelog entry --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61c7de848f..078b743760 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,7 +33,8 @@ #### :bug: Bug fix - Fix `typeof` parens on functions. https://github.com/rescript-lang/rescript/pull/7643 -- Add --dev flag to clean command. https://github.com/rescript-lang/rescript/pull/7622 +- Rewatch: Add --dev flag to clean command. https://github.com/rescript-lang/rescript/pull/7622 +- Rewatch: Use root package suffix in clean log messages. https://github.com/rescript-lang/rescript/pull/7648 # 12.0.0-beta.1