From 36d0dd2906a4b639c9fd6a6fbcce145ea2df8f4e Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Mon, 29 Sep 2025 15:12:59 +0200 Subject: [PATCH 1/4] Removed "rescript legacy" subcommand in favor of separate "rescript-legacy" binary --- .github/workflows/ci.yml | 4 +- packages/playground/package.json | 2 +- .../playground/scripts/generate_cmijs.mjs | 2 +- rewatch/src/build.rs | 23 -------- rewatch/src/cli.rs | 14 ++--- rewatch/src/helpers.rs | 22 -------- rewatch/src/main.rs | 4 -- rewatch/testrepo/package.json | 4 +- rewatch/tests/legacy-utils.sh | 3 -- rewatch/tests/legacy.sh | 53 ------------------- rewatch/tests/suite-ci.sh | 2 +- scripts/res/package.json | 4 +- .../tests-generic-jsx-transform/package.json | 4 +- .../package.json | 4 +- .../tests-reanalyze/deadcode/package.json | 4 +- .../tests-reanalyze/termination/package.json | 4 +- tests/analysis_tests/tests/package.json | 4 +- tests/docstring_tests/package.json | 2 +- .../stdlib-no-shims/package.json | 2 +- .../typescript-react-example/package.json | 4 +- tests/tools_tests/package.json | 2 +- 21 files changed, 27 insertions(+), 140 deletions(-) delete mode 100644 rewatch/tests/legacy-utils.sh delete mode 100755 rewatch/tests/legacy.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8a47787030..076f13633b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -579,7 +579,7 @@ jobs: working-directory: ${{ steps.tmp-dir.outputs.path }} - name: Test installation - run: npx rescript -h && npx rescript legacy build && cat src/Test.res.js + run: npx rescript -h && npx rescript-legacy build && cat src/Test.res.js shell: bash working-directory: ${{ steps.tmp-dir.outputs.path }} @@ -634,7 +634,7 @@ jobs: working-directory: ${{ steps.tmp-dir.outputs.path }} - name: Test installation - run: pnpm rescript -h && pnpm rescript legacy build && cat src/Test.res.js + run: pnpm rescript -h && pnpm rescript-legacy build && cat src/Test.res.js shell: bash working-directory: ${{ steps.tmp-dir.outputs.path }} diff --git a/packages/playground/package.json b/packages/playground/package.json index c058463871..cfc2435812 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -5,7 +5,7 @@ "scripts": { "clean": "rescript clean", "test": "node ./playground_test.cjs", - "build": "rescript clean && rescript legacy build && node scripts/generate_cmijs.mjs && rollup -c", + "build": "rescript clean && rescript-legacy build && node scripts/generate_cmijs.mjs && rollup -c", "upload-bundle": "node scripts/upload_bundle.mjs", "serve-bundle": "node serve-bundle.mjs" }, diff --git a/packages/playground/scripts/generate_cmijs.mjs b/packages/playground/scripts/generate_cmijs.mjs index 7bd2ed4dea..034d7bb6a0 100644 --- a/packages/playground/scripts/generate_cmijs.mjs +++ b/packages/playground/scripts/generate_cmijs.mjs @@ -24,7 +24,7 @@ import { } from "./common.mjs"; exec("yarn rescript clean"); -exec("yarn rescript legacy"); +exec("yarn rescript-legacy build"); // We need to build the compiler's builtin modules as a separate cmij. // Otherwise we can't use them for compilation within the playground. diff --git a/rewatch/src/build.rs b/rewatch/src/build.rs index a8114bf124..00272c7b0f 100644 --- a/rewatch/src/build.rs +++ b/rewatch/src/build.rs @@ -22,12 +22,10 @@ use console::style; use indicatif::{ProgressBar, ProgressStyle}; use log::log_enabled; use serde::Serialize; -use std::ffi::OsString; use std::fmt; use std::fs::File; use std::io::{Write, stdout}; use std::path::{Path, PathBuf}; -use std::process::Stdio; use std::time::{Duration, Instant}; fn is_dirty(module: &Module) -> bool { @@ -593,24 +591,3 @@ pub fn build( } } } - -pub fn pass_through_legacy(mut args: Vec) -> i32 { - let project_root = helpers::get_abs_path(Path::new(".")); - let project_context = ProjectContext::new(&project_root).unwrap(); - let rescript_legacy_path = helpers::get_rescript_legacy(&project_context); - - args.insert(0, rescript_legacy_path.into()); - let status = std::process::Command::new("node") - .args(args) - .stdout(Stdio::inherit()) - .stderr(Stdio::inherit()) - .status(); - - match status { - Ok(s) => s.code().unwrap_or(0), - Err(err) => { - eprintln!("Error running the legacy build system: {err}"); - 1 - } - } -} diff --git a/rewatch/src/cli.rs b/rewatch/src/cli.rs index 2e7ca401af..a0e1ae3ee0 100644 --- a/rewatch/src/cli.rs +++ b/rewatch/src/cli.rs @@ -38,9 +38,9 @@ pub enum FileExtension { // which leaks the packaging detail into the CLI UX. #[command(name = "rescript", bin_name = "rescript")] #[command(version)] -#[command( - after_help = "Note: If no command is provided, the build command is run by default. See `rescript help build` for more information." -)] +#[command(after_help = "Notes: + - If no command is provided, the build command is run by default. See `rescript help build` for more information. + - For the legacy (pre-v12) build system, run `rescript-legacy` instead.")] pub struct Cli { /// Verbosity: /// -v -> Debug @@ -493,14 +493,6 @@ pub enum Command { #[command()] path: String, }, - /// Use the legacy build system. - /// - /// After this command is encountered, the rest of the arguments are passed to the legacy build system. - #[command(disable_help_flag = true, external_subcommand = true)] - Legacy { - #[arg(allow_hyphen_values = true, num_args = 0..)] - legacy_args: Vec, - }, } impl Deref for FolderArg { diff --git a/rewatch/src/helpers.rs b/rewatch/src/helpers.rs index 553190c488..16554c75a3 100644 --- a/rewatch/src/helpers.rs +++ b/rewatch/src/helpers.rs @@ -377,28 +377,6 @@ pub fn get_bsc() -> PathBuf { .to_stripped_verbatim_path() } -pub fn get_rescript_legacy(project_context: &ProjectContext) -> PathBuf { - let root_path = project_context.get_root_path(); - let node_modules_rescript = root_path.join("node_modules").join("rescript"); - let rescript_legacy_path = if node_modules_rescript.exists() { - node_modules_rescript - .join("cli") - .join("rescript-legacy.js") - .canonicalize() - .map(StrippedVerbatimPath::to_stripped_verbatim_path) - } else { - // If the root folder / node_modules doesn't exist, something is wrong. - // The only way this can happen is if we are inside the rescript repository. - root_path - .join("cli") - .join("rescript-legacy.js") - .canonicalize() - .map(StrippedVerbatimPath::to_stripped_verbatim_path) - }; - - rescript_legacy_path.unwrap_or_else(|_| panic!("Could not find rescript-legacy.exe")) -} - pub fn string_ends_with_any(s: &Path, suffixes: &[&str]) -> bool { suffixes .iter() diff --git a/rewatch/src/main.rs b/rewatch/src/main.rs index 382aa19c81..9ba43299b5 100644 --- a/rewatch/src/main.rs +++ b/rewatch/src/main.rs @@ -88,10 +88,6 @@ fn main() -> Result<()> { dev.dev, ) } - cli::Command::Legacy { legacy_args } => { - let code = build::pass_through_legacy(legacy_args); - std::process::exit(code); - } cli::Command::Format { stdin, check, diff --git a/rewatch/testrepo/package.json b/rewatch/testrepo/package.json index f54aef232d..e8a454a4e9 100644 --- a/rewatch/testrepo/package.json +++ b/rewatch/testrepo/package.json @@ -28,9 +28,9 @@ }, "scripts": { "build": "../target/release/rescript build .", - "build:rescript": "rescript legacy build", + "build:rescript": "rescript-legacy build", "watch": "../target/release/rescript watch .", - "watch:rescript": "rescript legacy watch", + "watch:rescript": "rescript-legacy watch", "clean": "../target/release/rescript clean .", "clean:rescript": "rescript clean" } diff --git a/rewatch/tests/legacy-utils.sh b/rewatch/tests/legacy-utils.sh deleted file mode 100644 index 3899df52c8..0000000000 --- a/rewatch/tests/legacy-utils.sh +++ /dev/null @@ -1,3 +0,0 @@ -source "utils.sh" - -rewatch_legacy() { RUST_BACKTRACE=1 "../../$REWATCH_EXECUTABLE" legacy $@; } \ No newline at end of file diff --git a/rewatch/tests/legacy.sh b/rewatch/tests/legacy.sh deleted file mode 100755 index 9badec48d5..0000000000 --- a/rewatch/tests/legacy.sh +++ /dev/null @@ -1,53 +0,0 @@ -source "./legacy-utils.sh" -cd ../testrepo/packages/compiled-by-legacy - -bold "Test: It should use the legacy build system" - -error_output=$(rewatch_legacy 2>&1 >/dev/null) -if [ $? -ne 0 ]; -then - error "Error running rewatch legacy" - echo $error_output - exit 1 -fi - -error_output=$(rewatch_legacy clean 2>&1 >/dev/null) -file_count=$(find . -name "*.res.js" | wc -l) -if [ $? -eq 0 ] && [ $file_count -eq 0 ]; -then - success "Test package cleaned" -else - error "Error cleaning test package. File count was $file_count." - echo $error_output - exit 1 -fi - -error_output=$(rewatch_legacy build 2>&1 >/dev/null) -if [ $? -eq 0 ]; -then - success "Test package built" -else - error "Error building test package" - echo $error_output - exit 1 -fi - -if git diff --exit-code ./; -then - success "Test package has no changes" -else - error "Build has changed" - exit 1 -fi - -error_output=$(rewatch_legacy format -all 2>&1 >/dev/null) -git_diff_file_count=$(git diff --name-only ./ | wc -l | xargs) -if [ $? -eq 0 ] && [ $git_diff_file_count -eq 1 ]; -then - success "Test package formatted. Got $git_diff_file_count changed files." - git restore . -else - error "Error formatting test package" - echo $error_output - exit 1 -fi \ No newline at end of file diff --git a/rewatch/tests/suite-ci.sh b/rewatch/tests/suite-ci.sh index c15a3d823d..0e6c4a9abd 100755 --- a/rewatch/tests/suite-ci.sh +++ b/rewatch/tests/suite-ci.sh @@ -44,4 +44,4 @@ else exit 1 fi -./compile.sh && ./watch.sh && ./lock.sh && ./suffix.sh && ./legacy.sh && ./format.sh && ./clean.sh && ./experimental.sh && ./experimental-invalid.sh && ./compiler-args.sh +./compile.sh && ./watch.sh && ./lock.sh && ./suffix.sh && ./format.sh && ./clean.sh && ./experimental.sh && ./experimental-invalid.sh && ./compiler-args.sh diff --git a/scripts/res/package.json b/scripts/res/package.json index cbef5e568b..ae5cfdaec1 100644 --- a/scripts/res/package.json +++ b/scripts/res/package.json @@ -3,9 +3,9 @@ "type": "module", "private": true, "scripts": { - "build": "rescript legacy build", + "build": "rescript-legacy build", "clean": "rescript clean", - "dev": "rescript legacy -w", + "dev": "rescript-legacy -w", "apidocs:generate": "yarn build && node GenApiDocs.res.js" }, "dependencies": { diff --git a/tests/analysis_tests/tests-generic-jsx-transform/package.json b/tests/analysis_tests/tests-generic-jsx-transform/package.json index 7a4f4861f8..8d369b180d 100644 --- a/tests/analysis_tests/tests-generic-jsx-transform/package.json +++ b/tests/analysis_tests/tests-generic-jsx-transform/package.json @@ -2,8 +2,8 @@ "name": "@tests/generic-jsx-transform", "private": true, "scripts": { - "build": "rescript legacy build", - "clean": "rescript legacy clean" + "build": "rescript-legacy build", + "clean": "rescript-legacy clean" }, "dependencies": { "rescript": "workspace:^" diff --git a/tests/analysis_tests/tests-incremental-typechecking/package.json b/tests/analysis_tests/tests-incremental-typechecking/package.json index cd410d8afa..840385cecc 100644 --- a/tests/analysis_tests/tests-incremental-typechecking/package.json +++ b/tests/analysis_tests/tests-incremental-typechecking/package.json @@ -2,8 +2,8 @@ "name": "@tests/incremental-typechecking", "private": true, "scripts": { - "build": "rescript legacy build", - "clean": "rescript legacy clean" + "build": "rescript-legacy build", + "clean": "rescript-legacy clean" }, "dependencies": { "rescript": "workspace:^" diff --git a/tests/analysis_tests/tests-reanalyze/deadcode/package.json b/tests/analysis_tests/tests-reanalyze/deadcode/package.json index c9ff3996f7..2c294ed392 100644 --- a/tests/analysis_tests/tests-reanalyze/deadcode/package.json +++ b/tests/analysis_tests/tests-reanalyze/deadcode/package.json @@ -2,8 +2,8 @@ "name": "@tests/reanalyze-deadcode", "private": true, "scripts": { - "build": "rescript legacy build", - "clean": "rescript legacy clean" + "build": "rescript-legacy build", + "clean": "rescript-legacy clean" }, "dependencies": { "@rescript/react": "link:../../../dependencies/rescript-react", diff --git a/tests/analysis_tests/tests-reanalyze/termination/package.json b/tests/analysis_tests/tests-reanalyze/termination/package.json index 02b2adf3e5..a52dc030b6 100644 --- a/tests/analysis_tests/tests-reanalyze/termination/package.json +++ b/tests/analysis_tests/tests-reanalyze/termination/package.json @@ -2,8 +2,8 @@ "name": "@tests/reanalyze-termination", "private": true, "scripts": { - "build": "rescript legacy build", - "clean": "rescript legacy clean" + "build": "rescript-legacy build", + "clean": "rescript-legacy clean" }, "dependencies": { "rescript": "workspace:^" diff --git a/tests/analysis_tests/tests/package.json b/tests/analysis_tests/tests/package.json index 01bbe0ecbb..8b90f6f72e 100644 --- a/tests/analysis_tests/tests/package.json +++ b/tests/analysis_tests/tests/package.json @@ -2,8 +2,8 @@ "name": "@tests/analysis", "private": true, "scripts": { - "build": "rescript legacy build", - "clean": "rescript legacy clean" + "build": "rescript-legacy build", + "clean": "rescript-legacy clean" }, "dependencies": { "@rescript/react": "link:../../dependencies/rescript-react", diff --git a/tests/docstring_tests/package.json b/tests/docstring_tests/package.json index c7858c0599..dcd60a34ce 100644 --- a/tests/docstring_tests/package.json +++ b/tests/docstring_tests/package.json @@ -3,7 +3,7 @@ "type": "module", "private": true, "scripts": { - "build": "rescript legacy build", + "build": "rescript-legacy build", "clean": "rescript clean", "dev": "rescript -w" }, diff --git a/tests/gentype_tests/stdlib-no-shims/package.json b/tests/gentype_tests/stdlib-no-shims/package.json index 2429b5c8bc..d342bb63ad 100644 --- a/tests/gentype_tests/stdlib-no-shims/package.json +++ b/tests/gentype_tests/stdlib-no-shims/package.json @@ -2,7 +2,7 @@ "name": "@tests/gentype-stdlib-no-shims", "private": true, "scripts": { - "build": "rescript legacy build", + "build": "rescript-legacy build", "clean": "rescript clean", "typecheck": "tsc" }, diff --git a/tests/gentype_tests/typescript-react-example/package.json b/tests/gentype_tests/typescript-react-example/package.json index f8e88d4316..a19e12a1f2 100644 --- a/tests/gentype_tests/typescript-react-example/package.json +++ b/tests/gentype_tests/typescript-react-example/package.json @@ -2,8 +2,8 @@ "name": "@tests/gentype-react-example", "private": true, "scripts": { - "start": "rescript legacy build -w", - "build": "rescript legacy build", + "start": "rescript-legacy build -w", + "build": "rescript-legacy build", "clean": "rescript clean", "typecheck": "tsc", "check": "biome check --changed --no-errors-on-unmatched ." diff --git a/tests/tools_tests/package.json b/tests/tools_tests/package.json index 2bf38e72e8..e457a210ab 100644 --- a/tests/tools_tests/package.json +++ b/tests/tools_tests/package.json @@ -2,7 +2,7 @@ "name": "@tests/tools", "private": true, "scripts": { - "build": "rescript legacy build", + "build": "rescript-legacy build", "clean": "rescript clean", "dev": "rescript -w" }, From f8b28888c0a2e9802bcc344704560b2325b6f252 Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Mon, 29 Sep 2025 16:01:38 +0200 Subject: [PATCH 2/4] CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f217bad8a..491c004eb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ #### :boom: Breaking Change +- Removed "rescript legacy" subcommand in favor of separate "rescript-legacy" binary. https://github.com/rescript-lang/rescript/pull/7928 + #### :eyeglasses: Spec Compliance #### :rocket: New Feature From b71fc8c94d73a5872c5c37e19addc769a37f5e7e Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Mon, 29 Sep 2025 16:11:35 +0200 Subject: [PATCH 3/4] Cleanup --- rewatch/testrepo/package.json | 6 +----- .../packages/compiled-by-legacy/package.json | 9 --------- .../packages/compiled-by-legacy/rescript.json | 13 ------------- .../packages/compiled-by-legacy/src/Main.mjs | 9 --------- .../packages/compiled-by-legacy/src/Main.res | 1 - .../packages/compiled-by-legacy/src/Main.res.js | 9 --------- rewatch/testrepo/packages/main/package.json | 1 - rewatch/testrepo/rescript.json | 1 - rewatch/tests/format.sh | 6 +++--- .../bs-dev-dependency-used-by-non-dev-source.txt | 2 +- rewatch/tests/snapshots/clean-rebuild.txt | 4 ++-- rewatch/tests/snapshots/dependency-cycle.txt | 2 +- rewatch/tests/snapshots/remove-file.txt | 2 +- .../rename-file-internal-dep-namespace.txt | 2 +- .../tests/snapshots/rename-file-internal-dep.txt | 2 +- .../tests/snapshots/rename-file-with-interface.txt | 2 +- rewatch/tests/snapshots/rename-file.txt | 2 +- rewatch/tests/snapshots/rename-interface-file.txt | 2 +- rewatch/tests/suffix.sh | 2 +- 19 files changed, 15 insertions(+), 62 deletions(-) delete mode 100644 rewatch/testrepo/packages/compiled-by-legacy/package.json delete mode 100644 rewatch/testrepo/packages/compiled-by-legacy/rescript.json delete mode 100644 rewatch/testrepo/packages/compiled-by-legacy/src/Main.mjs delete mode 100644 rewatch/testrepo/packages/compiled-by-legacy/src/Main.res delete mode 100644 rewatch/testrepo/packages/compiled-by-legacy/src/Main.res.js diff --git a/rewatch/testrepo/package.json b/rewatch/testrepo/package.json index e8a454a4e9..bd91465464 100644 --- a/rewatch/testrepo/package.json +++ b/rewatch/testrepo/package.json @@ -9,7 +9,6 @@ "packages/new-namespace", "packages/namespace-casing", "packages/with-dev-deps", - "packages/compiled-by-legacy", "packages/nonexisting-dev-files", "packages/deprecated-config", "packages/file-casing", @@ -28,10 +27,7 @@ }, "scripts": { "build": "../target/release/rescript build .", - "build:rescript": "rescript-legacy build", "watch": "../target/release/rescript watch .", - "watch:rescript": "rescript-legacy watch", - "clean": "../target/release/rescript clean .", - "clean:rescript": "rescript clean" + "clean": "../target/release/rescript clean ." } } diff --git a/rewatch/testrepo/packages/compiled-by-legacy/package.json b/rewatch/testrepo/packages/compiled-by-legacy/package.json deleted file mode 100644 index 34d940f905..0000000000 --- a/rewatch/testrepo/packages/compiled-by-legacy/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@testrepo/compiled-by-legacy", - "version": "0.0.1", - "keywords": [ - "rescript" - ], - "author": "", - "license": "MIT" -} diff --git a/rewatch/testrepo/packages/compiled-by-legacy/rescript.json b/rewatch/testrepo/packages/compiled-by-legacy/rescript.json deleted file mode 100644 index 3722c661d5..0000000000 --- a/rewatch/testrepo/packages/compiled-by-legacy/rescript.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@testrepo/compiled-by-legacy", - "namespace": true, - "sources": { - "dir": "src", - "subdirs": true - }, - "package-specs": { - "module": "esmodule", - "in-source": true - }, - "suffix": ".res.js" -} diff --git a/rewatch/testrepo/packages/compiled-by-legacy/src/Main.mjs b/rewatch/testrepo/packages/compiled-by-legacy/src/Main.mjs deleted file mode 100644 index 618d7a44e8..0000000000 --- a/rewatch/testrepo/packages/compiled-by-legacy/src/Main.mjs +++ /dev/null @@ -1,9 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - - -let x = 1; - -export { - x, -} -/* No side effect */ diff --git a/rewatch/testrepo/packages/compiled-by-legacy/src/Main.res b/rewatch/testrepo/packages/compiled-by-legacy/src/Main.res deleted file mode 100644 index 3b0c82647f..0000000000 --- a/rewatch/testrepo/packages/compiled-by-legacy/src/Main.res +++ /dev/null @@ -1 +0,0 @@ -let x = 1 \ No newline at end of file diff --git a/rewatch/testrepo/packages/compiled-by-legacy/src/Main.res.js b/rewatch/testrepo/packages/compiled-by-legacy/src/Main.res.js deleted file mode 100644 index 618d7a44e8..0000000000 --- a/rewatch/testrepo/packages/compiled-by-legacy/src/Main.res.js +++ /dev/null @@ -1,9 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE - - -let x = 1; - -export { - x, -} -/* No side effect */ diff --git a/rewatch/testrepo/packages/main/package.json b/rewatch/testrepo/packages/main/package.json index 1813de299d..10954e0797 100644 --- a/rewatch/testrepo/packages/main/package.json +++ b/rewatch/testrepo/packages/main/package.json @@ -12,7 +12,6 @@ "author": "", "license": "MIT", "dependencies": { - "@testrepo/compiled-by-legacy": "*", "@testrepo/dep01": "*" } } diff --git a/rewatch/testrepo/rescript.json b/rewatch/testrepo/rescript.json index 1b20bf9719..99f5820560 100644 --- a/rewatch/testrepo/rescript.json +++ b/rewatch/testrepo/rescript.json @@ -21,7 +21,6 @@ "@testrepo/new-namespace", "@testrepo/namespace-casing", "@testrepo/with-dev-deps", - "@testrepo/compiled-by-legacy", "@testrepo/nonexisting-dev-files", "@testrepo/deprecated-config", "@testrepo/file-casing", diff --git a/rewatch/tests/format.sh b/rewatch/tests/format.sh index 2dd2df093a..f96403c8dd 100755 --- a/rewatch/tests/format.sh +++ b/rewatch/tests/format.sh @@ -6,13 +6,13 @@ bold "Test: It should format all files" git diff --name-only ./ error_output=$("$REWATCH_EXECUTABLE" format) git_diff_file_count=$(git diff --name-only ./ | wc -l | xargs) -if [ $? -eq 0 ] && [ $git_diff_file_count -eq 9 ]; +if [ $? -eq 0 ] && [ $git_diff_file_count -eq 8 ]; then success "Test package formatted. Got $git_diff_file_count changed files." git restore . else error "Error formatting test package" - echo "Expected 9 files to be changed, got $git_diff_file_count" + echo "Expected 8 files to be changed, got $git_diff_file_count" echo $error_output exit 1 fi @@ -62,7 +62,7 @@ bold "Test: it should format dev package as well" error_output=$("$REWATCH_EXECUTABLE" format --dev) git_diff_file_count=$(git diff --name-only ./ | wc -l | xargs) -if [ $? -eq 0 ] && [ $git_diff_file_count -eq 10 ]; +if [ $? -eq 0 ] && [ $git_diff_file_count -eq 9 ]; then success "All packages (including dev) were formatted. Got $git_diff_file_count changed files." git restore . diff --git a/rewatch/tests/snapshots/bs-dev-dependency-used-by-non-dev-source.txt b/rewatch/tests/snapshots/bs-dev-dependency-used-by-non-dev-source.txt index fcf2118183..3bdc9aa03f 100644 --- a/rewatch/tests/snapshots/bs-dev-dependency-used-by-non-dev-source.txt +++ b/rewatch/tests/snapshots/bs-dev-dependency-used-by-non-dev-source.txt @@ -1,4 +1,4 @@ -Cleaned 0/115 +Cleaned 0/114 Parsed 2 source files Compiled 2 modules diff --git a/rewatch/tests/snapshots/clean-rebuild.txt b/rewatch/tests/snapshots/clean-rebuild.txt index 0913f6ac45..5126847c58 100644 --- a/rewatch/tests/snapshots/clean-rebuild.txt +++ b/rewatch/tests/snapshots/clean-rebuild.txt @@ -1,6 +1,6 @@ Cleaned 0/0 -Parsed 112 source files -Compiled 112 modules +Parsed 111 source files +Compiled 111 modules The field 'bs-dependencies' found in the package config of '@testrepo/deprecated-config' is deprecated and will be removed in a future version. Use 'dependencies' instead. diff --git a/rewatch/tests/snapshots/dependency-cycle.txt b/rewatch/tests/snapshots/dependency-cycle.txt index 2b90a0c8e2..1adb5c1739 100644 --- a/rewatch/tests/snapshots/dependency-cycle.txt +++ b/rewatch/tests/snapshots/dependency-cycle.txt @@ -1,4 +1,4 @@ -Cleaned 0/115 +Cleaned 0/114 Parsed 1 source files Compiled 0 modules diff --git a/rewatch/tests/snapshots/remove-file.txt b/rewatch/tests/snapshots/remove-file.txt index 10f05cb95e..7a4eaf35e3 100644 --- a/rewatch/tests/snapshots/remove-file.txt +++ b/rewatch/tests/snapshots/remove-file.txt @@ -1,4 +1,4 @@ -Cleaned 1/115 +Cleaned 1/114 Parsed 0 source files Compiled 1 modules diff --git a/rewatch/tests/snapshots/rename-file-internal-dep-namespace.txt b/rewatch/tests/snapshots/rename-file-internal-dep-namespace.txt index 17dcaaf94c..56c1ffa989 100644 --- a/rewatch/tests/snapshots/rename-file-internal-dep-namespace.txt +++ b/rewatch/tests/snapshots/rename-file-internal-dep-namespace.txt @@ -1,4 +1,4 @@ -Cleaned 2/115 +Cleaned 2/114 Parsed 2 source files Compiled 3 modules diff --git a/rewatch/tests/snapshots/rename-file-internal-dep.txt b/rewatch/tests/snapshots/rename-file-internal-dep.txt index bebcb52cfd..f211beabfe 100644 --- a/rewatch/tests/snapshots/rename-file-internal-dep.txt +++ b/rewatch/tests/snapshots/rename-file-internal-dep.txt @@ -1,4 +1,4 @@ -Cleaned 2/115 +Cleaned 2/114 Parsed 2 source files Compiled 2 modules diff --git a/rewatch/tests/snapshots/rename-file-with-interface.txt b/rewatch/tests/snapshots/rename-file-with-interface.txt index 3202fc9a0c..cc7132711e 100644 --- a/rewatch/tests/snapshots/rename-file-with-interface.txt +++ b/rewatch/tests/snapshots/rename-file-with-interface.txt @@ -1,5 +1,5 @@  No implementation file found for interface file (skipping): src/ModuleWithInterface.resi -Cleaned 2/115 +Cleaned 2/114 Parsed 1 source files Compiled 2 modules diff --git a/rewatch/tests/snapshots/rename-file.txt b/rewatch/tests/snapshots/rename-file.txt index 760b9fda3b..a4e772670a 100644 --- a/rewatch/tests/snapshots/rename-file.txt +++ b/rewatch/tests/snapshots/rename-file.txt @@ -1,4 +1,4 @@ -Cleaned 1/115 +Cleaned 1/114 Parsed 1 source files Compiled 1 modules diff --git a/rewatch/tests/snapshots/rename-interface-file.txt b/rewatch/tests/snapshots/rename-interface-file.txt index 621f151afb..91ccacc104 100644 --- a/rewatch/tests/snapshots/rename-interface-file.txt +++ b/rewatch/tests/snapshots/rename-interface-file.txt @@ -1,5 +1,5 @@  No implementation file found for interface file (skipping): src/ModuleWithInterface2.resi -Cleaned 1/115 +Cleaned 1/114 Parsed 1 source files Compiled 2 modules diff --git a/rewatch/tests/suffix.sh b/rewatch/tests/suffix.sh index bdbee8670d..e6747c5409 100755 --- a/rewatch/tests/suffix.sh +++ b/rewatch/tests/suffix.sh @@ -31,7 +31,7 @@ fi # Count files with new extension file_count=$(find ./packages -name *.res.js | wc -l) -if [ "$file_count" -eq 134 ]; +if [ "$file_count" -eq 132 ]; then success "Found files with correct suffix" else From dc20b65229129999d01f45f1e9540bbce6abd8d2 Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Mon, 29 Sep 2025 16:21:05 +0200 Subject: [PATCH 4/4] Update yarn.lock --- rewatch/testrepo/yarn.lock | 7 ------- 1 file changed, 7 deletions(-) diff --git a/rewatch/testrepo/yarn.lock b/rewatch/testrepo/yarn.lock index 5b46a73174..7cd4a2e3e8 100644 --- a/rewatch/testrepo/yarn.lock +++ b/rewatch/testrepo/yarn.lock @@ -84,12 +84,6 @@ __metadata: languageName: node linkType: hard -"@testrepo/compiled-by-legacy@npm:*, @testrepo/compiled-by-legacy@workspace:packages/compiled-by-legacy": - version: 0.0.0-use.local - resolution: "@testrepo/compiled-by-legacy@workspace:packages/compiled-by-legacy" - languageName: unknown - linkType: soft - "@testrepo/dep01@npm:*, @testrepo/dep01@workspace:packages/dep01": version: 0.0.0-use.local resolution: "@testrepo/dep01@workspace:packages/dep01" @@ -126,7 +120,6 @@ __metadata: version: 0.0.0-use.local resolution: "@testrepo/main@workspace:packages/main" dependencies: - "@testrepo/compiled-by-legacy": "npm:*" "@testrepo/dep01": "npm:*" languageName: unknown linkType: soft