diff options
| author | Daniel Khodabakhsh <d@niel.khodabakh.sh> | 2025-06-23 15:46:59 +0200 |
|---|---|---|
| committer | Jelle Licht <jlicht@fsfe.org> | 2025-06-23 16:08:22 +0200 |
| commit | 6158e7872cf1bfc77b3874430375e94a7ebae0c2 (patch) | |
| tree | 1476102998c552ce6dc5c148dc2dd4364b125d9b /gnu | |
| parent | 0a07c7310eff1eaa8ace4dbaf732534a03f30865 (diff) | |
gnu: Add node-esbuild.
* gnu/packages/web.scm (node-esbuild): New variable.
Change-Id: I9538646b7ea0fa2b88a1844a09e696676552c06b
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/web.scm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 74bdc657fa5..3a8cc0b3aee 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -73,6 +73,7 @@ ;;; Copyright © 2025 Junker <dk@junkeria.club>" ;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com> ;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>" +;;; Copyright © 2025 Daniel Khodabakhsh <d@niel.khodabakh.sh> ;;; ;;; This file is part of GNU Guix. ;;; @@ -107,6 +108,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) + #:use-module (guix build-system node) #:use-module (guix build-system perl) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) @@ -2284,6 +2286,54 @@ directions.") (native-inputs (list go-github-com-kylelemons-godebug node-lts)))) +(define-public node-esbuild + (package + (name "node-esbuild") + (version (package-version esbuild)) + (source + (origin + (inherit (package-source esbuild)) + (file-name (git-file-name name version)) + (snippet #f) + (modules '()))) + (build-system node-build-system) + (inputs (list esbuild)) + (arguments (list + #:tests? #f + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'chdir (lambda _ + (chdir "npm/esbuild"))) + (add-before 'patch-dependencies 'modify-package (lambda _ + (modify-json + (delete-fields '("optionalDependencies" "scripts"))) + (substitute* "../../lib/npm/node-platform.ts" + (("^export var ESBUILD_BINARY_PATH:.+$") + (string-append "export var ESBUILD_BINARY_PATH: string" + " = process.env.ESBUILD_BINARY_PATH" + " || ESBUILD_BINARY_PATH" + " || path.join(__dirname, '..', 'bin', 'esbuild')"))))) + (replace 'build (lambda* (#:key inputs #:allow-other-keys) + ; From scripts/esbuild.js + (invoke + "esbuild" + "../../lib/npm/node.ts" + "--outfile=lib/main.js" + "--bundle" + "--target=node10" + "--define:WASM=false" + (string-append "--define:ESBUILD_VERSION=\"" #$version "\"") + "--external:esbuild" + "--platform=node" + "--log-level=warning") + (copy-file "../../lib/shared/types.ts" "lib/main.d.ts") + (install-file + (string-append (assoc-ref inputs "esbuild") "/bin/esbuild") + "bin")))))) + (home-page (package-home-page esbuild)) + (synopsis "Node module of ESBuild") + (description (package-description esbuild)) + (license (package-license esbuild)))) + (define-public wwwoffle (package (name "wwwoffle") |
