Merge pull request #200967 from Smona/yarn2nix-yarn-and-node-overrides

yarn2nix: add easy yarn & nodejs pkg overrides
This commit is contained in:
Ryan Lahfa
2023-01-22 18:09:20 +01:00
committed by GitHub
@@ -2,7 +2,7 @@
, nodejs ? pkgs.nodejs
, yarn ? pkgs.yarn
, allowAliases ? pkgs.config.allowAliases
}:
}@inputs:
let
inherit (pkgs) stdenv lib fetchurl linkFarm callPackage git rsync makeWrapper runCommandLocal;
@@ -70,6 +70,8 @@ in rec {
offlineCache ? importOfflineCache yarnNix,
yarnFlags ? [ ],
ignoreScripts ? true,
nodejs ? inputs.nodejs,
yarn ? inputs.yarn.override { nodejs = nodejs; },
pkgConfig ? {},
preBuild ? "",
postBuild ? "",
@@ -169,6 +171,8 @@ in rec {
src,
packageJSON ? src + "/package.json",
yarnLock ? src + "/yarn.lock",
nodejs ? inputs.nodejs,
yarn ? inputs.yarn.override { nodejs = nodejs; },
packageOverrides ? {},
...
}@attrs:
@@ -226,7 +230,7 @@ in rec {
inherit name;
value = mkYarnPackage (
builtins.removeAttrs attrs ["packageOverrides"]
// { inherit src packageJSON yarnLock packageResolutions workspaceDependencies; }
// { inherit src packageJSON yarnLock nodejs yarn packageResolutions workspaceDependencies; }
// lib.attrByPath [name] {} packageOverrides
);
})
@@ -241,6 +245,8 @@ in rec {
yarnLock ? src + "/yarn.lock",
yarnNix ? mkYarnNix { inherit yarnLock; },
offlineCache ? importOfflineCache yarnNix,
nodejs ? inputs.nodejs,
yarn ? inputs.yarn.override { nodejs = nodejs; },
yarnFlags ? [ ],
yarnPreBuild ? "",
yarnPostBuild ? "",
@@ -268,7 +274,7 @@ in rec {
preBuild = yarnPreBuild;
postBuild = yarnPostBuild;
workspaceDependencies = workspaceDependenciesTransitive;
inherit packageJSON pname version yarnLock offlineCache yarnFlags pkgConfig packageResolutions;
inherit packageJSON pname version yarnLock offlineCache nodejs yarn yarnFlags pkgConfig packageResolutions;
};
publishBinsFor_ = unlessNull publishBinsFor [pname];