summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorRikard Nordgren <hrn@posteo.net>2023-12-06 20:03:48 +0000
committerLudovic Courtès <ludo@gnu.org>2023-12-22 17:47:16 +0100
commit211c66d49e720eb32c866234ec450d51f322584c (patch)
tree39e36069f0c33e98376e52b327310498ed790ffa /gnu/packages
parent76ed5ec9f72b0f6a9b677214ce4e89fced07b79c (diff)
downloadguix-211c66d49e720eb32c866234ec450d51f322584c.tar.gz
gnu: Add node-safe-stable-stringify.
* gnu/packages/node-xyz.scm (node-safe-stable-stringify): New variable.

Change-Id: Ia54a44403807479652fe5831b08acdb661dca9e1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/node-xyz.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 9eb8595add..9097d611a6 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -496,6 +496,48 @@ written in Javascript.")
 resolve all imports.")
     (license license:expat)))
 
+(define-public node-safe-stable-stringify
+  (package
+    (name "node-safe-stable-stringify")
+    (version "2.4.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/BridgeAR/safe-stable-stringify")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "008adig8j13rn2a21ngnp770y4zz6yq176ix5rkskjbb8g2qwapg"))))
+    (build-system node-build-system)
+    (arguments
+     '(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (add-after 'patch-dependencies 'delete-dependencies
+                    (lambda _
+                      (delete-dependencies '("benchmark" "clone"
+                                             "fast-json-stable-stringify"
+                                             "fast-safe-stringify"
+                                             "fast-stable-stringify"
+                                             "faster-stable-stringify"
+                                             "fastest-stable-stringify"
+                                             "json-stable-stringify"
+                                             "json-stringify-deterministic"
+                                             "json-stringify-safe"
+                                             "standard"
+                                             "tap"
+                                             "typescript"
+                                             "@types/node"
+                                             "@types/json-stable-stringify")))))))
+    (home-page "https://github.com/BridgeAR/safe-stable-stringify")
+    (synopsis "Serialization of javascript objects")
+    (description
+     "Safe, deterministic and fast serialization alternative to JSON.stringify.
+Gracefully handles circular structures and bigint instead of throwing.
+Optional custom circular values, deterministic behavior or strict JSON
+compatibility check.")
+    (license license:expat)))
+
 (define-public node-stack-trace
   ;; There have been improvements since the last release.
   (let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")