From 68da4687b49efa03d0a1c8354e96446d267e2f9d Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Fri, 29 Nov 2024 17:37:13 +0100
Subject: [PATCH 01/13] Update namespace argument

---
 src/config.rs                                 | 32 ++++++++++++++++++-
 testrepo/package.json                         |  3 +-
 .../packages/namespace-casing/package.json    | 12 +++++++
 .../packages/namespace-casing/rescript.json   | 22 +++++++++++++
 .../packages/namespace-casing/src/Consume.res |  1 +
 .../packages/namespace-casing/src/Produce.res |  3 ++
 6 files changed, 71 insertions(+), 2 deletions(-)
 create mode 100644 testrepo/packages/namespace-casing/package.json
 create mode 100644 testrepo/packages/namespace-casing/rescript.json
 create mode 100644 testrepo/packages/namespace-casing/src/Consume.res
 create mode 100644 testrepo/packages/namespace-casing/src/Produce.res

diff --git a/src/config.rs b/src/config.rs
index c575b90e..1604f82a 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -295,6 +295,35 @@ fn namespace_from_package_name(package_name: &str) -> String {
 }
 
 impl Config {
+    fn namespace_of_package_name(s: &str) -> String {
+        let len = s.len();
+        let mut buf = String::with_capacity(len);
+        
+        fn aux(s: &str, capital: bool, buf: &mut String, off: usize) {
+            if off >= s.len() {
+                return;
+            }
+    
+            let ch = s.as_bytes()[off] as char;
+            match ch {
+                'a'..='z' | 'A'..='Z' | '0'..='9' | '_' => {
+                    let new_capital = false;
+                    buf.push(if capital { ch.to_ascii_uppercase() } else { ch });
+                    aux(s, new_capital, buf, off + 1);
+                }
+                '/' | '-' => {
+                    aux(s, true, buf, off + 1);
+                }
+                _ => {
+                    aux(s, capital, buf, off + 1);
+                }
+            }
+        }
+    
+        aux(s, true, &mut buf, 0);
+        buf
+    }
+
     pub fn get_namespace(&self) -> packages::Namespace {
         let namespace_from_package = namespace_from_package_name(&self.name);
         match (self.namespace.as_ref(), self.namespace_entry.as_ref()) {
@@ -312,7 +341,8 @@ impl Config {
                 namespace if namespace.is_case(Case::UpperFlat) => {
                     packages::Namespace::Namespace(namespace.to_string())
                 }
-                namespace => packages::Namespace::Namespace(namespace.to_string().to_case(Case::Pascal)),
+                namespace => packages::Namespace::Namespace(Self::namespace_of_package_name(namespace)),
+                    // namespace.to_string().to_case(Case::Pascal)),
             },
             (Some(self::NamespaceConfig::String(str)), Some(entry)) => match str.as_str() {
                 "true" => packages::Namespace::NamespaceWithEntry {
diff --git a/testrepo/package.json b/testrepo/package.json
index ae816464..e9802c0f 100644
--- a/testrepo/package.json
+++ b/testrepo/package.json
@@ -6,7 +6,8 @@
       "packages/main",
       "packages/dep01",
       "packages/dep02",
-      "packages/new-namespace"
+      "packages/new-namespace",
+      "packages/namespace-casing"
     ]
   },
   "scripts": {
diff --git a/testrepo/packages/namespace-casing/package.json b/testrepo/packages/namespace-casing/package.json
new file mode 100644
index 00000000..65b24114
--- /dev/null
+++ b/testrepo/packages/namespace-casing/package.json
@@ -0,0 +1,12 @@
+{
+  "name": "@testrepo/namespace-casing",
+  "version": "0.0.1",
+  "keywords": [
+    "rescript"
+  ],
+  "author": "",
+  "license": "MIT",
+  "dependencies": {
+    "rescript": "*"
+  }
+}
diff --git a/testrepo/packages/namespace-casing/rescript.json b/testrepo/packages/namespace-casing/rescript.json
new file mode 100644
index 00000000..243f7f62
--- /dev/null
+++ b/testrepo/packages/namespace-casing/rescript.json
@@ -0,0 +1,22 @@
+{
+    "name": "namespace-casing",
+    "namespace": "NamespaceCasingAPI",
+    "sources": [
+        {
+            "dir": "src",
+            "subdirs": true
+        }
+    ],
+    "package-specs": [
+        {
+            "module": "esmodule",
+            "in-source": true
+        }
+    ],
+    "suffix": ".mjs",
+    "bs-dependencies": [],
+    "bsc-flags": [],
+    "jsx": {
+        "version": 4
+    }
+}
\ No newline at end of file
diff --git a/testrepo/packages/namespace-casing/src/Consume.res b/testrepo/packages/namespace-casing/src/Consume.res
new file mode 100644
index 00000000..eb27cb27
--- /dev/null
+++ b/testrepo/packages/namespace-casing/src/Consume.res
@@ -0,0 +1 @@
+let x = Sample.meh(1)
\ No newline at end of file
diff --git a/testrepo/packages/namespace-casing/src/Produce.res b/testrepo/packages/namespace-casing/src/Produce.res
new file mode 100644
index 00000000..cba1a668
--- /dev/null
+++ b/testrepo/packages/namespace-casing/src/Produce.res
@@ -0,0 +1,3 @@
+let meh = (a: int) => {
+  true
+}
\ No newline at end of file

From 2c21632b3b85dcbba820d009dc275e296201d30c Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Fri, 29 Nov 2024 17:42:53 +0100
Subject: [PATCH 02/13] Produce code with new sample

---
 .../{rescript.json => bsconfig.json}          |  2 +-
 .../packages/namespace-casing/src/Consume.mjs | 10 +++++++
 .../packages/namespace-casing/src/Consume.res |  2 +-
 .../packages/namespace-casing/src/Produce.mjs | 11 ++++++++
 tests/snapshots/dependency-cycle.txt          | 26 ++++++++++++------
 tests/snapshots/remove-file.txt               | 25 +++++++++++------
 .../snapshots/rename-file-with-interface.txt  | 27 ++++++++++++-------
 tests/snapshots/rename-interface-file.txt     | 27 ++++++++++++-------
 8 files changed, 94 insertions(+), 36 deletions(-)
 rename testrepo/packages/namespace-casing/{rescript.json => bsconfig.json} (91%)
 create mode 100644 testrepo/packages/namespace-casing/src/Consume.mjs
 create mode 100644 testrepo/packages/namespace-casing/src/Produce.mjs

diff --git a/testrepo/packages/namespace-casing/rescript.json b/testrepo/packages/namespace-casing/bsconfig.json
similarity index 91%
rename from testrepo/packages/namespace-casing/rescript.json
rename to testrepo/packages/namespace-casing/bsconfig.json
index 243f7f62..bc74c181 100644
--- a/testrepo/packages/namespace-casing/rescript.json
+++ b/testrepo/packages/namespace-casing/bsconfig.json
@@ -9,7 +9,7 @@
     ],
     "package-specs": [
         {
-            "module": "esmodule",
+            "module": "es6",
             "in-source": true
         }
     ],
diff --git a/testrepo/packages/namespace-casing/src/Consume.mjs b/testrepo/packages/namespace-casing/src/Consume.mjs
new file mode 100644
index 00000000..c89a31a8
--- /dev/null
+++ b/testrepo/packages/namespace-casing/src/Consume.mjs
@@ -0,0 +1,10 @@
+// Generated by ReScript, PLEASE EDIT WITH CARE
+
+import * as Produce$NamespaceCasingAPI from "./Produce.mjs";
+
+var x = Produce$NamespaceCasingAPI.meh(1);
+
+export {
+  x ,
+}
+/* x Not a pure module */
diff --git a/testrepo/packages/namespace-casing/src/Consume.res b/testrepo/packages/namespace-casing/src/Consume.res
index eb27cb27..e2d9a264 100644
--- a/testrepo/packages/namespace-casing/src/Consume.res
+++ b/testrepo/packages/namespace-casing/src/Consume.res
@@ -1 +1 @@
-let x = Sample.meh(1)
\ No newline at end of file
+let x = Produce.meh(1)
\ No newline at end of file
diff --git a/testrepo/packages/namespace-casing/src/Produce.mjs b/testrepo/packages/namespace-casing/src/Produce.mjs
new file mode 100644
index 00000000..78a43f1b
--- /dev/null
+++ b/testrepo/packages/namespace-casing/src/Produce.mjs
@@ -0,0 +1,11 @@
+// Generated by ReScript, PLEASE EDIT WITH CARE
+
+
+function meh(a) {
+  return true;
+}
+
+export {
+  meh ,
+}
+/* No side effect */
diff --git a/tests/snapshots/dependency-cycle.txt b/tests/snapshots/dependency-cycle.txt
index 3d80f6bf..f5c5798b 100644
--- a/tests/snapshots/dependency-cycle.txt
+++ b/tests/snapshots/dependency-cycle.txt
@@ -1,10 +1,19 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 0/11 0.00s
-
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
[6/7] ๐ŸŒด Collected deps in 0.00s
-
[7/7] โŒ Compiled 0 modules in 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...
+[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+[4/7] ๐Ÿงน Cleaned 0/11 0.00s
+
+[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
+
+[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
+[7/7] ๏ธ๐Ÿ›‘ Compiled 1 modules in 0.00s
+ERROR:
+[7/7] โŒ Compiled 0 modules in 0.00s
 
 Can't continue... Found a circular dependency in your code:
 Dep01
@@ -13,4 +22,5 @@ Dep01
  โ†’ NewNamespace.NS_alias
  โ†’ Dep01
 
-Incremental build failed. Error: 
  โŒ Failed to Compile. See Errors Above
+Incremental build failed. Error: 
+  โŒ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/remove-file.txt b/tests/snapshots/remove-file.txt
index 9ecdcc32..94c98692 100644
--- a/tests/snapshots/remove-file.txt
+++ b/tests/snapshots/remove-file.txt
@@ -1,10 +1,18 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 1/11 0.00s
-
[5/7] ๐Ÿงฑ Parsed 0 source files in 0.00s
-
[6/7] ๐ŸŒด Collected deps in 0.00s
-
[7/7] โŒ Compiled 1 modules in 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...
+[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+[4/7] ๐Ÿงน Cleaned 1/11 0.00s
+
+[5/7] ๐Ÿงฑ Parsed 0 source files in 0.00s
+
+[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
+[7/7] ๏ธ๐Ÿ›‘ Compiled 2 modules in 0.00s
+ERROR:
 
   We've found a bug for you!
   /packages/dep01/src/Dep01.res:3:9-17
@@ -22,4 +30,5 @@
   
 
 
-Incremental build failed. Error: 
  โŒ Failed to Compile. See Errors Above
+Incremental build failed. Error: 
+  โŒ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/rename-file-with-interface.txt b/tests/snapshots/rename-file-with-interface.txt
index 5ebe1076..d43ad7c8 100644
--- a/tests/snapshots/rename-file-with-interface.txt
+++ b/tests/snapshots/rename-file-with-interface.txt
@@ -1,11 +1,20 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
 [2/7] ๐Ÿ‘€ Finding source files...WARN:
-
 No implementation file found for interface file (skipping): src/ModuleWithInterface.resi
-
[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 2/11 0.00s
-
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
[6/7] ๐ŸŒด Collected deps in 0.00s
-
[7/7] ๐Ÿคบ Compiled 2 modules in 0.00s
+
+ No implementation file found for interface file (skipping): src/ModuleWithInterface.resi
+
+[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+[4/7] ๐Ÿงน Cleaned 2/11 0.00s
+
+[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
+
+[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
+[7/7] โš”๏ธ Compiled 2 modules in 0.00s
 
-
โœจ Finished Compilation in 0.00s
+
+โœจ Finished Compilation in 0.00s
diff --git a/tests/snapshots/rename-interface-file.txt b/tests/snapshots/rename-interface-file.txt
index a51a6de4..212bccf1 100644
--- a/tests/snapshots/rename-interface-file.txt
+++ b/tests/snapshots/rename-interface-file.txt
@@ -1,11 +1,20 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
 [2/7] ๐Ÿ‘€ Finding source files...WARN:
-
 No implementation file found for interface file (skipping): src/ModuleWithInterface2.resi
-
[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 1/11 0.00s
-
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
[6/7] ๐ŸŒด Collected deps in 0.00s
-
[7/7] ๐Ÿคบ Compiled 2 modules in 0.00s
+
+ No implementation file found for interface file (skipping): src/ModuleWithInterface2.resi
+
+[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+[4/7] ๐Ÿงน Cleaned 1/11 0.00s
+
+[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
+
+[6/7] ๐ŸŒด Collected deps in 0.00s
+
+[7/7] โš”๏ธ Compiled 2 modules in 0.00s
 
-
โœจ Finished Compilation in 0.00s
+
+โœจ Finished Compilation in 0.00s

From c2f2d7bd413935550df588149bf59b32a170b25c Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Fri, 29 Nov 2024 18:18:05 +0100
Subject: [PATCH 03/13] Change original namespace_from_package_name

---
 src/config.rs | 57 ++++++++++++++++++++++-----------------------------
 1 file changed, 24 insertions(+), 33 deletions(-)

diff --git a/src/config.rs b/src/config.rs
index 1604f82a..8bb2cb64 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -287,43 +287,35 @@ fn check_if_rescript11_or_higher(version: &str) -> Result<bool, String> {
 }
 
 fn namespace_from_package_name(package_name: &str) -> String {
-    package_name
-        .to_owned()
-        .replace('@', "")
-        .replace('/', "_")
-        .to_case(Case::Pascal)
-}
+    let len = package_name.len();
+    let mut buf = String::with_capacity(len);
+    
+    fn aux(s: &str, capital: bool, buf: &mut String, off: usize) {
+        if off >= s.len() {
+            return;
+        }
 
-impl Config {
-    fn namespace_of_package_name(s: &str) -> String {
-        let len = s.len();
-        let mut buf = String::with_capacity(len);
-        
-        fn aux(s: &str, capital: bool, buf: &mut String, off: usize) {
-            if off >= s.len() {
-                return;
+        let ch = s.as_bytes()[off] as char;
+        match ch {
+            'a'..='z' | 'A'..='Z' | '0'..='9' | '_' => {
+                let new_capital = false;
+                buf.push(if capital { ch.to_ascii_uppercase() } else { ch });
+                aux(s, new_capital, buf, off + 1);
             }
-    
-            let ch = s.as_bytes()[off] as char;
-            match ch {
-                'a'..='z' | 'A'..='Z' | '0'..='9' | '_' => {
-                    let new_capital = false;
-                    buf.push(if capital { ch.to_ascii_uppercase() } else { ch });
-                    aux(s, new_capital, buf, off + 1);
-                }
-                '/' | '-' => {
-                    aux(s, true, buf, off + 1);
-                }
-                _ => {
-                    aux(s, capital, buf, off + 1);
-                }
+            '/' | '-' => {
+                aux(s, true, buf, off + 1);
+            }
+            _ => {
+                aux(s, capital, buf, off + 1);
             }
         }
-    
-        aux(s, true, &mut buf, 0);
-        buf
     }
 
+    aux(package_name, true, &mut buf, 0);
+    buf
+}
+
+impl Config {
     pub fn get_namespace(&self) -> packages::Namespace {
         let namespace_from_package = namespace_from_package_name(&self.name);
         match (self.namespace.as_ref(), self.namespace_entry.as_ref()) {
@@ -341,8 +333,7 @@ impl Config {
                 namespace if namespace.is_case(Case::UpperFlat) => {
                     packages::Namespace::Namespace(namespace.to_string())
                 }
-                namespace => packages::Namespace::Namespace(Self::namespace_of_package_name(namespace)),
-                    // namespace.to_string().to_case(Case::Pascal)),
+                namespace => packages::Namespace::Namespace(namespace_from_package_name(namespace)),
             },
             (Some(self::NamespaceConfig::String(str)), Some(entry)) => match str.as_str() {
                 "true" => packages::Namespace::NamespaceWithEntry {

From bcdfb7beeea81473598e6f575c55e121c2565f2c Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 11:54:38 +0200
Subject: [PATCH 04/13] Add extra links

---
 testrepo/bsconfig.json                        |  7 ++--
 .../packages/namespace-casing/bsconfig.json   |  2 +-
 testrepo/yarn.lock                            | 34 ++++++++++++++++++-
 3 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/testrepo/bsconfig.json b/testrepo/bsconfig.json
index 53fc8462..6a23b8d4 100644
--- a/testrepo/bsconfig.json
+++ b/testrepo/bsconfig.json
@@ -18,13 +18,16 @@
     "@testrepo/main",
     "@testrepo/dep01",
     "@testrepo/dep02",
-    "@testrepo/new-namespace"
+    "@testrepo/new-namespace",
+    "@testrepo/namespace-casing"
+
   ],
   "bs-dependencies": [
     "@testrepo/main",
     "@testrepo/dep01",
     "@testrepo/dep02",
-    "@testrepo/new-namespace"
+    "@testrepo/new-namespace",
+    "@testrepo/namespace-casing"
   ],
   "reason": {
     "react-jsx": 3
diff --git a/testrepo/packages/namespace-casing/bsconfig.json b/testrepo/packages/namespace-casing/bsconfig.json
index bc74c181..000bbfdc 100644
--- a/testrepo/packages/namespace-casing/bsconfig.json
+++ b/testrepo/packages/namespace-casing/bsconfig.json
@@ -1,5 +1,5 @@
 {
-    "name": "namespace-casing",
+    "name": "@testrepo/namespace-casing",
     "namespace": "NamespaceCasingAPI",
     "sources": [
         {
diff --git a/testrepo/yarn.lock b/testrepo/yarn.lock
index 2a3f684a..924f8c03 100644
--- a/testrepo/yarn.lock
+++ b/testrepo/yarn.lock
@@ -2,7 +2,39 @@
 # yarn lockfile v1
 
 
+"@testrepo/dep01@*", "@testrepo/dep01@file:/Users/nojaf/Projects/rewatch/testrepo/packages/dep01":
+  version "0.0.1"
+  resolved "file:packages/dep01"
+  dependencies:
+    "@testrepo/dep02" "*"
+    rescript "*"
+
+"@testrepo/dep02@*", "@testrepo/dep02@file:/Users/nojaf/Projects/rewatch/testrepo/packages/dep02":
+  version "0.0.1"
+  resolved "file:packages/dep02"
+  dependencies:
+    rescript "*"
+
+"@testrepo/main@file:/Users/nojaf/Projects/rewatch/testrepo/packages/main":
+  version "0.0.1"
+  resolved "file:packages/main"
+  dependencies:
+    "@testrepo/dep01" "*"
+    rescript "*"
+
+"@testrepo/namespace-casing@file:/Users/nojaf/Projects/rewatch/testrepo/packages/namespace-casing":
+  version "0.0.1"
+  resolved "file:packages/namespace-casing"
+  dependencies:
+    rescript "*"
+
+"@testrepo/new-namespace@file:/Users/nojaf/Projects/rewatch/testrepo/packages/new-namespace":
+  version "0.0.1"
+  resolved "file:packages/new-namespace"
+  dependencies:
+    rescript "*"
+
 rescript@*:
   version "11.0.0"
-  resolved "https://registry.yarnpkg.com/rescript/-/rescript-11.0.0.tgz#9a0b6fc998c360543c459aba49b77a572a0306cd"
+  resolved "https://registry.npmjs.org/rescript/-/rescript-11.0.0.tgz"
   integrity sha512-uIUwDZZmDUb7ymGkBiiGioxMg8hXh1mze/2k/qhYQcZGgi7PrLHQIW9AksM7gb9WnpjCAvFsA8U2VgC0nA468w==

From 1c39d63761f256addbf724438830cd023bdcb69e Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 11:59:01 +0200
Subject: [PATCH 05/13] Remove warning

---
 testrepo/packages/namespace-casing/src/Produce.mjs | 2 +-
 testrepo/packages/namespace-casing/src/Produce.res | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/testrepo/packages/namespace-casing/src/Produce.mjs b/testrepo/packages/namespace-casing/src/Produce.mjs
index 78a43f1b..b740c393 100644
--- a/testrepo/packages/namespace-casing/src/Produce.mjs
+++ b/testrepo/packages/namespace-casing/src/Produce.mjs
@@ -1,7 +1,7 @@
 // Generated by ReScript, PLEASE EDIT WITH CARE
 
 
-function meh(a) {
+function meh(param) {
   return true;
 }
 
diff --git a/testrepo/packages/namespace-casing/src/Produce.res b/testrepo/packages/namespace-casing/src/Produce.res
index cba1a668..194a02d4 100644
--- a/testrepo/packages/namespace-casing/src/Produce.res
+++ b/testrepo/packages/namespace-casing/src/Produce.res
@@ -1,3 +1,3 @@
-let meh = (a: int) => {
+let meh = (_: int) => {
   true
 }
\ No newline at end of file

From ac70760538f0886ccc59d6b4596fb068da535c50 Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 12:00:01 +0200
Subject: [PATCH 06/13] Should be good right?

---
 tests/snapshots/dependency-cycle.txt          |  5 ++-
 tests/snapshots/remove-file.txt               | 29 ++++++++--------
 .../rename-file-internal-dep-namespace.txt    | 20 +++++++----
 tests/snapshots/rename-file-internal-dep.txt  | 20 +++++++----
 .../snapshots/rename-file-with-interface.txt  |  5 ++-
 tests/snapshots/rename-file.txt               | 16 +++++----
 tests/snapshots/rename-interface-file.txt     | 33 ++++++++-----------
 7 files changed, 71 insertions(+), 57 deletions(-)

diff --git a/tests/snapshots/dependency-cycle.txt b/tests/snapshots/dependency-cycle.txt
index f5c5798b..768d5f16 100644
--- a/tests/snapshots/dependency-cycle.txt
+++ b/tests/snapshots/dependency-cycle.txt
@@ -4,6 +4,9 @@
 [2/7] ๐Ÿ‘€ Found source files in 0.00s
 [3/7] ๐Ÿ“ Reading compile state...
 [3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+
+[4/7] ๐Ÿงน Cleaned 0/13 0.00s
 [4/7] ๐Ÿงน Cleaning up previous build...
 [4/7] ๐Ÿงน Cleaned 0/11 0.00s
 
@@ -11,7 +14,7 @@
 
 [6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
 
-[7/7] ๏ธ๐Ÿ›‘ Compiled 1 modules in 0.00s
+[7/7] ๏ธ๐Ÿ›‘ Compiled 0 modules in 0.00s
 ERROR:
 [7/7] โŒ Compiled 0 modules in 0.00s
 
diff --git a/tests/snapshots/remove-file.txt b/tests/snapshots/remove-file.txt
index 94c98692..dcd21dbf 100644
--- a/tests/snapshots/remove-file.txt
+++ b/tests/snapshots/remove-file.txt
@@ -1,17 +1,14 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...
-[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-[4/7] ๐Ÿงน Cleaned 1/11 0.00s
-
-[5/7] ๐Ÿงฑ Parsed 0 source files in 0.00s
-
-[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
-[7/7] ๏ธ๐Ÿ›‘ Compiled 2 modules in 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ•ต๏ธ Finding source files...
+
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
+
[5/7] ๐Ÿงฑ Parsed 0 source files in 0.00s
+
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
[7/7] ๏ธ๐Ÿ›‘ Compiled 1 modules in 0.00s
 ERROR:
 
   We've found a bug for you!
@@ -30,5 +27,5 @@ ERROR:
   
 
 
-Incremental build failed. Error: 
-  โŒ Failed to Compile. See Errors Above
+ERROR:
+Incremental build failed. Error: 
  ๏ธ๐Ÿ›‘ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/rename-file-internal-dep-namespace.txt b/tests/snapshots/rename-file-internal-dep-namespace.txt
index 6b0c05a0..7a67be98 100644
--- a/tests/snapshots/rename-file-internal-dep-namespace.txt
+++ b/tests/snapshots/rename-file-internal-dep-namespace.txt
@@ -1,10 +1,15 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 2/11 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ•ต๏ธ Finding source files...
+
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 2 source files in 0.00s
-
[6/7] ๐ŸŒด Collected deps in 0.00s
-
[7/7] โŒ Compiled 3 modules in 0.00s
+
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
[7/7] ๏ธ๐Ÿ›‘ Compiled 3 modules in 0.00s
+ERROR:
 
   We've found a bug for you!
   /packages/new-namespace/src/NS_alias.res:2:1-16
@@ -22,4 +27,5 @@
   Hint: Did you mean Other_module2?
 
 
-Incremental build failed. Error: 
  โŒ Failed to Compile. See Errors Above
+ERROR:
+Incremental build failed. Error: 
  ๏ธ๐Ÿ›‘ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/rename-file-internal-dep.txt b/tests/snapshots/rename-file-internal-dep.txt
index e8bb0f77..1dae77dd 100644
--- a/tests/snapshots/rename-file-internal-dep.txt
+++ b/tests/snapshots/rename-file-internal-dep.txt
@@ -1,10 +1,15 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 2/11 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ•ต๏ธ Finding source files...
+
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 2 source files in 0.00s
-
[6/7] ๐ŸŒด Collected deps in 0.00s
-
[7/7] โŒ Compiled 2 modules in 0.00s
+
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
[7/7] ๏ธ๐Ÿ›‘ Compiled 2 modules in 0.00s
+ERROR:
 
   We've found a bug for you!
   /packages/main/src/Main.res:4:8-24
@@ -22,4 +27,5 @@
   
 
 
-Incremental build failed. Error: 
  โŒ Failed to Compile. See Errors Above
+ERROR:
+Incremental build failed. Error: 
  ๏ธ๐Ÿ›‘ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/rename-file-with-interface.txt b/tests/snapshots/rename-file-with-interface.txt
index d43ad7c8..755a9a42 100644
--- a/tests/snapshots/rename-file-with-interface.txt
+++ b/tests/snapshots/rename-file-with-interface.txt
@@ -7,6 +7,9 @@
 [2/7] ๐Ÿ‘€ Found source files in 0.00s
 [3/7] ๐Ÿ“ Reading compile state...
 [3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+
+[4/7] ๐Ÿงน Cleaned 2/13 0.00s
 [4/7] ๐Ÿงน Cleaning up previous build...
 [4/7] ๐Ÿงน Cleaned 2/11 0.00s
 
@@ -14,7 +17,7 @@
 
 [6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
 
-[7/7] โš”๏ธ Compiled 2 modules in 0.00s
+[7/7] โš”๏ธ Compiled 1 modules in 0.00s
 
 
 โœจ Finished Compilation in 0.00s
diff --git a/tests/snapshots/rename-file.txt b/tests/snapshots/rename-file.txt
index d3a0ab56..82511e44 100644
--- a/tests/snapshots/rename-file.txt
+++ b/tests/snapshots/rename-file.txt
@@ -1,9 +1,13 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 1/11 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ•ต๏ธ Finding source files...
+
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
[6/7] ๐ŸŒด Collected deps in 0.00s
-
[7/7] ๐Ÿคบ Compiled 1 modules in 0.00s
+
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
[7/7] โš”๏ธ Compiled 1 modules in 0.00s
 
 
โœจ Finished Compilation in 0.00s
diff --git a/tests/snapshots/rename-interface-file.txt b/tests/snapshots/rename-interface-file.txt
index 212bccf1..7e00c4db 100644
--- a/tests/snapshots/rename-interface-file.txt
+++ b/tests/snapshots/rename-interface-file.txt
@@ -1,20 +1,15 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...WARN:
-
- No implementation file found for interface file (skipping): src/ModuleWithInterface2.resi
-
-[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-[4/7] ๐Ÿงน Cleaned 1/11 0.00s
-
-[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
-[6/7] ๐ŸŒด Collected deps in 0.00s
-
-[7/7] โš”๏ธ Compiled 2 modules in 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ•ต๏ธ Finding source files...
+WARN:
+
 No implementation file found for interface file (skipping): src/ModuleWithInterface2.resi
+
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
+
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
+
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
+
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
[7/7] โš”๏ธ Compiled 1 modules in 0.00s
 
-
-โœจ Finished Compilation in 0.00s
+
โœจ Finished Compilation in 0.00s

From c3c337238dfb97def7b601c7840fbb215f86b6db Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 12:02:54 +0200
Subject: [PATCH 07/13] Bump number

---
 tests/suffix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/suffix.sh b/tests/suffix.sh
index aa9cddf5..63dd30d7 100755
--- a/tests/suffix.sh
+++ b/tests/suffix.sh
@@ -27,7 +27,7 @@ fi
 # Count files with new extension
 file_count=$(find . -name *.res.js | wc -l)
 
-if [ "$file_count" -eq 20 ];
+if [ "$file_count" -eq 22 ];
 then
   success "Found files with correct suffix"
 else

From e9f49dd39293b6b65fdfc0b086d9e5196690b2bb Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 12:15:18 +0200
Subject: [PATCH 08/13] Update snapshots

---
 tests/snapshots/dependency-cycle.txt          | 37 +++++++------------
 .../snapshots/rename-file-with-interface.txt  | 34 +++++++----------
 2 files changed, 26 insertions(+), 45 deletions(-)

diff --git a/tests/snapshots/dependency-cycle.txt b/tests/snapshots/dependency-cycle.txt
index 768d5f16..e0c333bd 100644
--- a/tests/snapshots/dependency-cycle.txt
+++ b/tests/snapshots/dependency-cycle.txt
@@ -1,29 +1,18 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...
-[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-[3/7] ๐Ÿ“ Read compile state 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ•ต๏ธ Finding source files...
+
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+
[3/7] ๐Ÿ“ Read compile state 0.00s
 [4/7] ๐Ÿงน Cleaning up previous build...
-
-[4/7] ๐Ÿงน Cleaned 0/13 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-[4/7] ๐Ÿงน Cleaned 0/11 0.00s
-
-[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
-[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
-[7/7] ๏ธ๐Ÿ›‘ Compiled 0 modules in 0.00s
+
[4/7] ๐Ÿงน Cleaned 0/13 0.00s
+
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
+
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
[7/7] ๏ธ๐Ÿ›‘ Compiled 0 modules in 0.00s
 ERROR:
-[7/7] โŒ Compiled 0 modules in 0.00s
 
 Can't continue... Found a circular dependency in your code:
-Dep01
- โ†’ Dep02
- โ†’ NS
- โ†’ NewNamespace.NS_alias
- โ†’ Dep01
+NewNamespace.NS_alias -> Dep01 -> Dep02 -> NS -> NewNamespace.NS_alias
 
-Incremental build failed. Error: 
-  โŒ Failed to Compile. See Errors Above
+ERROR:
+Incremental build failed. Error: 
  ๏ธ๐Ÿ›‘ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/rename-file-with-interface.txt b/tests/snapshots/rename-file-with-interface.txt
index 755a9a42..d9fe3dc8 100644
--- a/tests/snapshots/rename-file-with-interface.txt
+++ b/tests/snapshots/rename-file-with-interface.txt
@@ -1,23 +1,15 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ‘€ Finding source files...WARN:
-
- No implementation file found for interface file (skipping): src/ModuleWithInterface.resi
-
-[2/7] ๐Ÿ‘€ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-[3/7] ๐Ÿ“ Read compile state 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
+
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ•ต๏ธ Finding source files...
+WARN:
+
 No implementation file found for interface file (skipping): src/ModuleWithInterface.resi
+
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
+
[3/7] ๐Ÿ“ Read compile state 0.00s
 [4/7] ๐Ÿงน Cleaning up previous build...
-
-[4/7] ๐Ÿงน Cleaned 2/13 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-[4/7] ๐Ÿงน Cleaned 2/11 0.00s
-
-[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
-[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
-[7/7] โš”๏ธ Compiled 1 modules in 0.00s
+
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
+
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
+
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
+
[7/7] โš”๏ธ Compiled 1 modules in 0.00s
 
-
-โœจ Finished Compilation in 0.00s
+
โœจ Finished Compilation in 0.00s

From 0eeae18b1f08f7344d63bb9d5fb2f7d73cf62fc2 Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 12:16:22 +0200
Subject: [PATCH 09/13] Show file count

---
 tests/suffix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/suffix.sh b/tests/suffix.sh
index 63dd30d7..3a04539d 100755
--- a/tests/suffix.sh
+++ b/tests/suffix.sh
@@ -31,7 +31,7 @@ if [ "$file_count" -eq 22 ];
 then
   success "Found files with correct suffix"
 else
-  error "Suffix not correctly used"
+  error "Suffix not correctly used, got $file_count files"
   exit 1
 fi
 

From 252c51fc75a46f4d1cb0065f3681406a1f883ea5 Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 12:17:07 +0200
Subject: [PATCH 10/13] Try 12

---
 tests/suffix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/suffix.sh b/tests/suffix.sh
index 3a04539d..b5d8c2a9 100755
--- a/tests/suffix.sh
+++ b/tests/suffix.sh
@@ -27,7 +27,7 @@ fi
 # Count files with new extension
 file_count=$(find . -name *.res.js | wc -l)
 
-if [ "$file_count" -eq 22 ];
+if [ "$file_count" -eq 12 ];
 then
   success "Found files with correct suffix"
 else

From 9c254ae5af326c0664c08a2df06d39d51c0116ae Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 12:26:47 +0200
Subject: [PATCH 11/13] Yarn lock update

---
 package.json       |  3 ++-
 testrepo/yarn.lock | 32 --------------------------------
 2 files changed, 2 insertions(+), 33 deletions(-)

diff --git a/package.json b/package.json
index 1c6137c8..374a2611 100644
--- a/package.json
+++ b/package.json
@@ -16,5 +16,6 @@
     "/rewatch-linux-arm64",
     "/rewatch-macos",
     "/rewatch-windows.exe"
-  ]
+  ],
+  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
 }
diff --git a/testrepo/yarn.lock b/testrepo/yarn.lock
index 924f8c03..9f859581 100644
--- a/testrepo/yarn.lock
+++ b/testrepo/yarn.lock
@@ -2,38 +2,6 @@
 # yarn lockfile v1
 
 
-"@testrepo/dep01@*", "@testrepo/dep01@file:/Users/nojaf/Projects/rewatch/testrepo/packages/dep01":
-  version "0.0.1"
-  resolved "file:packages/dep01"
-  dependencies:
-    "@testrepo/dep02" "*"
-    rescript "*"
-
-"@testrepo/dep02@*", "@testrepo/dep02@file:/Users/nojaf/Projects/rewatch/testrepo/packages/dep02":
-  version "0.0.1"
-  resolved "file:packages/dep02"
-  dependencies:
-    rescript "*"
-
-"@testrepo/main@file:/Users/nojaf/Projects/rewatch/testrepo/packages/main":
-  version "0.0.1"
-  resolved "file:packages/main"
-  dependencies:
-    "@testrepo/dep01" "*"
-    rescript "*"
-
-"@testrepo/namespace-casing@file:/Users/nojaf/Projects/rewatch/testrepo/packages/namespace-casing":
-  version "0.0.1"
-  resolved "file:packages/namespace-casing"
-  dependencies:
-    rescript "*"
-
-"@testrepo/new-namespace@file:/Users/nojaf/Projects/rewatch/testrepo/packages/new-namespace":
-  version "0.0.1"
-  resolved "file:packages/new-namespace"
-  dependencies:
-    rescript "*"
-
 rescript@*:
   version "11.0.0"
   resolved "https://registry.npmjs.org/rescript/-/rescript-11.0.0.tgz"

From 2ae6aab628a16cd87f8a6ebfea79e3a881e1c2b1 Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 12:34:57 +0200
Subject: [PATCH 12/13] Format change?

---
 tests/snapshots/dependency-cycle.txt          | 26 +++++++++----------
 tests/snapshots/remove-file.txt               | 20 +++++---------
 .../rename-file-internal-dep-namespace.txt    | 20 +++++---------
 tests/snapshots/rename-file-internal-dep.txt  | 20 +++++---------
 .../snapshots/rename-file-with-interface.txt  | 18 +++++--------
 tests/snapshots/rename-file.txt               | 16 +++++-------
 tests/snapshots/rename-interface-file.txt     | 18 +++++--------
 7 files changed, 53 insertions(+), 85 deletions(-)

diff --git a/tests/snapshots/dependency-cycle.txt b/tests/snapshots/dependency-cycle.txt
index e0c333bd..2ff57f31 100644
--- a/tests/snapshots/dependency-cycle.txt
+++ b/tests/snapshots/dependency-cycle.txt
@@ -1,18 +1,16 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ•ต๏ธ Finding source files...
-
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-
[4/7] ๐Ÿงน Cleaned 0/13 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 0/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
[7/7] ๏ธ๐Ÿ›‘ Compiled 0 modules in 0.00s
-ERROR:
+
[6/7] ๐ŸŒด Collected deps in 0.00s
+
[7/7] โŒ Compiled 0 modules in 0.00s
 
 Can't continue... Found a circular dependency in your code:
-NewNamespace.NS_alias -> Dep01 -> Dep02 -> NS -> NewNamespace.NS_alias
+Dep01
+ โ†’ Dep02
+ โ†’ NS
+ โ†’ NewNamespace.NS_alias
+ โ†’ Dep01
 
-ERROR:
-Incremental build failed. Error: 
  ๏ธ๐Ÿ›‘ Failed to Compile. See Errors Above
+Incremental build failed. Error: 
  โŒ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/remove-file.txt b/tests/snapshots/remove-file.txt
index dcd21dbf..71baf8f9 100644
--- a/tests/snapshots/remove-file.txt
+++ b/tests/snapshots/remove-file.txt
@@ -1,15 +1,10 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ•ต๏ธ Finding source files...
-
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 0 source files in 0.00s
-
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
[7/7] ๏ธ๐Ÿ›‘ Compiled 1 modules in 0.00s
-ERROR:
+
[6/7] ๐ŸŒด Collected deps in 0.00s
+
[7/7] โŒ Compiled 1 modules in 0.00s
 
   We've found a bug for you!
   /packages/dep01/src/Dep01.res:3:9-17
@@ -27,5 +22,4 @@ ERROR:
   
 
 
-ERROR:
-Incremental build failed. Error: 
  ๏ธ๐Ÿ›‘ Failed to Compile. See Errors Above
+Incremental build failed. Error: 
  โŒ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/rename-file-internal-dep-namespace.txt b/tests/snapshots/rename-file-internal-dep-namespace.txt
index 7a67be98..02ac93fb 100644
--- a/tests/snapshots/rename-file-internal-dep-namespace.txt
+++ b/tests/snapshots/rename-file-internal-dep-namespace.txt
@@ -1,15 +1,10 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ•ต๏ธ Finding source files...
-
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 2 source files in 0.00s
-
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
[7/7] ๏ธ๐Ÿ›‘ Compiled 3 modules in 0.00s
-ERROR:
+
[6/7] ๐ŸŒด Collected deps in 0.00s
+
[7/7] โŒ Compiled 3 modules in 0.00s
 
   We've found a bug for you!
   /packages/new-namespace/src/NS_alias.res:2:1-16
@@ -27,5 +22,4 @@ ERROR:
   Hint: Did you mean Other_module2?
 
 
-ERROR:
-Incremental build failed. Error: 
  ๏ธ๐Ÿ›‘ Failed to Compile. See Errors Above
+Incremental build failed. Error: 
  โŒ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/rename-file-internal-dep.txt b/tests/snapshots/rename-file-internal-dep.txt
index 1dae77dd..4332689b 100644
--- a/tests/snapshots/rename-file-internal-dep.txt
+++ b/tests/snapshots/rename-file-internal-dep.txt
@@ -1,15 +1,10 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ•ต๏ธ Finding source files...
-
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 2 source files in 0.00s
-
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
[7/7] ๏ธ๐Ÿ›‘ Compiled 2 modules in 0.00s
-ERROR:
+
[6/7] ๐ŸŒด Collected deps in 0.00s
+
[7/7] โŒ Compiled 2 modules in 0.00s
 
   We've found a bug for you!
   /packages/main/src/Main.res:4:8-24
@@ -27,5 +22,4 @@ ERROR:
   
 
 
-ERROR:
-Incremental build failed. Error: 
  ๏ธ๐Ÿ›‘ Failed to Compile. See Errors Above
+Incremental build failed. Error: 
  โŒ Failed to Compile. See Errors Above
diff --git a/tests/snapshots/rename-file-with-interface.txt b/tests/snapshots/rename-file-with-interface.txt
index d9fe3dc8..27ad665b 100644
--- a/tests/snapshots/rename-file-with-interface.txt
+++ b/tests/snapshots/rename-file-with-interface.txt
@@ -1,15 +1,11 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ•ต๏ธ Finding source files...
-WARN:
+[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...WARN:
 
 No implementation file found for interface file (skipping): src/ModuleWithInterface.resi
-
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
+
[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 2/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
[7/7] โš”๏ธ Compiled 1 modules in 0.00s
+
[6/7] ๐ŸŒด Collected deps in 0.00s
+
[7/7] ๐Ÿคบ Compiled 2 modules in 0.00s
 
 
โœจ Finished Compilation in 0.00s
diff --git a/tests/snapshots/rename-file.txt b/tests/snapshots/rename-file.txt
index 82511e44..3e4c0759 100644
--- a/tests/snapshots/rename-file.txt
+++ b/tests/snapshots/rename-file.txt
@@ -1,13 +1,9 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ•ต๏ธ Finding source files...
-
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
+[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...
[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
[7/7] โš”๏ธ Compiled 1 modules in 0.00s
+
[6/7] ๐ŸŒด Collected deps in 0.00s
+
[7/7] ๐Ÿคบ Compiled 1 modules in 0.00s
 
 
โœจ Finished Compilation in 0.00s
diff --git a/tests/snapshots/rename-interface-file.txt b/tests/snapshots/rename-interface-file.txt
index 7e00c4db..7c3b8c0b 100644
--- a/tests/snapshots/rename-interface-file.txt
+++ b/tests/snapshots/rename-interface-file.txt
@@ -1,15 +1,11 @@
-[1/7] ๐Ÿ“ฆ Building package tree...
-
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
-[2/7] ๐Ÿ•ต๏ธ Finding source files...
-WARN:
+[1/7] ๐Ÿ“ฆ Building package tree...
[1/7] ๐Ÿ“ฆ Built package tree in 0.00s
+[2/7] ๐Ÿ‘€ Finding source files...WARN:
 
 No implementation file found for interface file (skipping): src/ModuleWithInterface2.resi
-
[2/7] ๐Ÿ•ต๏ธ Found source files in 0.00s
-[3/7] ๐Ÿ“ Reading compile state...
-
[3/7] ๐Ÿ“ Read compile state 0.00s
-[4/7] ๐Ÿงน Cleaning up previous build...
-
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
+
[2/7] ๐Ÿ‘€ Found source files in 0.00s
+[3/7] ๐Ÿ“ Reading compile state...
[3/7] ๐Ÿ“ Read compile state 0.00s
+[4/7] ๐Ÿงน Cleaning up previous build...
[4/7] ๐Ÿงน Cleaned 1/13 0.00s
 
[5/7] ๐Ÿงฑ Parsed 1 source files in 0.00s
-
[6/7] ๏ธ๐ŸŒด Collected deps in 0.00s
-
[7/7] โš”๏ธ Compiled 1 modules in 0.00s
+
[6/7] ๐ŸŒด Collected deps in 0.00s
+
[7/7] ๐Ÿคบ Compiled 2 modules in 0.00s
 
 
โœจ Finished Compilation in 0.00s

From fc8abeb05ba34cf4a781d22a696306a957712e1a Mon Sep 17 00:00:00 2001
From: nojaf <florian.verdonck@outlook.com>
Date: Sat, 3 May 2025 12:35:40 +0200
Subject: [PATCH 13/13] 24

---
 tests/suffix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/suffix.sh b/tests/suffix.sh
index b5d8c2a9..ea072965 100755
--- a/tests/suffix.sh
+++ b/tests/suffix.sh
@@ -27,7 +27,7 @@ fi
 # Count files with new extension
 file_count=$(find . -name *.res.js | wc -l)
 
-if [ "$file_count" -eq 12 ];
+if [ "$file_count" -eq 24 ];
 then
   success "Found files with correct suffix"
 else