dart.list-dart-deps: Add list-dart-deps function

This uses `dart pub deps` (https://dart.dev/tools/pub/cmd/pub-deps) to retrieve information about project dependencies.

It requires a fetch-dart-deps derivation as input.
This commit is contained in:
hacker1024
2023-04-16 23:16:17 +10:00
parent 4f5dd08fe8
commit 87f809e0c6

View File

@@ -0,0 +1,28 @@
{ stdenv
, dart
, jq
}:
deps:
builtins.fromJSON (builtins.readFile (stdenv.mkDerivation {
name = "${deps.name}-list.json";
nativeBuildInputs = [ deps dart jq ];
unpackPhase = ''
runHook preUnpack
ln -s "${deps.files}"/pubspec/* .
runHook postUnpack
'';
configurePhase = ''
runHook preConfigure
dart pub get --offline
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
dart pub deps --json | jq .packages > $out
runHook postBuild
'';
}))