about summary refs log tree commit diff
path: root/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/continuous-integration/woodpecker/frontend.nix')
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/frontend.nix23
1 files changed, 20 insertions, 3 deletions
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix b/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
index ccd9a36b8c860..01767d6fe00eb 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
@@ -1,6 +1,19 @@
-{ lib, callPackage, fetchFromGitHub, fetchYarnDeps, mkYarnPackage }:
+{ lib, buildPackages, callPackage, fetchFromGitHub, fetchYarnDeps, mkYarnPackage }:
 let
   common = callPackage ./common.nix { };
+
+  esbuild_0_17_19 = buildPackages.esbuild.overrideAttrs (_: rec {
+    version = "0.17.19";
+
+    src = fetchFromGitHub {
+      owner = "evanw";
+      repo = "esbuild";
+      rev = "v${version}";
+      hash = "sha256-PLC7OJLSOiDq4OjvrdfCawZPfbfuZix4Waopzrj8qsU=";
+    };
+
+    vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
+  });
 in
 mkYarnPackage {
   pname = "woodpecker-frontend";
@@ -9,15 +22,19 @@ mkYarnPackage {
   src = "${common.src}/web";
 
   packageJSON = ./woodpecker-package.json;
+  yarnLock = ./yarn.lock;
+
   offlineCache = fetchYarnDeps {
-    yarnLock = "${common.src}/web/yarn.lock";
+    yarnLock = ./yarn.lock;
     hash = common.yarnHash;
   };
 
+  ESBUILD_BINARY_PATH = lib.getExe esbuild_0_17_19;
+
   buildPhase = ''
     runHook preBuild
 
-    yarn build
+    yarn --offline build
 
     runHook postBuild
   '';