diff options
author | Yuka <yuka@yuka.dev> | 2021-10-08 14:18:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-08 14:18:57 +0200 |
commit | b27d18a412b071f5d7991d1648cfe78ee7afe68a (patch) | |
tree | 3ee7aafb1e71944f50e798b9ea45055c3b0f6318 /pkgs/development/tools/yarn2nix-moretea/yarn2nix | |
parent | 839fb3f5231b29091c6951c0fda29f9b8cd2bc19 (diff) | |
download | nixpkgs-b27d18a412b071f5d7991d1648cfe78ee7afe68a.tar nixpkgs-b27d18a412b071f5d7991d1648cfe78ee7afe68a.tar.gz nixpkgs-b27d18a412b071f5d7991d1648cfe78ee7afe68a.tar.bz2 nixpkgs-b27d18a412b071f5d7991d1648cfe78ee7afe68a.tar.lz nixpkgs-b27d18a412b071f5d7991d1648cfe78ee7afe68a.tar.xz nixpkgs-b27d18a412b071f5d7991d1648cfe78ee7afe68a.tar.zst nixpkgs-b27d18a412b071f5d7991d1648cfe78ee7afe68a.zip |
yarn2nix: handle codeload.github.com uris in IFD mode (#136922)
Diffstat (limited to 'pkgs/development/tools/yarn2nix-moretea/yarn2nix')
-rwxr-xr-x | pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js | 10 | ||||
-rw-r--r-- | pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js | 10 |
2 files changed, 15 insertions, 5 deletions
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js index d4f160b124d..d6b4dcf358c 100755 --- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js +++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js @@ -53,7 +53,7 @@ if (json.type !== 'success') { // Check for missing hashes in the yarn.lock and patch if necessary -const pkgs = R.pipe( +let pkgs = R.pipe( mapObjIndexedReturnArray((value, key) => ({ ...value, nameWithVersion: key, @@ -61,10 +61,10 @@ const pkgs = R.pipe( R.uniqBy(R.prop('resolved')), )(json.object) -const fixedPkgsPromises = R.map(fixPkgAddMissingSha1, pkgs) - ;(async () => { - const fixedPkgs = await Promise.all(fixedPkgsPromises) + if (!options['--no-patch']) { + pkgs = await R.map(fixPkgAddMissingSha1, pkgs) + } const origJson = lockfile.parse(data) @@ -81,7 +81,7 @@ const fixedPkgsPromises = R.map(fixPkgAddMissingSha1, pkgs) if (!options['--no-nix']) { // print to stdout - console.log(generateNix(fixedPkgs, options['--builtin-fetchgit'])) + console.log(generateNix(pkgs, options['--builtin-fetchgit'])) } })().catch(error => { console.error(error) diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js index 407a602dc5a..7df4679a130 100644 --- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js +++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js @@ -80,6 +80,16 @@ function fetchLockedDep(builtinFetchGit) { const fileName = urlToName(url) + if (resolved.startsWith('https://codeload.github.com/')) { + const s = resolved.split('/') + const githubUrl = `https://github.com/${s[3]}/${s[4]}.git` + const githubRev = s[6] + + const [_, branch] = nameWithVersion.split('#') + + return fetchgit(fileName, githubUrl, rev, branch || 'master', builtinFetchGit) + } + if (url.startsWith('git+') || url.startsWith("git:")) { const rev = sha1OrRev |