summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2021-12-09 01:49:46 +0100
committerGitHub <noreply@github.com>2021-12-09 01:49:46 +0100
commitb121d01d2918a51d8a8f8146559f172b812e4ec3 (patch)
tree61237a5ba3cd677ed66c415af65628e18e8ead9c /pkgs
parentaf4d8dbdde9e5af9de02fab8132bdad59501f63f (diff)
parent487aaa905f78e7f3acaef238650552d74730851b (diff)
downloadnixpkgs-b121d01d2918a51d8a8f8146559f172b812e4ec3.tar
nixpkgs-b121d01d2918a51d8a8f8146559f172b812e4ec3.tar.gz
nixpkgs-b121d01d2918a51d8a8f8146559f172b812e4ec3.tar.bz2
nixpkgs-b121d01d2918a51d8a8f8146559f172b812e4ec3.tar.lz
nixpkgs-b121d01d2918a51d8a8f8146559f172b812e4ec3.tar.xz
nixpkgs-b121d01d2918a51d8a8f8146559f172b812e4ec3.tar.zst
nixpkgs-b121d01d2918a51d8a8f8146559f172b812e4ec3.zip
Merge pull request #119522 from AmineChikhaoui/yarn2nix-use-integrity-field
yarn2nix: use yarn lockfile integrity field whenever possible
Diffstat (limited to 'pkgs')
-rwxr-xr-xpkgs/development/tools/yarn2nix-moretea/yarn2nix/internal/fixup_yarn_lock.js4
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js6
2 files changed, 5 insertions, 5 deletions
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/internal/fixup_yarn_lock.js b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/internal/fixup_yarn_lock.js
index 86e92f85208..3c067fc99aa 100755
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/internal/fixup_yarn_lock.js
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/internal/fixup_yarn_lock.js
@@ -25,14 +25,14 @@ const result = []
 
 readFile
   .on('line', line => {
-    const arr = line.match(/^ {2}resolved "([^#]+)#([^"]+)"$/)
+    const arr = line.match(/^ {2}resolved "([^#]+)(#[^"]+)?"$/)
 
     if (arr !== null) {
       const [_, url, shaOrRev] = arr
 
       const fileName = urlToName(url)
 
-      result.push(`  resolved "${fileName}#${shaOrRev}"`)
+      result.push(`  resolved "${fileName}${shaOrRev ?? ''}"`)
     } else {
       result.push(line)
     }
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
index 1e7b4f34100..5004e6f3903 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
@@ -69,7 +69,7 @@ function fetchgit(fileName, url, rev, branch, builtinFetchGit) {
 
 function fetchLockedDep(builtinFetchGit) {
   return function (pkg) {
-    const { nameWithVersion, resolved } = pkg
+    const { integrity, nameWithVersion, resolved } = pkg
 
     if (!resolved) {
       console.error(
@@ -102,14 +102,14 @@ function fetchLockedDep(builtinFetchGit) {
       return fetchgit(fileName, urlForGit, rev, branch || 'master', builtinFetchGit)
     }
 
-    const sha = sha1OrRev
+    const [algo, hash] = integrity ? integrity.split('-') : ['sha1', sha1OrRev]
 
     return `    {
       name = "${fileName}";
       path = fetchurl {
         name = "${fileName}";
         url  = "${url}";
-        sha1 = "${sha}";
+        ${algo} = "${hash}";
       };
     }`
   }