guix_mirror_bot pushed a commit to branch javascript-team
in repository guix.

commit b8c45293f72f1bc4694608566ecb15fdc4b1b9ee
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Tue Aug 4 15:13:08 2026 +0900

    tests: Fix `delete-dependencies' & cie.
    
    * guix/build/node-build-system.scm (delete-dependencies): Properly pass
    the #:dependency-keys keyword.  Avoid printing deletion message when no
    deletion occurs.
    * tests/node.scm ("delete-dependencies", "delete-dependencies/except")
    ("delete-dev-dependencies/except"): Control other dependency sections.
    
    Fixes: #10332
---
 guix/build/node-build-system.scm |  5 ++--
 tests/node.scm                   | 51 +++++++++++++++++++++++++++++-----------
 2 files changed, 40 insertions(+), 16 deletions(-)

diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm
index d08935eeed4..102fc1e0cf1 100644
--- a/guix/build/node-build-system.scm
+++ b/guix/build/node-build-system.scm
@@ -114,7 +114,7 @@ To prevent the deleted dependencies from being 
reintroduced, use this function
 only after the 'patch-dependencies' phase."
   (let ((predicate (lambda (dependency)
                      (member (car dependency) dependencies-to-remove)))
-        (dependency? (cut member <> %dependency-keys)))
+        (dependency? (cut member <> dependency-keys)))
     (lambda (pkg-meta)
       (map (match-lambda
              (((? dependency? key) . dependencies)
@@ -122,7 +122,8 @@ only after the 'patch-dependencies' phase."
                       (partition ((if negate? negate identity)
                                   predicate)
                                  dependencies)))
-                (format #t "deleting ~s dependencies: ~y~%" key removed)
+                (unless (null? removed)
+                  (format #t "deleting ~s dependencies: ~y~%" key removed))
                 (cons key kept)))
              (otherwise otherwise))
            pkg-meta))))
diff --git a/tests/node.scm b/tests/node.scm
index 55236f0df43..96048cf5cb5 100644
--- a/tests/node.scm
+++ b/tests/node.scm
@@ -77,23 +77,46 @@ It also returns the data as an alist directly."
 (test-begin "node related tests")
 
 (test-equal "delete-dependencies"
-  '(("domelementtype" . "^3.0.0"))
-  (assoc-ref (modify-json*
-              (delete-dependencies '("boolbase")))
-             "dependencies"))
+  (list '(("domelementtype" . "^3.0.0"))
+        ;; Ensure development dependencies are unaffected.
+        '(("typescript-eslint" . "^8.61.0") ;devDependencies
+          ("typescript" . "^5.9.3")
+          ("typedoc" . "^0.28.19")
+          ("htmlparser2" . "^10.1.0")
+          ("eslint" . "^10.4.1")
+          ("@types/node" . "^25.9.2"))
+        '(("mkdirp" . ">=1.0.0")        ;peerDependencies
+          ("react" . "^16.8.0")))
+  (let ((result (modify-json* (delete-dependencies
+                               '("boolbase")))))
+    (list (assoc-ref result "dependencies")
+          (assoc-ref result "devDependencies")
+          (assoc-ref result "peerDependencies"))))
 
 (test-equal "delete-dependencies/except"
-  '(("boolbase" . ">=2.0.0"))
-  (assoc-ref (modify-json*
-              (delete-dependencies/except '("boolbase")))
-             "dependencies"))
+  (list '(("boolbase" . ">=2.0.0"))     ;in 'dependencies'
+        ;; Ensure development dependencies are not affected (as boolbase is
+        ;; not in their set).
+        '()                             ;devDependencies
+        '())                            ;peerDependencies
+  (let ((result (modify-json* (delete-dependencies/except
+                               '("boolbase")))))
+    (list (assoc-ref result "dependencies")
+          (assoc-ref result "devDependencies")
+          (assoc-ref result "peerDependencies"))))
 
 (test-equal "delete-dev-dependencies/except"
-  '(("typescript" . "^5.9.3")
-    ("@types/node" . "^25.9.2"))
-  (assoc-ref (modify-json*
-              (delete-dev-dependencies/except
-               '("typescript" "@types/node")))
-             "devDependencies"))
+  (list '(("typescript" . "^5.9.3")     ;devDependencies
+          ("@types/node" . "^25.9.2"))
+        '(("react" . "^16.8.0"))        ;peerDependencies
+        ;; Ensure normal dependencies are unaffected.
+        '(("domelementtype" . "^3.0.0")
+          ("boolbase" . ">=2.0.0")))
+  (let ((result (modify-json* (delete-dev-dependencies/except
+                               '("typescript" "@types/node" ;devDependencies
+                                 "react"))))) ;peerDependencies
+    (list (assoc-ref result "devDependencies")
+          (assoc-ref result "peerDependencies")
+          (assoc-ref result "dependencies"))))
 
 (test-end)

Reply via email to