nodejs improvements:

- create passthru.dependencies
- always include peerDeps
- correctly write `location` to dream lock
This commit is contained in:
DavHau 2022-03-10 14:43:12 +07:00
parent ae169b42ac
commit 6341f38026
3 changed files with 15 additions and 1 deletions

View File

@ -40,6 +40,7 @@
...
} @ args: let
b = builtins;
l = lib // builtins;
nodejsVersion = subsystemAttrs.nodejsVersion;
@ -155,6 +156,14 @@
deps
(dep: allPackages."${dep.name}"."${dep.version}");
passthruDeps =
l.listToAttrs
(l.forEach deps
(dep:
l.nameValuePair
dep.name
allPackages."${dep.name}"."${dep.version}"));
dependenciesJson =
b.toJSON
(lib.listToAttrs
@ -192,6 +201,8 @@
pname = utils.sanitizeDerivationName name;
passthru.dependencies = passthruDeps;
installMethod = "symlink";
electronAppDir = ".";

View File

@ -124,6 +124,8 @@
in rec {
inherit defaultPackage extraObjects translatorName;
location = relPath;
exportedPackages =
{"${defaultPackage}" = packageJson.version or "unknown";}
// exportedWorkspacePackages;

View File

@ -4,7 +4,8 @@ in rec {
getPackageJsonDeps = packageJson: noDev:
packageJson.dependencies
or {}
// (lib.optionalAttrs (! noDev) (packageJson.devDependencies or {}));
// (lib.optionalAttrs (! noDev) (packageJson.devDependencies or {}))
// packageJson.peerDependencies or {};
getWorkspaceLockFile = tree: project: fname: let
# returns the parsed package-lock.json for a given project