Merge pull request #119522 from AmineChikhaoui/yarn2nix-use-integrity-field

yarn2nix: use yarn lockfile integrity field whenever possible
main
Jan Tojnar 3 years ago committed by GitHub
commit b121d01d29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      pkgs/development/tools/yarn2nix-moretea/yarn2nix/internal/fixup_yarn_lock.js
  2. 6
      pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.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)
}

@ -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}";
};
}`
}

Loading…
Cancel
Save