Subject: [bug#58179] [PATCH 1/4] gnu: Add node-ws.

From: Nicolas Graves <[email-masked]>
Date: Thu, 29 Sep 2022 21:52:24 +0200

* gnu/packages/node-xyz.scm (node-ws): New variable.
---
 gnu/packages/node-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index b14b407e19..4c92e07537 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -1512,6 +1512,35 @@ (define-public node-serialport
 projects.  It combines a high-level Node.js stream interface with a useful
 default set of parsers and bindings.")))
 
+(define-public node-ws
+  (package
+    (name "node-ws")
+    (version "8.8.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/websockets/ws")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1nwig6rxakd72nr1sbcl7qqwab3w5116s7dcblnz45fslf9lql8i"))))
+    (build-system node-build-system)
+    (arguments
+     '(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (replace 'configure
+                    (lambda _
+                      (invoke "npm" "--offline" "--ignore-scripts" "install"
+                              "--production"))))))
+    (home-page "https://github.com/websockets/ws")
+    (synopsis "Websocket client and server for Node.js")
+    (description "This package provides a simple websocket client and server
+for Node.js.  It doesn't work in a browser.  It can send and receive data,
+authenticate clients, broadwast to other websocket clients, use external
+APIs...")
+    (license license:expat)))
+
 (define-public node-yazl
   (package
     (name "node-yazl")
-- 
2.37.3