mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
* gnu/packages/node-xyz.scm (node-types-source-map-support): New variable. Change-Id: I4bfda700f971ad4b8ec2d04ff510e263f94d94bd
3124 lines
119 KiB
Scheme
3124 lines
119 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
|
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
|
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
|
;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
|
|
;;; Copyright © 2021 Charles <charles.b.jackson@protonmail.com>
|
|
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
|
|
;;; Copyright © 2021 Dhruvin Gandhi <contact@dhruvin.dev>
|
|
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
|
|
;;; Copyright © 2023 Jelle Licht <jlicht@fsfe.org>
|
|
;;; Copyright © 2024, 2025 Daniel Khodabakhsh <d@niel.khodabakh.sh>
|
|
;;;
|
|
;;; This file is part of GNU Guix.
|
|
;;;
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
;;; under the terms of the GNU General Public License as published by
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
;;; your option) any later version.
|
|
;;;
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (gnu packages node-xyz)
|
|
#:use-module (gnu packages sqlite)
|
|
#:use-module (gnu packages python)
|
|
#:use-module (gnu packages web)
|
|
#:use-module (guix build-system node)
|
|
#:use-module (guix gexp)
|
|
#:use-module (guix git-download)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (guix packages))
|
|
|
|
;;;
|
|
;;; Please: Try to add new module packages in alphabetic order.
|
|
;;;
|
|
|
|
(define-public node-acorn
|
|
(package
|
|
(name "node-acorn")
|
|
(version "8.7.1")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/acornjs/acorn")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "10lpqbq4wvndx13mh7yjqgpcp3ac81b9zmrn4qb1qpzgy462fa92"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:modules
|
|
((guix build node-build-system)
|
|
(srfi srfi-1)
|
|
(ice-9 match)
|
|
(guix build utils))
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'change-directory
|
|
(lambda _
|
|
(chdir "acorn")))
|
|
(add-before 'configure 'avoid-prepare-scripts
|
|
(lambda _
|
|
;; We need to remove the prepare script from "package.json", as
|
|
;; it would try to use the build environment and would block the
|
|
;; automatic building by other packages making use of node-acorn.
|
|
(modify-json (delete-fields '(("scripts" "prepare"))))))
|
|
(replace 'build
|
|
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
|
(let ((esbuild (search-input-file (or native-inputs inputs)
|
|
"/bin/esbuild")))
|
|
(invoke esbuild
|
|
"src/index.js"
|
|
"--outfile=dist/acorn.js"
|
|
"--format=cjs"
|
|
"--bundle"
|
|
"--platform=node")
|
|
(invoke esbuild
|
|
"src/index.js"
|
|
"--outfile=dist/acorn.mjs"
|
|
"--format=esm"
|
|
"--bundle"
|
|
"--platform=node")
|
|
(invoke esbuild
|
|
"src/bin/acorn.js"
|
|
"--outfile=dist/bin.js"
|
|
"--format=cjs"
|
|
"--platform=node")))))))
|
|
(native-inputs
|
|
(list esbuild))
|
|
(home-page "https://github.com/acornjs/acorn/tree/master/acorn")
|
|
(synopsis "Javascript-based Javascript parser")
|
|
(description "Acornjs is a Javascript parser with many options and an
|
|
architecture supporting plugins.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-addon-api
|
|
(package
|
|
(name "node-addon-api")
|
|
(version "8.3.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/nodejs/node-addon-api")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1swvhdss2w636l24bnssnwb1rqh7i6lhpkk4knbrvpspqf80kagc"))))
|
|
(inputs
|
|
(list python node-safe-buffer))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
`(#:modules
|
|
((guix build node-build-system)
|
|
(srfi srfi-1)
|
|
(ice-9 match)
|
|
(guix build utils))
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies
|
|
`("benchmark"
|
|
"bindings"
|
|
"clang-format"
|
|
"eslint"
|
|
"eslint-config-semistandard"
|
|
"eslint-config-standard"
|
|
"eslint-plugin-import"
|
|
"eslint-plugin-node"
|
|
"eslint-plugin-promise"
|
|
"fs-extra"
|
|
"neostandard"
|
|
"path"
|
|
"pre-commit"
|
|
"semver"))
|
|
;; We can't run the js-based tests,
|
|
;; but we can still do the C++ parts
|
|
(replace-fields (list (cons
|
|
"scripts.test" "echo stopping after pretest on Guix")))))))))
|
|
(home-page "https://github.com/nodejs/node-addon-api")
|
|
(synopsis "Node.js API (Node-API) header-only C++ wrappers")
|
|
(description "This module contains header-only C++ wrapper classes which
|
|
simplify the use of the C based Node-API provided by Node.js when using C++.
|
|
It provides a C++ object model and exception handling semantics with low
|
|
overhead.
|
|
|
|
Node-API is an ABI stable C interface provided by Node.js for building native
|
|
addons. It is intended to insulate native addons from changes in the
|
|
underlying JavaScript engine and allow modules compiled for one version to run
|
|
on later versions of Node.js without recompilation. The @code{node-addon-api}
|
|
module, which is not part of Node.js, preserves the benefits of the Node-API
|
|
as it consists only of inline code that depends only on the stable API
|
|
provided by Node-API.
|
|
|
|
It is important to remember that @emph{other} Node.js interfaces such as
|
|
@code{libuv} (included in a project via @code{#include <uv.h>}) are not
|
|
ABI-stable across Node.js major versions.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-ansi-styles
|
|
(package
|
|
(name "node-ansi-styles")
|
|
(version "3.2.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/chalk/ansi-styles")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "15b5ggrhxi2zw5qlhr2di1b7rmfyacrl4rf8j3ndf8iqkv9fijqd"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-color-convert))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'xo', 'ava', and 'tsd'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "ANSI escape codes for styling strings in the terminal")
|
|
(description "Library of ANSI escape codes to be used to style strings in terminals.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-array-back
|
|
(package
|
|
(name "node-array-back")
|
|
(version "4.0.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/75lb/array-back")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1xfg4yd155zhi0v2a26kvg3jghcim5xgpwsn4lhikisshmrmf93m"))
|
|
(modules '((guix build utils)))
|
|
(snippet #~(begin
|
|
(delete-file-recursively "dist")))))
|
|
(build-system node-build-system)
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'esm-runner'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies))))
|
|
(replace 'build (lambda _
|
|
(invoke
|
|
"esbuild"
|
|
"index.mjs"
|
|
"--format=cjs"
|
|
"--outfile=dist/index.js"))))))
|
|
(synopsis "Isomorphic load-anywhere arrayify function")
|
|
(description "Takes any input and guarantees an array back.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-balanced-match
|
|
(package
|
|
(name "node-balanced-match")
|
|
(version "1.0.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/juliangruber/balanced-match")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "0977r6hv9fyv6f8wvn31vcncxwhffnn05y0h4hmpkg8p2vs9ip0b"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME Tests require 'tape'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Match balanced character pairs, like { and }")
|
|
(description "Match balanced string pairs, like { and } or <b> and </b>. Supports\
|
|
regular expressions as well!")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-bindings
|
|
(package
|
|
(name "node-bindings")
|
|
(version "1.5.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/TooTallNate/node-bindings")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk"))))
|
|
(inputs
|
|
(list node-file-uri-to-path))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
;; there are no tests
|
|
`(#:tests? #f))
|
|
(home-page "https://github.com/TooTallNate/node-bindings")
|
|
(synopsis "Locate native addons")
|
|
(description "This package provides a helper module to locate native
|
|
addons in a wide array of potential locations.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-brace-expansion
|
|
(package
|
|
(name "node-brace-expansion")
|
|
(version "2.0.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/juliangruber/brace-expansion")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "113banahmr00n1fnyswdsx2jgpfi05f4hn2gc5i8kka7hmj3b5g1"))))
|
|
(build-system node-build-system)
|
|
(inputs (list node-balanced-match))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME Tests require 'tape'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package
|
|
(lambda _
|
|
(modify-json (delete-dev-dependencies)))))))
|
|
(synopsis "Brace expansion as known from sh/bash, in JavaScript")
|
|
(description "Return an array of all possible and valid expansions of str. If none\
|
|
are found, [str] is returned.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-buffer-crc32
|
|
(package
|
|
(name "node-buffer-crc32")
|
|
(version "0.2.13")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/brianloveswords/buffer-crc32")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"09qx2mnd898190m50mc0rhyvbm7d677sxz9bn09qmqkz6fnsddgf"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json (delete-dependencies '("tap"))))))))
|
|
(home-page "https://github.com/brianloveswords/buffer-crc32")
|
|
(synopsis "CRC32 implementation in Javascript")
|
|
(description
|
|
"This package provides a CRC32 algorithm that works with binary data
|
|
and fancy character sets, signed or unsigned data and has tests, for Node.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-buffer-from
|
|
(package
|
|
(name "node-buffer-from")
|
|
(version "1.1.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/LinusU/buffer-from")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "15x3iix1z2ggfq3gmnjnz809k02g0zbkf391g1if8s7d3q0r0w1b"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'standard'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "A ponyfill for Buffer.from")
|
|
(description "A ponyfill for Buffer.from, uses native implementation if available.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-chalk
|
|
(package
|
|
(name "node-chalk")
|
|
(version "2.4.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/chalk/chalk")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1isx2l8a11k5arz1p3kd7mbdb8kjr85l1axdm7yya57vwlkdkc2y"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-ansi-styles
|
|
node-supports-color
|
|
node-escape-string-regexp))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests reuire 'xo', 'c8', 'ava', and 'tsd'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Terminal string styling library")
|
|
(description "Chalk comes with an easy to use composable API where you just chain and\
|
|
nest the styles you want.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-color-convert
|
|
(package
|
|
(name "node-color-convert")
|
|
(version "1.9.3")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/Qix-/color-convert")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0apgv8p1y9hs5z42wwrwrid62vfkfb89kh3a75s9lvqdbyh04390"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-color-name))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'xo' and 'tsd'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Plain color conversion functions")
|
|
(description "Color-convert is a color conversion library for JavaScript and node. It\
|
|
converts all ways between rgb, hsl, hsv, hwb, cmyk, ansi, ansi16, hex strings, and CSS\
|
|
keywords (will round to closest)")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-color-name
|
|
(package
|
|
(name "node-color-name")
|
|
(version "1.1.3")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/colorjs/color-name")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"09rbmj16nfwcwkhrybqxyy66bkrs50vpw6hkdqqb14l3gsyxpr74"))))
|
|
(build-system node-build-system)
|
|
(home-page "https://github.com/colorjs/color-name")
|
|
(synopsis "JSON with CSS color names")
|
|
(description
|
|
"This package provides a JSON list with color names and their values.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-command-line-usage
|
|
(package
|
|
(name "node-command-line-usage")
|
|
(version "6.1.3")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/75lb/command-line-usage")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "073blk28qdk1bl1l4jsd4a6fmwvl2jv4fi6kfcjykc8x6hkv84cx"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-chalk
|
|
node-typical
|
|
node-array-back
|
|
node-table-layout))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'test-runner'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Generates command-line usage information")
|
|
(description "A simple, data-driven module for creating a usage guide.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-crx3
|
|
(package
|
|
(name "node-crx3")
|
|
(version "1.1.3")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/ahwayakchih/crx3")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1snqyw8c3s9p2clhqh1172z0rs1was36sfxkk6acgpar32c2rwzw"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'unpack 'replace-mri-by-minimist
|
|
(lambda _
|
|
(substitute* "package.json"
|
|
(("\"mri\": \"\\^1\\.1\\.6\",")
|
|
"\"minimist\": \"^1.2.6\","))
|
|
(substitute* "lib/configuration.js"
|
|
(("mri")
|
|
"minimist"))))
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json (delete-dependencies
|
|
'("c8"
|
|
"docdash"
|
|
"eslint"
|
|
"eslint-plugin-jsdoc"
|
|
"jsdoc"
|
|
"tap-diff"
|
|
"tape"
|
|
"tape-catch"))))))))
|
|
(inputs (list node-minimist node-pbf node-yazl))
|
|
(home-page "https://github.com/ahwayakchih/crx3")
|
|
(synopsis "Create CRXv3 browser extensions with Javascript")
|
|
(description
|
|
"This package creates web extension files (CRXv3) for Chromium versions
|
|
64.0.3242 and above and all other browsers supporting the file format and API.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public node-debug
|
|
(package
|
|
(name "node-debug")
|
|
(version "4.3.3")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/debug-js/debug")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0ji0dmdl2xkgxqxvd6xjy7k3mmknmhvqjgc40vyly9ka1mpf20vb"))))
|
|
(inputs
|
|
(list node-ms))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies
|
|
`("brfs"
|
|
"browserify"
|
|
"coveralls"
|
|
"istanbul"
|
|
"karma"
|
|
"karma-browserify"
|
|
"karma-chrome-launcher"
|
|
"karma-mocha"
|
|
"mocha"
|
|
"mocha-lcov-reporter"
|
|
"xo"
|
|
"supports-color"))))))
|
|
#:tests? #f))
|
|
(home-page "https://github.com/debug-js/debug")
|
|
(synopsis "Debugging utility for Node.js")
|
|
(description "The @code{debug} module exposes a function, which if called
|
|
with a module name as argument provides a function that writes debug output to
|
|
@code{console.error} under that module name. This output can be controlled in
|
|
a more fine-grained manner by binding the @env{DEBUG} variable.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-deep-extend
|
|
(package
|
|
(name "node-deep-extend")
|
|
(version "0.6.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/unclechu/node-deep-extend")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0r2r0wc1c9lq8gplis17pr220c7hk18sq12cipvsa7krb2lb4cpb"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'mocha'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Recursive object extending")
|
|
(description "Library which allows deeply merging two different objects.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-dprint-formatter
|
|
(package
|
|
(name "node-dprint-formatter")
|
|
(version "0.4.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/dprint/js-formatter")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0ihdspyz7brx1rny2ind715z6rlzncslsigi3yr553xmk18iswm2"))))
|
|
(build-system node-build-system)
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match)
|
|
(json))
|
|
#:tests? #f ; FIXME: Tests require 'deno'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(delete 'patch-dependencies)
|
|
(delete 'configure)
|
|
(replace 'build (lambda _
|
|
(define output "output")
|
|
(mkdir output)
|
|
(delete-file "mod_test.ts")
|
|
(substitute* (list "mod.ts" "v3.ts" "v4.ts")
|
|
(("\\.ts") ""))
|
|
(install-file "LICENSE" output)
|
|
(install-file "README.md" output)
|
|
(chdir output)
|
|
(call-with-output-file
|
|
"package.json"
|
|
(lambda (out)
|
|
(scm->json
|
|
(list
|
|
(cons "name" "@dprint/formatter")
|
|
(cons "version" #$version)
|
|
(cons "main" "./script/mod.js")
|
|
(cons "module" "./esm/mod.js"))
|
|
out)))
|
|
(for-each
|
|
(match-lambda ((format outdir)
|
|
(invoke
|
|
"esbuild"
|
|
"../*.ts"
|
|
(string-append "--format=" format)
|
|
"--platform=node"
|
|
(string-append "--outdir=" outdir))))
|
|
(list (list "cjs" "script") (list "esm" "esm"))))))))
|
|
(synopsis "Wasm formatter for dprint plugins")
|
|
(description "A JS formatter which uses WASM plugins for dprint.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-env-variable
|
|
(package
|
|
(name "node-env-variable")
|
|
(version "0.0.4")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/bigpipe/env-variable")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0nnpxjxfhy4na7fixb7p3ww6ard5xgggfm83b78i333867r4gmsq"))))
|
|
(build-system node-build-system)
|
|
(arguments '(#:tests? #f)) ; No tests.
|
|
(home-page "https://github.com/bigpipe/env-variable")
|
|
(synopsis "Environment variables for Node with fallbacks")
|
|
(description "This package provides environment variables with
|
|
@code{process.env}, @code{window.name}, @code{location.hash} and
|
|
@code{localStorage} fallbacks.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-escape-string-regexp
|
|
(package
|
|
(name "node-escape-string-regexp")
|
|
(version "1.0.5")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/sindresorhus/escape-string-regexp")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0iv0zd2r1mr3w966n023wqghcyaw37w3wl07is45hy74rrnq6z0v"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'xo' and 'ava'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Escape RegExp special characters")
|
|
(description "This library takes a string and escapes the regex characters such that\
|
|
the string can be inserted into a regex expression without triggering any special\
|
|
characters.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-far
|
|
(package
|
|
(name "node-far")
|
|
(version "0.0.7")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/felixge/node-far")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"083rv1rszjn0i91zcpaghlid0kwhk0angmpj4hiflrlyhd6cmjzw"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
;; We skip the two tests which are supposed to fail.
|
|
(invoke "bin/node-far" "-v" "test/" "-e" "test.*fail.js"))))))
|
|
(inputs
|
|
(list node-oop))
|
|
(home-page "https://github.com/felixge/node-far")
|
|
(synopsis "Node.js test runner")
|
|
(description "This package provides a simple test runner that finds and runs
|
|
multiple node.js files, while providing useful information about output and exit
|
|
codes.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-fast-xml-parser
|
|
(package
|
|
(name "node-fast-xml-parser")
|
|
(version "4.5.3")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/NaturalIntelligence/fast-xml-parser")
|
|
(commit "f8d4d427a31a52d4df82260ac1973d94ad73335b")))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "1wc5mgihrgync0vj79gk7g367rssqhzmzxl41kdhhcya045bis85"))
|
|
(modules '((guix build utils)))
|
|
(snippet #~(begin
|
|
(delete-file-recursively "lib")))))
|
|
(build-system node-build-system)
|
|
(inputs (list node-strnum))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'nyc'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies))))
|
|
(replace 'build (lambda _
|
|
(define output "output")
|
|
(mkdir output)
|
|
(for-each
|
|
(lambda (file) (install-file file output))
|
|
(list "CHANGELOG.md" "LICENSE" "package.json" "README.md"))
|
|
(copy-recursively "src" (string-append output "/src"))
|
|
(chdir output))))))
|
|
(synopsis "Validate XML, Parse XML, Build XML without C/C++ based libraries")
|
|
(description "Validate XML, Parse XML to JS Object, or Build XML from JS Object\
|
|
without C/C++ based libraries and no callback.
|
|
* Validate XML data syntactically. Use detailed-xml-validator to verify business rules.
|
|
* Parse XML to JS Objectand vice versa
|
|
* Common JS, ESM, and browser compatible
|
|
* Faster than any other pure JS implementation.
|
|
It can handle big files (tested up to 100mb). XML Entities, HTML entities, and DOCTYPE\
|
|
entites are supported. Unpaired tags (Eg <br> in HTML), stop nodes (Eg <script> in HTML)\
|
|
are supported. It can also preserve Order of tags in JS object")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-fastest-levenshtein
|
|
(package
|
|
(name "node-fastest-levenshtein")
|
|
(version "1.0.16")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/ka-weihe/fastest-levenshtein")
|
|
(commit "03d621ba324d0f665b3b7f557429ca622560d9a3")))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "11hpi4ifix8pwx2a2sfj3s1gcwb5mxdrqgdcdppmkl6krv3sxx02"))))
|
|
(build-system node-build-system)
|
|
; Use ESBuild because this package is used to build Typescript.
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match))
|
|
#:tests? #f ; FIXME: Tests require 'jest'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(delete-fields (list
|
|
"scripts.prepare"
|
|
"scripts.build")))))
|
|
(replace 'build (lambda _
|
|
(for-each
|
|
(match-lambda ((format outdir parameters)
|
|
(apply invoke (append
|
|
(list
|
|
"esbuild"
|
|
"mod.ts"
|
|
(string-append "--format=" format)
|
|
"--target=es2015"
|
|
(string-append "--outdir=" outdir))
|
|
parameters))))
|
|
(list
|
|
(list "esm" "esm" (list "--sourcemap"))
|
|
(list "cjs" "." (list "--platform=node")))))))))
|
|
(synopsis "Fastest Levenshtein distance implementation in JS")
|
|
(description "Fastest JS/TS implemenation of Levenshtein distance.
|
|
Measure the difference between two strings.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-file-uri-to-path
|
|
(package
|
|
(name "node-file-uri-to-path")
|
|
(version "2.0.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/TooTallNate/file-uri-to-path")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav"))))
|
|
(native-inputs
|
|
(list esbuild))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies
|
|
`("@types/mocha"
|
|
"@types/node"
|
|
"@typescript-eslint/eslint-plugin"
|
|
"@typescript-eslint/parser"
|
|
"cpy-cli"
|
|
"eslint"
|
|
"eslint-config-airbnb"
|
|
"eslint-config-prettier"
|
|
"eslint-import-resolver-typescript"
|
|
"eslint-plugin-import"
|
|
"eslint-plugin-jsx-a11y"
|
|
"eslint-plugin-react"
|
|
"mocha"
|
|
"rimraf"
|
|
"typescript")))))
|
|
(replace 'build
|
|
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
|
(copy-recursively "src" "dist")
|
|
(invoke (search-input-file (or native-inputs inputs)
|
|
"/bin/esbuild")
|
|
"dist/index.ts"
|
|
"--outfile=dist/src/index.js"
|
|
"--format=cjs"
|
|
"--sourcemap"
|
|
"--platform=node"))))
|
|
#:tests? #f))
|
|
(home-page "https://github.com/TooTallNate/file-uri-to-path")
|
|
(synopsis "Convert a @code{file:} URI to a file path")
|
|
(description "This package provides a function to convert a @code{file:}
|
|
URI to a file path. It accepts a @code{file:} URI and returns a file path
|
|
suitable for use with the @code{fs} module functions.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-glob
|
|
(package
|
|
(name "node-glob")
|
|
(version "10.1.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/isaacs/node-glob")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "19r0q9mxfbbma6z0iapf1jnccrz0hil69kihzbjjxzy9b7cgzmsd"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-minimatch
|
|
node-minipass-5
|
|
node-path-scurry))
|
|
; Use ESBuild instead of tshy because this is used to build Typescript.
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match))
|
|
#:tests? #f ; FIXME: Tests require 'c8' and 'tap'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(delete-fields (list
|
|
"scripts.prepare"))
|
|
(delete-dependencies (list
|
|
; Not currently used in other packages, but if there are
|
|
; issues we may need to add this in.
|
|
"fs.realpath")))))
|
|
(replace 'build
|
|
(lambda _
|
|
(define output "output")
|
|
(for-each
|
|
(match-lambda ((format directory)
|
|
(invoke
|
|
"esbuild"
|
|
"src/*.ts"
|
|
"--platform=node"
|
|
(string-append "--format=" format)
|
|
"--target=es2022"
|
|
"--sourcemap"
|
|
(string-append "--outdir=" output "/dist/" directory))))
|
|
(list (list "cjs" "cjs") (list "esm" "mjs")))
|
|
(for-each
|
|
(lambda (file) (install-file file output))
|
|
(list "LICENSE" "README.md" "package.json"))
|
|
(chdir output))))))
|
|
(synopsis "Match files using the patterns the shell uses")
|
|
(description "The most correct and second fastest glob implementation in JavaScript.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:isc)))
|
|
|
|
(define-public node-global-gradle-clean
|
|
(package
|
|
(name "node-global-gradle-clean")
|
|
(version "1.0.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/VarunBarad/global-gradle-clean")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1fhm4jimnf7bl5drgwg39mjh8x4rns15hl0fz3bnxi9ikc6dm02y"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f)) ;No tests.
|
|
(home-page "https://github.com/VarunBarad/global-gradle-clean")
|
|
(synopsis "Global Gradle Clean")
|
|
(description
|
|
"Global Gradle Clean is a Node.js package used to clean all gradle
|
|
projects under a given directory. It uses the gradle wrapper to execute the
|
|
clean task of each project.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-has-flag
|
|
(package
|
|
(name "node-has-flag")
|
|
(version "3.0.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/sindresorhus/has-flag")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0wz3ihagci5nk2fawbw2pfprnqbhlvxi79ikvrn4kkhh3vfn85q2"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'xo' and 'ava'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Check if argv has a specific flag")
|
|
(description "Check if argv has a specific flag
|
|
Correctly stops looking after an -- argument terminator.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-hereby
|
|
(package
|
|
(name "node-hereby")
|
|
(version "1.11.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/jakebailey/hereby")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0jdfrfvnz97nc2ly8ws98dwi05hcc6qs1p76xy0hjdf4r5yvirsj"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-command-line-usage
|
|
node-fastest-levenshtein
|
|
node-minimist
|
|
node-picocolors
|
|
node-pretty-ms))
|
|
; Use ESBuild because this is used to build Typescript.
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'ava'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies))))
|
|
(replace 'build (lambda _
|
|
(delete-file "tsconfig.json")
|
|
(delete-file-recursively "src/__tests__")
|
|
(invoke
|
|
"esbuild"
|
|
"src/**/*.ts"
|
|
"--platform=node"
|
|
"--format=esm"
|
|
"--sourcemap"
|
|
"--outdir=dist"))))))
|
|
(synopsis "Simple task runner")
|
|
(description "Tasks are defined in Herebyfile.mjs. Exported tasks are available to\
|
|
run at the CLI, with support for export default.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-ieee754
|
|
(package
|
|
(name "node-ieee754")
|
|
(version "1.2.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/feross/ieee754")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"19rlg59lavnwsvbblhvrqwinz2wzqlxhddqpwrc3cyqkscjgza7i"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dependencies
|
|
'("airtap" "standard" "tape"))))))))
|
|
(home-page "https://github.com/feross/ieee754")
|
|
(synopsis "Read/write IEEE754 floating point numbers in Javascript")
|
|
(description "This package can read and write IEEE754 floating point
|
|
numbers from/to a Buffer or array-like object in Javascript.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public node-inherits
|
|
(package
|
|
(name "node-inherits")
|
|
(version "2.0.4")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/isaacs/inherits")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies '("tap"))))))
|
|
;; FIXME: Tests depend on node-tap
|
|
#:tests? #f))
|
|
(home-page "https://github.com/isaacs/inherits")
|
|
(synopsis "Browser-friendly object inheritance")
|
|
(description "This package provides an alternative implementation of
|
|
Node's @code{inherits} constructor that can be used in browsers, while
|
|
defaulting to Node's implementation otherwise.")
|
|
(license license:isc)))
|
|
|
|
(define-public node-irc
|
|
(package
|
|
(name "node-irc")
|
|
(version "0.5.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/martynsmith/node-irc")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json
|
|
(delete-dependencies
|
|
`("ansi-color" "faucet" "jscs" "tape"))))))
|
|
#:tests? #f))
|
|
(inputs
|
|
(list node-irc-colors))
|
|
(home-page "https://github.com/martynsmith/node-irc")
|
|
(synopsis "IRC client library for Node.js")
|
|
(description "@code{node-irc} is an IRC client library for Node.js.
|
|
It has functions for joining, parting, talking, and many other IRC commands.")
|
|
(license license:gpl3+)))
|
|
|
|
(define-public node-irc-colors
|
|
(package
|
|
(name "node-irc-colors")
|
|
(version "1.5.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/fent/irc-colors.js")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies `("istanbul" "vows"))))))
|
|
#:tests? #f))
|
|
(home-page "https://github.com/fent/irc-colors.js")
|
|
(synopsis "Node.js module providing color and formatting for IRC")
|
|
(description "@code{node-irc-colors} is a Node.js module that
|
|
allows you to easily use colored output and formatting in IRC bots.
|
|
It contains functions for colours as well as more complex formatting
|
|
such as rainbows.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-isexe
|
|
(package
|
|
(name "node-isexe")
|
|
(version "2.0.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/isaacs/isexe")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "18rh937j0m0jkzdxfdvvjv6nsdbrdqipnq7nvv1ab7b7rjyw5id3"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'tap'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Minimal module to check if a file is executable.")
|
|
(description "Minimal module to check if a file is executable, and a normal file.
|
|
Uses fs.stat.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:isc)))
|
|
|
|
(define-public node-jsonc-parser
|
|
(package
|
|
(name "node-jsonc-parser")
|
|
(version "3.3.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/microsoft/node-jsonc-parser")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1pf3kxbx9v4h646hqfjw8r70y8vq9zl3l393nfcqzhm8z1skb3iy"))))
|
|
(build-system node-build-system)
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match))
|
|
#:tests? #f ; FIXME: Tests require 'mocha'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(delete-file-recursively "src/test")
|
|
(modify-json
|
|
(delete-dev-dependencies))))
|
|
(replace 'build (lambda _
|
|
(define output "output")
|
|
(define lib (string-append output "/lib"))
|
|
(mkdir-p lib)
|
|
(for-each
|
|
(match-lambda ((format directory parameters)
|
|
(apply invoke (append
|
|
(list
|
|
"esbuild"
|
|
"src/**/*.ts"
|
|
"--platform=node"
|
|
(string-append "--format=" format)
|
|
"--target=es2020"
|
|
(string-append "--outdir=" lib "/" directory))
|
|
parameters))))
|
|
(list
|
|
(list "cjs" "umd" (list "--global-name=jsoncParser"))
|
|
(list "esm" "esm" (list))))
|
|
(for-each
|
|
(lambda (file) (install-file file output))
|
|
(list
|
|
"CHANGELOG.md"
|
|
"LICENSE.md"
|
|
"package.json"
|
|
"README.md"
|
|
"SECURITY.md"))
|
|
(chdir output))))))
|
|
(synopsis "Scanner and parser for JSON with comments")
|
|
(description "JSONC is JSON with JavaScript style comments. This node module provides\
|
|
a scanner and fault tolerant parser that can process JSONC but is also useful for\
|
|
standard JSON.
|
|
* the scanner tokenizes the input string into tokens and token offsets
|
|
* the visit function implements a 'SAX' style parser with callbacks for the encountered\
|
|
properties and values.
|
|
* the parseTree function computes a hierarchical DOM with offsets representing the\
|
|
encountered properties and values.
|
|
* the parse function evaluates the JavaScript object represented by JSON string in a\
|
|
fault tolerant fashion.
|
|
* the getLocation API returns a location object that describes the property or value\
|
|
located at a given offset in a JSON document.
|
|
* the findNodeAtLocation API finds the node at a given location path in a JSON DOM.
|
|
* the format API computes edits to format a JSON document.
|
|
* the modify API computes edits to insert, remove or replace a property or value in a\
|
|
JSON document.
|
|
* the applyEdits API applies edits to a document.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-long-stack-traces
|
|
(package
|
|
(name "node-long-stack-traces")
|
|
(version "0.1.2")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/tlrobinson/long-stack-traces")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0famwsyc6xawi30v25zi65d8fhbvlvh976bqydf1dqn5gz200cl3"))))
|
|
(build-system node-build-system)
|
|
(arguments '(#:tests? #f)) ; No tests.
|
|
(home-page "https://github.com/tlrobinson/long-stack-traces")
|
|
(synopsis "Long stacktraces implemented in user-land JavaScript")
|
|
(description "This package provides long stacktraces for V8 implemented in
|
|
user-land JavaScript.")
|
|
(license license:expat))) ; in README
|
|
|
|
(define-public node-lru-cache
|
|
(package
|
|
(name "node-lru-cache")
|
|
(version "10.4.3")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/isaacs/node-lru-cache")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "1zqpm7d7czbqyymzgs4qadd0hiy6n290y6wwy1gwa46mmd1bxbr3"))))
|
|
(build-system node-build-system)
|
|
; Use ESBuild instead of tshy because this is used to build Typescript.
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match))
|
|
#:tests? #f ; FIXME: Tests require 'tap'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(delete-fields (list
|
|
"scripts.prepare")))))
|
|
(replace 'build
|
|
(lambda _
|
|
(define output "output")
|
|
(for-each
|
|
(match-lambda ((format directory type)
|
|
(define target-output (string-append output "/dist/" directory))
|
|
(invoke
|
|
"esbuild"
|
|
"src/*.ts"
|
|
"--platform=node"
|
|
"--target=es2022"
|
|
(string-append "--format=" format)
|
|
"--jsx=transform"
|
|
"--sourcemap"
|
|
(string-append "--outdir=" target-output))
|
|
(with-output-to-file
|
|
(string-append target-output "/package.json")
|
|
(lambda _
|
|
(display (string-append "{\"type\": \"" type "\"}"))))))
|
|
(list
|
|
(list "cjs" "commonjs" "commonjs")
|
|
(list "esm" "esm" "module")))
|
|
(for-each
|
|
(lambda (file) (install-file file output))
|
|
(list "LICENSE" "package.json" "README.md"))
|
|
(chdir output))))))
|
|
(synopsis "A fast cache that automatically deletes the least recently used items.")
|
|
(description "A cache object that deletes the least-recently-used items.
|
|
Specify a max number of the most recently used items that you want to keep, and
|
|
this cache will keep that many of the most recently accessed items.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:isc)))
|
|
|
|
(define-public node-mersenne
|
|
(package
|
|
(name "node-mersenne")
|
|
(version "0.0.4")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/jwatte/node-mersenne")
|
|
;; The actual release lacks a git tag.
|
|
(commit "f9fa01694ee49d6ae6ff9d90cfda594bddd3ccef")))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"034iaiq2pdqn342p2404cpz364g282d2hkp9375hysnh9i968wbb"))))
|
|
(build-system node-build-system)
|
|
(arguments '(#:tests? #f)) ; No tests.
|
|
(home-page "https://www.enchantedage.com/node-mersenne")
|
|
(synopsis "Node.js module for generating Mersenne Twister random numbers")
|
|
(description "This package provides a node.js port of the Mersenne Twister
|
|
random number generator.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public node-minimatch
|
|
(package
|
|
(name "node-minimatch")
|
|
(version "9.0.5")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/isaacs/minimatch")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "1m9lr4nalzml8l6lz09jmk3nhqm7jf6lkyybvdg0ccqx74si7d44"))))
|
|
(build-system node-build-system)
|
|
(inputs (list node-brace-expansion))
|
|
; Use ESBuild because this is used to build Typescript.
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match))
|
|
#:tests? #f ; FIXME: Tests require 'tap'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(delete-fields (list
|
|
"scripts.prepare")))))
|
|
(replace 'build
|
|
(lambda _
|
|
(define output "output")
|
|
(for-each
|
|
(match-lambda ((format directory type)
|
|
(define target-output (string-append output "/dist/" directory))
|
|
(invoke
|
|
"esbuild"
|
|
"src/*.ts"
|
|
"--platform=node"
|
|
"--target=es2022"
|
|
(string-append "--format=" format)
|
|
"--jsx=transform"
|
|
"--sourcemap"
|
|
(string-append "--outdir=" target-output))
|
|
(with-output-to-file
|
|
(string-append target-output "/package.json")
|
|
(lambda _
|
|
(display (string-append "{\"type\": \"" type "\"}"))))))
|
|
(list
|
|
(list "cjs" "commonjs" "commonjs")
|
|
(list "esm" "esm" "module")))
|
|
(for-each
|
|
(lambda (file) (install-file file output))
|
|
(list "LICENSE" "package.json" "README.md"))
|
|
(chdir output))))))
|
|
(synopsis "A glob matcher in javascript.")
|
|
(description "A minimal matching utility.
|
|
This is the matching library used internally by npm.
|
|
It works by converting glob expressions into JavaScript RegExp objects.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:isc)))
|
|
|
|
(define-public node-minimist
|
|
(package
|
|
(name "node-minimist")
|
|
(version "1.2.8")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/minimistjs/minimist")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "027nxm7pkam89qxdybf7sd1k3h84njykhhxmzn1l6psmvrkwbqb7"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Parse CLI arguments in Javascript")
|
|
(description "This package can scan for CLI flags and arguments in Javascript.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-minipass-5
|
|
(package
|
|
(name "node-minipass")
|
|
(version "5.0.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/isaacs/minipass")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "1xwxk9w290d0xsi9flzlrpdr4rwbq8q47d8hrzv27pzr2gf42nsz"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'tap'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(delete-fields (list
|
|
"scripts.prepare")))))
|
|
(replace 'build
|
|
(lambda _
|
|
(define output "output")
|
|
(mkdir output)
|
|
(invoke "node" "./scripts/transpile-to-esm.js")
|
|
(for-each
|
|
(lambda (file) (install-file file output))
|
|
(list "index.js" "index.mjs" "LICENSE" "package.json" "README.md"))
|
|
(chdir output))))))
|
|
(synopsis "Minimal implementation of a PassThrough stream")
|
|
(description "A very minimal implementation of a PassThrough stream
|
|
It's very fast for objects, strings, and buffers.
|
|
Supports pipe()ing (including multi-pipe() and backpressure transmission), buffering\
|
|
data until either a data event handler or pipe() is added (so you don't lose the first\
|
|
chunk), and most other cases where PassThrough is a good idea.
|
|
There is a read() method, but it's much more efficient to consume data from this stream\
|
|
via 'data' events or by calling pipe() into some other stream. Calling read() requires\
|
|
the buffer to be flattened in some cases, which requires copying memory.
|
|
If you set objectMode: true in the options, then whatever is written will be emitted.\
|
|
Otherwise, it'll do a minimal amount of Buffer copying to ensure proper Streams\
|
|
semantics when read(n) is called.
|
|
objectMode can only be set at instantiation. Attempting to write something other than a\
|
|
String or Buffer without having set objectMode in the options will throw an error.
|
|
This is not a through or through2 stream. It doesn't transform the data, it just passes\
|
|
it right through. If you want to transform the data, extend the class, and override the\
|
|
write() method. Once you're done transforming the data however you want, call\
|
|
super.write() with the transform output.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:isc)))
|
|
|
|
(define-public node-minipass-7
|
|
(package
|
|
(inherit node-minipass-5)
|
|
(version "7.1.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url (git-reference-url (origin-uri (package-source node-minipass-5))))
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name (package-name node-minipass-5) version))
|
|
(sha256 (base32 "0zqnnw9ibwm660md1pfqsiwbbpbizydiwjp4fr8niyzczxk66k1j"))))
|
|
; Use ESBuild because this is used to build Typescript.
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match))
|
|
#:tests? #f ; FIXME: Tests require 'tap'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(delete-fields (list
|
|
"scripts.prepare")))))
|
|
(replace 'build
|
|
(lambda _
|
|
(define output "output")
|
|
(for-each
|
|
(match-lambda ((format directory type)
|
|
(define target-output (string-append output "/dist/" directory))
|
|
(invoke
|
|
"esbuild"
|
|
"src/index.ts"
|
|
"--platform=node"
|
|
"--target=es2022"
|
|
(string-append "--format=" format)
|
|
"--jsx=transform"
|
|
"--sourcemap"
|
|
(string-append "--outdir=" target-output))
|
|
(with-output-to-file
|
|
(string-append target-output "/package.json")
|
|
(lambda _ (display (string-append "{\"type\": \"" type "\"}"))))))
|
|
(list
|
|
(list "cjs" "commonjs" "commonjs")
|
|
(list "esm" "esm" "module")))
|
|
(for-each
|
|
(lambda (file) (install-file file output))
|
|
(list "LICENSE" "package.json" "README.md"))
|
|
(chdir output))))))))
|
|
|
|
(define-public node-ms
|
|
(package
|
|
(name "node-ms")
|
|
(version "2.1.3")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/vercel/ms")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1l74kmmwffmzdz38lli0v5mdb9p9jmsjxpb48ncknqw2n74cgf08"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies
|
|
`("eslint"
|
|
"expect.js"
|
|
"husky"
|
|
"lint-staged"
|
|
"mocha"
|
|
"prettier"))))))
|
|
#:tests? #f))
|
|
(home-page "https://github.com/vercel/ms")
|
|
(synopsis "Convert time to milliseconds")
|
|
(description "Use this package to easily convert various time formats to
|
|
milliseconds. A number supplied as integer or string is returned as-is, while
|
|
a string consisting of a number and a time unit is converted to milliseconds.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-nan
|
|
(package
|
|
(name "node-nan")
|
|
(version "2.22.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/nodejs/nan")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "02gqm23x26glffvyxrnk610hy3hg0kwh2v58dhnb032l0jhjzqvp"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies
|
|
'("bindings"
|
|
"commander"
|
|
"glob"
|
|
"request"
|
|
"node-gyp" ;; would be needed for tests
|
|
"tap"
|
|
"xtend"))))))
|
|
;; tests need tap and other dependencies
|
|
#:tests? #f))
|
|
(inputs
|
|
(list node-readable-stream))
|
|
(home-page "https://github.com/nodejs/nan")
|
|
(synopsis "Native Abstractions for Node.js")
|
|
(description "Native Abstractions for Node.js (``NaN'') provides a header
|
|
file filled with macros and utilities for making add-on development for Node.js
|
|
easier across versions. The goal is to provide all logic necessary to develop
|
|
native Node.js addons without having to inspect @code{NODE_MODULE_VERSION}.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-normalize-path
|
|
(package
|
|
(name "node-normalize-path")
|
|
(version "3.0.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/jonschlinkert/normalize-path")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1l079szbgw2b9i5zx6zbwvxiivssa55a4pwfy4m7n6rdkcmsxf7f"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json (delete-dependencies
|
|
'("gulp-format-md" "mocha"))))))))
|
|
(native-inputs (list node-minimist))
|
|
(home-page "https://github.com/jonschlinkert/normalize-path")
|
|
(synopsis "Normalize slashes in a file path")
|
|
(description
|
|
"Normalize slashes in a file path to be POSIX/Unix-like forward slashes.
|
|
Can also condense repeated slashes to a single slash and remove trailing
|
|
slashes, unless disabled.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-once
|
|
(package
|
|
(name "node-once")
|
|
(version "1.4.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/isaacs/once")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies '("tap"))))))
|
|
;; FIXME: Tests depend on node-tap
|
|
#:tests? #f))
|
|
(inputs
|
|
(list node-wrappy))
|
|
(home-page "https://github.com/isaacs/once")
|
|
(synopsis "Node.js module to call a function only once")
|
|
(description
|
|
"@code{once} is a Node.js module to call a function exactly one time.
|
|
Subsequent calls will either return the cached previous value or throw an error
|
|
if desired.")
|
|
(license license:isc)))
|
|
|
|
(define-public node-oop
|
|
;; No releases, last commit was February 2013.
|
|
(let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
|
|
(revision "1"))
|
|
(package
|
|
(name "node-oop")
|
|
(version (git-version "0.0.0" revision commit))
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/felixge/node-oop")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0mqrcf0xi2jbwffwkk00cljpqfsri1jk8s6kz8jny45apn7zjds1"))))
|
|
(build-system node-build-system)
|
|
(arguments '(#:tests? #f)) ; Tests run during build phase.
|
|
(home-page "https://github.com/felixge/node-oop")
|
|
(synopsis "Simple, light-weight oop module for Node")
|
|
(description "This library tries to bring basic oop features to JavaScript
|
|
while being as light-weight and simple as possible.")
|
|
(license license:expat))))
|
|
|
|
(define-public node-parse-ms
|
|
(package
|
|
(name "node-parse-ms")
|
|
(version "3.0.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/sindresorhus/parse-ms")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1chq6a4q2ycswkpz16bgm7853g6rh3w1j5dr7061x9h6xip3mphb"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'xo', 'ava', and 'tsd'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Parse milliseconds into an object")
|
|
(description "Usage
|
|
import parseMilliseconds from 'parse-ms';
|
|
parseMilliseconds(1337000001);
|
|
/*
|
|
{
|
|
days: 15,
|
|
hours: 11,
|
|
minutes: 23,
|
|
seconds: 20,
|
|
milliseconds: 1,
|
|
microseconds: 0,
|
|
nanoseconds: 0
|
|
}
|
|
*/")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-path-key
|
|
(package
|
|
(name "node-path-key")
|
|
(version "4.0.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/sindresorhus/path-key")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "09f4rf70qhq234fcc3pw9nrqic8cb75pk2b6wfnpr96v0r1h8d8g"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dependencies
|
|
'("@types/node" "ava" "tsd" "xo"))))))))
|
|
(home-page "https://github.com/sindresorhus/path-key")
|
|
(synopsis "Cross-platform utility to compute the PATH environment variable key")
|
|
(description "@code{path-key} provides an implementation to compute the
|
|
particular cross-platform spellings of the PATH environment variable key.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-path-scurry
|
|
(package
|
|
(name "node-path-scurry")
|
|
(version "1.11.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/isaacs/path-scurry")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 "1vbmzg2pwmm441d9clk69fpij33ns5mblncy0za1x5f7d04jjyi2"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-lru-cache
|
|
node-minipass-7))
|
|
; Use ESBuild because this is used to build Typescript.
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match))
|
|
#:tests? #f ; FIXME: Tests require 'tap'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(delete-fields (list "scripts.prepare")))))
|
|
(replace 'build
|
|
(lambda _
|
|
(define output "output")
|
|
(for-each
|
|
(match-lambda ((format directory type)
|
|
(define target-output (string-append output "/dist/" directory))
|
|
(invoke
|
|
"esbuild"
|
|
"src/*.ts"
|
|
"--platform=node"
|
|
"--target=es2022"
|
|
(string-append "--format=" format)
|
|
"--jsx=transform"
|
|
"--sourcemap"
|
|
(string-append "--outdir=" target-output))
|
|
(with-output-to-file
|
|
(string-append target-output "/package.json")
|
|
(lambda _ (display (string-append "{\"type\": \"" type "\"}"))))))
|
|
(list
|
|
(list "cjs" "commonjs" "commonjs")
|
|
(list "esm" "esm" "module")))
|
|
(for-each
|
|
(lambda (file) (install-file file output))
|
|
(list "LICENSE.md" "package.json" "README.md"))
|
|
(chdir output))))))
|
|
(synopsis "Yet another file traversal library.")
|
|
(description "Extremely high performant utility for building tools that read\
|
|
the file system, minimizing filesystem and path string munging operations to\
|
|
the greatest degree possible..")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-pbf
|
|
(package
|
|
(name "node-pbf")
|
|
(version "3.2.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/mapbox/pbf")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1r8xs787ix79yr0vrwrizdml9h7cmxjrzhvnhkj784ac5f8nv5j7"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json (delete-dependencies
|
|
'("benchmark"
|
|
"browserify"
|
|
"eslint"
|
|
"eslint-config-mourner"
|
|
"mkdirp"
|
|
"protobufjs"
|
|
"protocol-buffers"
|
|
"tap"
|
|
"tile-stats-runner"
|
|
"uglify-js"))))))))
|
|
(inputs (list node-ieee754 node-resolve-protobuf-schema))
|
|
(home-page "https://github.com/mapbox/pbf")
|
|
(synopsis "Decode and encode protocol buffers in Javascript")
|
|
(description
|
|
"This package is a low-level, fast and lightweight JavaScript library
|
|
for decoding and encoding protocol buffers, a compact binary format for
|
|
structured data serialization. Works both in Node and the browser.
|
|
It supports lazy decoding and detailed customization of the reading/writing
|
|
code.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public node-picocolors
|
|
(package
|
|
(name "node-picocolors")
|
|
(version "1.1.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/alexeyraspopov/picocolors")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "04g0rl3i08fsakadmls21nbyk5srz7qpmic6m8fjxglbf5mvnsq7"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; Test is broken, possibly by being run in guix build.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Small and fast ANSI colors terminal output formatting library")
|
|
(description "The tiniest and the fastest library for terminal output formatting with\
|
|
ANSI colors.
|
|
* No dependencies.
|
|
* 14 times smaller and 2 times faster than chalk.
|
|
* Used by popular tools like PostCSS, SVGO, Stylelint, and Browserslist.
|
|
* Node.js v6+ & browsers support. Support for both CJS and ESM projects.
|
|
* TypeScript type declarations included.
|
|
* NO_COLOR friendly.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:isc)))
|
|
|
|
(define-public node-pretty-ms
|
|
(package
|
|
(name "node-pretty-ms")
|
|
(version "8.0.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/sindresorhus/pretty-ms")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "08pyb3lmkn1bn8icsi2r9jlkh24mzi39yr9k81p2hlgm46b8wiar"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-parse-ms))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'xo', 'ava', and 'tsd'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Milliseconds to humand readable string converter")
|
|
(description "Convert milliseconds to a human readable string:\
|
|
`1337000000` → `15d 11h 23m 20s`")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-protocol-buffers-schema
|
|
(package
|
|
(name "node-protocol-buffers-schema")
|
|
(version "3.6.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/mafintosh/protocol-buffers-schema")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0lnckxj14jzsnfxdd5kmlwrac43c214bv8i2g5rdldymlpxzrz1v"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json (delete-dependencies
|
|
'("standard" "tape"))))))))
|
|
(home-page "https://github.com/mafintosh/protocol-buffers-schema")
|
|
(synopsis "Protocol buffers schema parser written in Javascript")
|
|
(description "This package provides a protocol buffers schema parser
|
|
written in Javascript.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-readable-stream
|
|
(package
|
|
(name "node-readable-stream")
|
|
(version "3.6.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/nodejs/readable-stream")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies
|
|
`("@babel/cli"
|
|
"@babel/core"
|
|
"@babel/polyfill"
|
|
"@babel/preset-env"
|
|
"airtap"
|
|
"assert"
|
|
"bl"
|
|
"deep-strict-equal"
|
|
"events.once"
|
|
"glob"
|
|
"gunzip-maybe"
|
|
"hyperquest"
|
|
"lolex"
|
|
"nyc"
|
|
"pump"
|
|
"rimraf"
|
|
"tap"
|
|
"tape"
|
|
"tar-fs"
|
|
"util-promisify"))))))
|
|
#:tests? #f))
|
|
(inputs (list node-util-deprecate node-string-decoder node-inherits))
|
|
(home-page "https://github.com/nodejs/readable-stream")
|
|
(synopsis "Node.js core streams for userland")
|
|
(description
|
|
"@code{readable-stream} provides an implementation of Node.js core streams
|
|
that behaves the same across different versions.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-reduce-flatten
|
|
(package
|
|
(name "node-reduce-flatten")
|
|
(version "2.0.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/75lb/reduce-flatten")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0xw23djgi8agv06bbjc3x6wsca1xxnksbv7zd6cgxvmw15xqyb68"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'test-runner'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Flatten an array into the supplied array")
|
|
(description "Isomorphic map-reduce function to flatten an array into the supplied\
|
|
array.
|
|
Example
|
|
> numbers = [ 1, 2, [ 3, 4 ], 5 ]
|
|
> numbers.reduce(flatten, [])
|
|
[ 1, 2, 3, 4, 5 ]")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-resolve-protobuf-schema
|
|
(package
|
|
(name "node-resolve-protobuf-schema")
|
|
(version "2.1.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/mafintosh/resolve-protobuf-schema")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0zxavr0b2yz9xzp6zlsg5g09i0a6zqb24j12rdvfgph6wd4mzk40"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json (delete-dependencies
|
|
'("standard" "tape"))))))))
|
|
(inputs (list node-protocol-buffers-schema))
|
|
(home-page "https://github.com/mafintosh/resolve-protobuf-schema")
|
|
(synopsis "Resolve protobuf imports")
|
|
(description
|
|
"This package can read a protobuf schema from the disk, parse it and
|
|
resolve all imports.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-safe-buffer
|
|
(package
|
|
(name "node-safe-buffer")
|
|
(version "5.2.1")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/feross/safe-buffer")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies '("tape" "standard"))))))
|
|
#:tests? #f))
|
|
(home-page "https://github.com/feross/safe-buffer")
|
|
(synopsis "Buffer creation with explicit semantics")
|
|
(description "This package provides a drop-in replacement for Node.js
|
|
@code{Buffer} API, which provides newer, explicit constructors (such as
|
|
@code{Buffer.alloc(SIZE)}) in older versions.")
|
|
(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 _
|
|
(modify-json (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-segfault-handler
|
|
(package
|
|
(name "node-segfault-handler")
|
|
(version "1.3.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/ddopson/node-segfault-handler")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv"))))
|
|
(native-inputs
|
|
(list python))
|
|
(inputs
|
|
(list node-bindings node-nan))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
;; there are no tests
|
|
`(#:tests? #f))
|
|
(home-page "https://github.com/ddopson/node-segfault-handler")
|
|
(synopsis "Catches @code{SIGSEGV} and prints diagnostic information")
|
|
(description "This package is a tool for debugging Node.js C/C++ native
|
|
code modules and getting stack traces when things go wrong. If a
|
|
@code{SIGSEGV} signal is raised, the module will print a native stack trace to
|
|
both @file{stderr} and to a timestamped file.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public node-semver
|
|
(package
|
|
(name "node-semver")
|
|
(version "7.2.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/npm/node-semver")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies '("tap"))))))
|
|
;; FIXME: Tests depend on node-tap
|
|
#:tests? #f))
|
|
(home-page "https://github.com/npm/node-semver")
|
|
(synopsis "Parses semantic versions strings")
|
|
(description
|
|
"@code{node-semver} is a JavaScript implementation of the
|
|
@uref{https://semver.org/, SemVer.org} specification.")
|
|
(license license:isc)))
|
|
|
|
(define-public node-serialport
|
|
(package
|
|
(name "node-serialport")
|
|
(version "9.2.7")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/serialport/node-serialport")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8"))))
|
|
(inputs
|
|
(list node-serialport-bindings
|
|
node-serialport-parser-delimiter
|
|
node-serialport-parser-readline
|
|
node-serialport-parser-regex
|
|
node-serialport-parser-ready
|
|
node-serialport-parser-inter-byte-timeout
|
|
node-serialport-parser-cctalk
|
|
node-serialport-parser-byte-length
|
|
node-serialport-stream
|
|
node-debug))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies
|
|
`("@serialport/binding-mock")))))
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/serialport"))))
|
|
#:tests? #f))
|
|
(home-page "https://serialport.io")
|
|
(synopsis "Node.js package to access serial ports")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. This package is the recommended entry point for most
|
|
projects. It combines a high-level Node.js stream interface with a useful
|
|
default set of parsers and bindings.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-serialport-binding-abstract
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-binding-abstract")
|
|
(version "9.2.3")
|
|
(inputs
|
|
(list node-debug))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/binding-abstract"))))
|
|
#:tests? #f))
|
|
(synopsis "Abstract base class for Node SerialPort bindings")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
This package provides the @code{AbstractBinding} class, the base for all Node
|
|
SerialPort bindings. You wouldn't use this class directly, but instead extend
|
|
it to make a new binding for a different platform or underling technology.")))
|
|
|
|
(define-public node-serialport-bindings
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-bindings")
|
|
(version "9.2.7")
|
|
(native-inputs
|
|
(list python))
|
|
(inputs
|
|
(list node-nan node-bindings node-serialport-binding-abstract
|
|
node-serialport-parser-readline node-debug))
|
|
(arguments
|
|
`(#:modules
|
|
((guix build node-build-system)
|
|
(srfi srfi-1)
|
|
(ice-9 match)
|
|
(guix build utils))
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/bindings")))
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies '("prebuild-install"
|
|
;; devDependencies
|
|
"@serialport/binding-mock"
|
|
"node-abi")))))
|
|
(add-after 'chdir 'avoid-prebuild-install
|
|
(lambda args
|
|
(modify-json (delete-fields '(("scripts" "install")))
|
|
(replace-fields '(("gypfile" . #f)))))))
|
|
#:tests? #f))
|
|
(synopsis "Abstract base class for Node SerialPort bindings")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
This package provides the @code{Binding} class, which uses a native addon to
|
|
talk to the underlying system. You never have to use @code{Binding} objects
|
|
directly. There is also a @code{MockBinding} available (but not yet packaged
|
|
for Guix) to assist with testing.")))
|
|
|
|
(define-public node-serialport-parser-byte-length
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-parser-byte-length")
|
|
(version "9.2.4")
|
|
(inputs `())
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/parser-byte-length"))))
|
|
#:tests? #f))
|
|
(synopsis "Node SerialPort parser for fixed-length buffers")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
Parsers are used to take raw binary data and transform them into usable
|
|
messages. This package provides @code{ByteLength}, a parser that emits data
|
|
as a buffer every time a specified number of bytes are received.")))
|
|
|
|
(define-public node-serialport-parser-cctalk
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-parser-cctalk")
|
|
(version "9.2.4")
|
|
(inputs `())
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/parser-cctalk"))))
|
|
#:tests? #f))
|
|
(synopsis "Node SerialPort parser for the ccTalk protocol")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
Parsers are used to take raw binary data and transform them into usable
|
|
messages. This package provides @code{CCTalk}, which emits packets for the
|
|
ccTalk protocol (an open standard for currency detectors) as they are
|
|
received.")))
|
|
|
|
(define-public node-serialport-parser-delimiter
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-parser-delimiter")
|
|
(version "9.2.4")
|
|
(inputs `())
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/parser-delimiter"))))
|
|
#:tests? #f))
|
|
(synopsis "Node SerialPort parser to split data on a delimiter")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
Parsers are used to take raw binary data and transform them into usable
|
|
messages. This package provides @code{Delimiter}, a parser that emits data
|
|
each time a specified byte sequence is received.")))
|
|
|
|
(define-public node-serialport-parser-inter-byte-timeout
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-parser-inter-byte-timeout")
|
|
(version "9.2.4")
|
|
(inputs `())
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/parser-inter-byte-timeout"))))
|
|
#:tests? #f))
|
|
(synopsis "Node SerialPort parser to detect pauses in data")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
Parsers are used to take raw binary data and transform them into usable
|
|
messages. This package provides @code{InterByteTimeout}, a parser that emits
|
|
data if there is a pause between packets for the specified amount of time.")))
|
|
|
|
(define-public node-serialport-parser-readline
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-parser-readline")
|
|
(version "9.2.4")
|
|
(inputs
|
|
(list node-serialport-parser-delimiter))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/parser-readline"))))
|
|
#:tests? #f))
|
|
(synopsis "Node SerialPort parser to split data on newlines")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
Parsers are used to take raw binary data and transform them into usable
|
|
messages. This package provides @code{Readline}, a parser that emits data
|
|
after a (configurable) newline delimiter is received.")))
|
|
|
|
(define-public node-serialport-parser-ready
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-parser-ready")
|
|
(version "9.2.4")
|
|
(inputs `())
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/parser-ready"))))
|
|
#:tests? #f))
|
|
(synopsis "Node SerialPort parser to wait for specified byte sequence")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
Parsers are used to take raw binary data and transform them into usable
|
|
messages. This package provides @code{Ready}, a parser that waits for a
|
|
specified sequence of ``ready'' bytes before emitting a ready event and
|
|
emitting data events.")))
|
|
|
|
(define-public node-serialport-parser-regex
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-parser-regex")
|
|
(version "9.2.4")
|
|
(inputs `())
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/parser-regex"))))
|
|
#:tests? #f))
|
|
(synopsis "Node SerialPort parser to split data on a regular expression")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
Parsers are used to take raw binary data and transform them into usable
|
|
messages. This package provides @code{Regex}, a parser that uses a regular
|
|
expression to split the incoming text.")))
|
|
|
|
(define-public node-serialport-stream
|
|
(package
|
|
(inherit node-serialport)
|
|
(name "node-serialport-stream")
|
|
(version "9.2.4")
|
|
(inputs
|
|
(list node-debug))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json
|
|
(delete-dependencies `("@serialport/binding-mock")))))
|
|
(add-after 'unpack 'chdir
|
|
(lambda args
|
|
(chdir "packages/stream"))))
|
|
#:tests? #f))
|
|
(synopsis "Node.js stream interface for Node SerialPort")
|
|
(description "Node SerialPort is a modular suite of Node.js packages for
|
|
accessing serial ports. The Guix package @code{node-serialport} provides the
|
|
recommended high-level interface.
|
|
|
|
This package provides an interface for using Node SerialPort bindings via the
|
|
Node.js Stream API. The stream is a duplex stream, allowing for reading and
|
|
writing. It has additional methods for managing the SerialPort
|
|
connection.")))
|
|
|
|
(define-public node-source-map
|
|
(package
|
|
(name "node-source-map")
|
|
(version "0.6.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/mozilla/source-map")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0q8qaddi05387y8f58q0xlj7fjxf4mkymmir7wd9c5imqqs378md"))
|
|
(modules '((guix build utils)))
|
|
(snippet #~(begin
|
|
(delete-file-recursively "dist")))))
|
|
(build-system node-build-system)
|
|
(native-inputs (list esbuild))
|
|
(arguments (list
|
|
#:modules '(
|
|
(guix build node-build-system)
|
|
(guix build utils)
|
|
(ice-9 match)
|
|
(json))
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(replace-fields (list (cons "scripts.test" "node test/run-tests.js"))))))
|
|
(replace 'build (lambda _
|
|
(for-each
|
|
(match-lambda ((name parameters)
|
|
(apply invoke (append
|
|
(list
|
|
"esbuild"
|
|
"source-map.js"
|
|
"--bundle"
|
|
"--format=iife"
|
|
"--global-name=sourceMap"
|
|
(string-append "--outfile=dist/source-map" name ".js"))
|
|
parameters))))
|
|
(list
|
|
(list "" (list))
|
|
(list ".min" (list "--sourcemap" "--minify")))))))))
|
|
(synopsis "Generates and consumes source maps")
|
|
(description "This is a library to generate and consume the source map format\
|
|
@uref{https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k\
|
|
/edit, described here}.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:bsd-3)))
|
|
|
|
(define-public node-source-map-support
|
|
(package
|
|
(name "node-source-map-support")
|
|
(version "0.5.21")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/evanw/node-source-map-support")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1r03whfzy5f76wz4cf51gllxndxv9mk75p4aip6bxffv5p7apax3"))
|
|
(modules '((guix build utils)))
|
|
(snippet #~(begin
|
|
(delete-file "browser-source-map-support.js")))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-buffer-from
|
|
node-source-map))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'mocha'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
; Build only builds browser-source-map-support.js which we don't currently use
|
|
(delete-fields (list "scripts.build"))))))))
|
|
(synopsis "Fixes stack traces for files with source maps")
|
|
(description "This module provides source map support for stack traces in node via\
|
|
the V8 stack trace API. It uses the source-map module to replace the paths and line\
|
|
numbers of source-mapped files with their original paths and line numbers. The output\
|
|
mimics node's stack trace format with the goal of making every compile-to-JS language\
|
|
more of a first-class citizen. Source maps are completely general (not specific to any\
|
|
one language) so you can use source maps with multiple compile-to-JS languages in the\
|
|
same node process.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-sqlite3
|
|
(package
|
|
(name "node-sqlite3")
|
|
(version "5.0.2")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/mapbox/node-sqlite3")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h"))
|
|
(snippet
|
|
(with-imported-modules '((guix build utils))
|
|
#~(begin
|
|
(use-modules (guix build utils))
|
|
;; unbundle sqlite
|
|
(for-each delete-file-recursively
|
|
(find-files "deps"
|
|
(lambda (pth stat)
|
|
(gzip-file? pth)))))))))
|
|
(inputs
|
|
(list node-addon-api python sqlite))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
`(#:modules
|
|
((guix build node-build-system)
|
|
(srfi srfi-1)
|
|
(ice-9 match)
|
|
(guix build utils))
|
|
#:tests? #f ; FIXME: tests depend on node-mocha
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json
|
|
(delete-dependencies
|
|
`(;; Normally, this is "built" using @mapbox/node-pre-gyp,
|
|
;; which publishes or downloads pre-built binaries or
|
|
;; falls back to building from source. Here, we patch out
|
|
;; all of that and just build directly. It might be
|
|
;; better to patch a version of @mapbox/node-pre-gyp that
|
|
;; always builds from source, as Debian does, but there
|
|
;; are a number of dependencies that need to be packaged
|
|
;; or removed.
|
|
"@mapbox/node-pre-gyp"
|
|
"node-pre-gyp" ;; deprecated name still used in some places
|
|
"aws-sdk"
|
|
"@mapbox/cloudfriend"
|
|
;; Confusingly, this is only a dependency because of
|
|
;; @mapbox/node-pre-gyp: with that removed,
|
|
;; npm will use its own copy:
|
|
"node-gyp"
|
|
;; These we'd like, we just don't have them yet:
|
|
"eslint"
|
|
"mocha")))))
|
|
(add-before 'configure 'npm-config-sqlite
|
|
;; We need this step even if we do replace @mapbox/node-pre-gyp
|
|
;; because the package expects to build its bundled sqlite
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(setenv "npm_config_sqlite" (assoc-ref inputs "sqlite"))))
|
|
(add-after 'install 'patch-binding-path
|
|
;; We replace a file that dynamic searches for the addon using
|
|
;; node-pre-gyp (which we don't have) with a version that
|
|
;; simply uses the path to the addon we built directly.
|
|
;; The exact path is supposed to depend on things like the
|
|
;; architecture and napi_build_version, so, to avoid having
|
|
;; hard-code the details accurately, we do this after the addon
|
|
;; has been built so we can just find where it ended up.
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(with-directory-excursion
|
|
(search-input-directory outputs
|
|
"lib/node_modules/sqlite3/lib")
|
|
(match (find-files "binding" "\\.node$")
|
|
((rel-path)
|
|
(with-atomic-file-replacement "sqlite3-binding.js"
|
|
(lambda (in out)
|
|
(format out "var binding = require('./~a');\n" rel-path)
|
|
(display "module.exports = exports = binding;\n"
|
|
out))))))))
|
|
(add-after 'patch-dependencies 'avoid-node-pre-gyp
|
|
(lambda args
|
|
;; We need to patch .npmignore before the 'repack phase
|
|
;; so that the built addon is installed with in the package.
|
|
;; (Upstream assumes node-pre-gyp will download a pre-built
|
|
;; version when this package is installed.)
|
|
(substitute* ".npmignore"
|
|
(("lib/binding")
|
|
"#lib/binding # <- patched for Guix"))
|
|
(modify-json
|
|
(lambda (pkg-meta-alist)
|
|
(let ((binary-alist (assoc-ref pkg-meta-alist "binary")))
|
|
;; When it builds from source, node-pre-gyp supplies
|
|
;; module_name and module_path based on the entries under
|
|
;; "binary" from "package.json", so this package's
|
|
;; "binding.gyp" doesn't define them. Thus, we also need
|
|
;; to supply them. The GYP_DEFINES environment variable
|
|
;; turns out to be the easiest way to make sure they are
|
|
;; propagated from npm to node-gyp to gyp.
|
|
(setenv "GYP_DEFINES" (string-append
|
|
"module_name="
|
|
(assoc-ref binary-alist "module_name")
|
|
" module_path="
|
|
(assoc-ref binary-alist "module_path"))))
|
|
pkg-meta-alist)
|
|
;; We need to remove the install script from "package.json",
|
|
;; as it would try to use node-pre-gyp and would block the
|
|
;; automatic building performed by `npm install`.
|
|
(delete-fields `(("scripts" "install")))))))))
|
|
(home-page "https://github.com/mapbox/node-sqlite3")
|
|
(synopsis "Node.js bindings for SQLite3")
|
|
(description
|
|
"@code{node-sqlite3} provides a set of a Node.js bindings for interacting
|
|
with SQLite3 databases.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public node-stack-trace
|
|
;; There have been improvements since the last release.
|
|
(let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")
|
|
(revision "1"))
|
|
(package
|
|
(name "node-stack-trace")
|
|
(version (git-version "0.0.10" revision commit))
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/felixge/node-stack-trace")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1pk19wcpy8i95z5jr77fybd57qj7xmzmniap4dy47vjlmpkqia4i"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'check 'skip-intentionally-failing-test
|
|
(lambda _
|
|
(substitute* "test/run.js"
|
|
(("far.include") "far.exclude(/test-parse.js/)\nfar.include"))
|
|
#t)))))
|
|
(native-inputs
|
|
(list node-far node-long-stack-traces))
|
|
(home-page "https://github.com/felixge/node-stack-trace")
|
|
(synopsis "Get v8 stack traces as an array of CallSite objects")
|
|
(description "Get v8 stack traces as an array of CallSite objects.")
|
|
(license license:expat))))
|
|
|
|
(define-public node-statsd-parser
|
|
(package
|
|
(name "node-statsd-parser")
|
|
(version "0.0.4")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/dscape/statsd-parser")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"049rnczsd6pv6bk282q4w72bhqc5cs562djgr7yncy7lk0wzq5j3"))))
|
|
(build-system node-build-system)
|
|
(arguments '(#:tests? #f)) ; No tests.
|
|
(home-page "https://github.com/dscape/statsd-parser")
|
|
(synopsis "Streaming parser for the statsd protocol")
|
|
(description "This package provides a streaming parser for the statsd
|
|
protocol used in @code{node-lynx}.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public node-string-decoder
|
|
(package
|
|
(name "node-string-decoder")
|
|
(version "1.3.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/nodejs/string_decoder")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json
|
|
(delete-dependencies
|
|
'("tap" "core-util-is" "babel-polyfill"))))))
|
|
;; FIXME: Tests depend on node-tap
|
|
#:tests? #f))
|
|
(inputs (list node-safe-buffer node-inherits))
|
|
(home-page "https://github.com/nodejs/string_decoder")
|
|
(synopsis "Decode buffers while preserving multi-byte sequences")
|
|
(description "This package provides a user-land implementation of
|
|
Node-core's @code{string_decoder}, which serves to decode buffers to
|
|
strings so that the decoded string does not contain incomplete multibyte
|
|
sequences.")
|
|
(license license:expat)))
|
|
|
|
; Beware of this package. Version 1.x is for CJS and 2.x for ESM, but they've
|
|
; been publishing the 1.x version by hand, it's not checked into the repo.
|
|
; Currently switching from ESM to CJS in this package definition.
|
|
(define-public node-strnum
|
|
(package
|
|
(name "node-strnum")
|
|
(version "1.1.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/NaturalIntelligence/strnum")
|
|
(commit "6ed1b2fc39f169c35c2fc06ec89e7b7fd17fa0ce")))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0ghi1j76fh6d572jwvh1zw8m9h8g480dj5snkpl7b0di30s8qbyi"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'jasmine'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(delete-fields (list "type"))
|
|
(replace-fields (list (cons "version" #$version))))))
|
|
(replace 'build (lambda _
|
|
(define problem-file "strnum.js")
|
|
(substitute* problem-file (("^export default ") ""))
|
|
(let ((problem-file-port (open-file problem-file "a")))
|
|
(display "\nmodule.exports = toNumber;" problem-file-port)
|
|
(close-port problem-file-port)))))))
|
|
(synopsis "Parse String to Number based on configuration")
|
|
(description "Javascript library that parses a string into a number.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-supports-color
|
|
(package
|
|
(name "node-supports-color")
|
|
(version "5.5.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/chalk/supports-color")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1wfwzxjh4q7wv8p8wjrhlcdljdydjpcydgdysy9y161xy6r99db9"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-has-flag))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'xo' and 'ava'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Detect whether a terminal supports color")
|
|
(description "Returns an Object with a stdout and stderr property for testing either\
|
|
streams. Each property is an Object, or false if color is not supported.
|
|
|
|
The stdout/stderr objects specifies a level of support for color through a .level\
|
|
property and a corresponding flag:
|
|
|
|
* .level = 1 and .hasBasic = true: Basic color support (16 colors)
|
|
* .level = 2 and .has256 = true: 256 color support
|
|
* .level = 3 and .has16m = true: Truecolor support (16 million colors)")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-table-layout
|
|
(package
|
|
(name "node-table-layout")
|
|
(version "1.0.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/75lb/table-layout")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1k21p0ia995ax1biknalivq444jw9xy31bp52a5sq3rwlnzp0vbx"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-typical
|
|
node-array-back
|
|
node-wordwrapjs
|
|
node-deep-extend))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'test-runner'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Stylable text tables for handling ansi colour")
|
|
(description "Generates plain-text tables from JSON recordset input (array of\
|
|
objects). Useful for presenting text in column layout or data in table layout in\
|
|
text-based user interfaces.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-tiddlywiki
|
|
(package
|
|
(name "node-tiddlywiki")
|
|
(version "5.3.6")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/TiddlyWiki/TiddlyWiki5")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1x5rr1phzvymys8rwkxl1xv377j8c5dvl89yjf702adr2yfhq848"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
(list
|
|
#:phases #~(modify-phases %standard-phases
|
|
(delete 'build)
|
|
(add-after 'patch-dependencies 'delete-dev-dependencies
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dependencies '("eslint" "@eslint/js"))))))))
|
|
(home-page "https://github.com/TiddlyWiki/TiddlyWiki5#readme")
|
|
(synopsis "Non-linear personal web notebook")
|
|
(description "TiddlyWiki is a unique non-linear notebook for capturing,
|
|
organising and sharing complex information. Running TiddlyWiki on Node.js brings
|
|
several important benefits over and above the single file version:
|
|
@enumerate
|
|
@item Individual tiddlers are stored in separate files, which you can organise as you
|
|
wish.
|
|
@item The ability to build multiple wikis that blend different combinations of shared
|
|
and unique content.
|
|
@item You can edit your content on any modern browser, including smartphones and
|
|
tablets.
|
|
@end enumerate")
|
|
(license license:bsd-3)))
|
|
|
|
(define (node-types type version commit hash inputs)
|
|
(package
|
|
(name (string-append "node-types-" type))
|
|
(version version)
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/DefinitelyTyped/DefinitelyTyped")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256 (base32 hash))))
|
|
(build-system node-build-system)
|
|
(inputs (force inputs))
|
|
(arguments (list
|
|
#:tests? #f ; Static files, no tests.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-after 'unpack 'setup (lambda _
|
|
(chdir (string-append "types/" #$type))
|
|
(modify-json
|
|
(delete-dev-dependencies)
|
|
(replace-fields (list
|
|
(cons "version" #$version)))))))))
|
|
(synopsis (string-append "TypeScript definitions for " type))
|
|
(description (string-append "Typescript definition files (*.d.ts) for '" type "'."))
|
|
(home-page (string-append
|
|
(git-reference-url (origin-uri source)) "/tree/master/types/" type))
|
|
(license license:expat)))
|
|
|
|
(define-public node-types-node
|
|
(node-types
|
|
"node"
|
|
"22.14.0" ; Match with version of node used
|
|
"1f6ca6ff73af20b951f5ea6ecbea6668eff1750f"
|
|
"05q0cj2b35z27fv1b00kr8ja5hj2dzl4shx1mwk0jg44z1cwkp0j"
|
|
(delay (list node-undici-types))))
|
|
|
|
(define-public node-types-source-map-support
|
|
(node-types
|
|
"source-map-support"
|
|
"0.5.10"
|
|
"05766ab10a4987e93fdee7627f9fe9e7bc6d1a65"
|
|
"1p2kakd1mhcps5c19wl65w9gkafd13qdy9hszriak4xpad8a2nz7"
|
|
(delay (list node-source-map))))
|
|
|
|
(define-public node-typical
|
|
(package
|
|
(name "node-typical")
|
|
(version "5.2.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/75lb/typical")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "072fqdw7qrgh1cnri19z3rf702hh8p6agh3npkzwrywjmlnndfdm"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'test-runner'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Type-checking library for Javascript")
|
|
(description "Isomorphic, functional type-checking for Javascript.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-undici-types
|
|
(package
|
|
(name "node-undici-types")
|
|
(version "7.8.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/nodejs/undici")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name "node-undici" version))
|
|
(sha256
|
|
(base32 "044qy77m15m2pbk83pyyr6ql9imgmj4p8kdkn0v9qh9dnh5w6vdg"))))
|
|
(build-system node-build-system)
|
|
(arguments (list
|
|
#:tests? #f ; No tests.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-after 'unpack 'setup (lambda _
|
|
(invoke "node" "scripts/generate-undici-types-package-json.js")
|
|
(chdir "types"))))))
|
|
(synopsis "Stand-alone types package for Undici")
|
|
(description "Typescript definition (d.ts) files for Undici.")
|
|
(home-page "https://undici.nodejs.org")
|
|
(license license:expat)))
|
|
|
|
(define-public node-util-deprecate
|
|
(package
|
|
(name "node-util-deprecate")
|
|
(version "1.0.2")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/TooTallNate/util-deprecate")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1rk94nl3qc7znsk8400bnga30v0m7j2mmvz9ldwjinxv1d3n11xc"))))
|
|
(build-system node-build-system)
|
|
(arguments '(#:tests? #f)) ; No test suite.
|
|
(home-page "https://github.com/TooTallNate/util-deprecate")
|
|
(synopsis "Node.js `util.deprecate()` function with browser support")
|
|
(description "This package provides the Node.js @code{util.deprecate()}
|
|
function with browser support.")
|
|
(license license:expat)))
|
|
|
|
(define-public node-which
|
|
(package
|
|
(name "node-which")
|
|
(version "3.0.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/npm/node-which")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1ra5y2l02difjpvgh6la6g7jz782misn0n7d06miqlmvd26mldvk"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-isexe))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'tap'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Find the first instance of an executable in PATH")
|
|
(description "Like which(1) unix command. Find the first instance of an executable\
|
|
in the PATH.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:isc)))
|
|
|
|
(define-public node-wordwrapjs
|
|
(package
|
|
(name "node-wordwrapjs")
|
|
(version "4.0.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/75lb/wordwrapjs")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "126rsbhn2dkxq4dy2p2ylwcjdipgk9mkqp47y5n4l5pjkhyv7lwr"))))
|
|
(build-system node-build-system)
|
|
(inputs (list
|
|
node-reduce-flatten
|
|
node-typical))
|
|
(arguments (list
|
|
#:tests? #f ; FIXME: Tests require 'test-runner'.
|
|
#:phases #~(modify-phases %standard-phases
|
|
(add-before 'patch-dependencies 'modify-package (lambda _
|
|
(modify-json
|
|
(delete-dev-dependencies)))))))
|
|
(synopsis "Word-wrapping library for javascript")
|
|
(description "Word wrapping, with a few features.
|
|
* force-break option
|
|
* wraps hypenated words
|
|
* multilingual - wraps any language that uses whitespace for word separation.")
|
|
(home-page (git-reference-url (origin-uri source)))
|
|
(license license:expat)))
|
|
|
|
(define-public node-wrappy
|
|
(package
|
|
(name "node-wrappy")
|
|
(version "1.0.2")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/npm/wrappy")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1ymlc61cja6v5438vwb04gq8wg2b784lj39zf0g4i36fvgcw9783"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f ; FIXME: Tests depend on node-tap
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda args
|
|
(modify-json (delete-dependencies '("tap"))))))))
|
|
(home-page "https://github.com/npm/wrappy")
|
|
(synopsis "Callback wrapping utility")
|
|
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
|
|
(license license:isc)))
|
|
|
|
(define-public node-yazl
|
|
(package
|
|
(name "node-yazl")
|
|
(version "2.5.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/thejoshwolfe/yazl")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1lhwqqnvazpi4xw81ldpx0ky0h1j5rcx3br480q2bnzj21cm109n"))))
|
|
(build-system node-build-system)
|
|
(arguments
|
|
'(#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-after 'patch-dependencies 'delete-dependencies
|
|
(lambda _
|
|
(modify-json
|
|
(delete-dependencies
|
|
'("airtap" "bl" "istanbul" "yauzl"))))))))
|
|
(inputs (list node-buffer-crc32))
|
|
(home-page "https://github.com/thejoshwolfe/yazl")
|
|
(synopsis "Yet another zip library for node")
|
|
(description
|
|
"This package provides a zip library for Node. It follows the
|
|
following principles:
|
|
@enumerate
|
|
@item Don't block the JavaScript thread. Use and provide async APIs.
|
|
@item Keep memory usage under control. Don't attempt to buffer entire
|
|
files in RAM at once.
|
|
@item Prefer to open input files one at a time than all at once.
|
|
@end enumerate")
|
|
(license license:expat)))
|
|
|
|
;;;
|
|
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
|
;;; of a merge conflict, place them above in alphabetic order.
|
|
;;;
|