guix_mirror_bot pushed a commit to branch javascript-team in repository guix.
commit 261fd085b3670a943aadcd2780de6b438d5cec46 Author: Nicolas Graves <[email protected]> AuthorDate: Tue Mar 31 15:08:32 2026 +0200 build-system/node: Deprecate and export json procedures. * guix/build/node-build-system.scm (with-atomic-json-file-replacement) (modify-json, modify-json-fields, delete-json-fields) (replace-json-fields): Import, deprecate, then export them. (delete-dev-dependencies, patch-dependencies): Use procedure variants that are not deprecated yet. Change-Id: I492e6e7f1f2e8972a2d2a1a037eb84270946e82b Signed-off-by: Jelle Licht <[email protected]> --- guix/build/json-utils.scm | 2 +- guix/build/node-build-system.scm | 55 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/guix/build/json-utils.scm b/guix/build/json-utils.scm index 9d94fd85c4..5090daf770 100644 --- a/guix/build/json-utils.scm +++ b/guix/build/json-utils.scm @@ -75,7 +75,7 @@ a value to be written as JSON to the replacement FILE." ;; This is the function we eventually want to migrate to. (define* (modify-json* file #:rest modifications) "Modify JSON FILE with successive callbacks." - (with-atomic-json-file-replacement file + (with-atomic-json-file-replacement* file (apply compose modifications))) ;; Copied and adapted from (guix utils). diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index be715cc97b..d08935eeed 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -25,7 +25,15 @@ (define-module (guix build node-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) - #:use-module (guix build json-utils) + #:use-module ((guix build json-utils) + #:select ((modify-json . modify-json*) + (modify-json-fields . modify-json-fields*) + (delete-json-fields . delete-json-fields*) + (replace-json-fields . replace-json-fields*) + (add-json-fields . add-json-fields*) + (with-atomic-json-file-replacement + . with-atomic-json-file-replacement*))) + #:use-module (guix deprecation) #:use-module (guix build utils) #:use-module (ice-9 format) #:use-module (ice-9 ftw) @@ -40,7 +48,17 @@ delete-dependencies/except delete-dev-dependencies delete-dev-dependencies/except - node-build)) + node-build + modify-json + delete-fields + replace-fields + add-fields) + #:re-export ((modify-json-fields* . modify-json-fields) + (delete-json-fields* . delete-json-fields) + (replace-json-fields* . replace-json-fields) + (add-json-fields* . add-json-fields) + (with-atomic-json-file-replacement* + . with-atomic-json-file-replacement))) ;;; ;;; Helpers @@ -56,6 +74,33 @@ '("devDependencies" "peerDependencies")) +(define-deprecated/alias with-atomic-json-file-replacement + (@ (guix build json-utils) with-atomic-json-file-replacement)) + +(define-deprecated/alias modify-json + (@ (guix build json-utils) modify-json)) + +(define-deprecated/alias modify-json-fields + (@ (guix build json-utils) modify-json-fields)) + +(define-deprecated/alias delete-fields + (@ (guix build json-utils) delete-json-fields)) + +(define-deprecated/alias delete-json-fields + (@ (guix build json-utils) delete-json-fields)) + +(define-deprecated/alias replace-fields + (@ (guix build json-utils) replace-json-fields)) + +(define-deprecated/alias replace-json-fields + (@ (guix build json-utils) replace-json-fields)) + +(define-deprecated/alias add-fields + (@ (guix build json-utils) add-json-fields)) + +(define-deprecated/alias add-json-fields + (@ (guix build json-utils) add-json-fields)) + (define* (delete-dependencies dependencies-to-remove #:key negate? (dependency-keys %dependency-keys)) @@ -96,8 +141,8 @@ dependencies." #:dependency-keys %dev-dependency-keys)) (define (delete-dev-dependencies) - (delete-json-fields (list "devDependencies" "peerDependencies") - #:strict? #f)) + (delete-json-fields* (list "devDependencies" "peerDependencies") + #:strict? #f)) ;;; ;;; Phases. @@ -154,7 +199,7 @@ dependencies." (assoc-set! pkg-meta key (resolve-dependencies (getter pkg-meta))))) - (modify-json "package.json" + (modify-json* "package.json" (resolve "devDependencies" (lambda (pkg-meta) (or (assoc-ref pkg-meta "devDependencies") '())))
