anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / tools / package-management / yarn-lock-converter / default.nix
blob70f5b143ebe8bfb6fa3181c9ec8d2fef9fde3985
1 { lib
2 , buildNpmPackage
3 , fetchurl
4 , nodejs
5 , testers
6 , yarn-lock-converter
7 }:
9 let
10   source = lib.importJSON ./source.json;
12 buildNpmPackage rec {
13   pname = "yarn-lock-converter";
14   inherit (source) version;
16   src = fetchurl {
17     url = "https://registry.npmjs.org/@vht/yarn-lock-converter/-/yarn-lock-converter-${version}.tgz";
18     hash = "sha256-CP1wI33fgtp4GSjasktbfWuUjGzCuK3XR+p64aPAryQ=";
19   };
21   npmDepsHash = source.deps;
23   dontBuild = true;
25   nativeBuildInputs = [ nodejs ];
27   postPatch = ''
28     # Use generated package-lock.json as upstream does not provide one
29     ln -s ${./package-lock.json} package-lock.json
30   '';
32   postInstall = ''
33     mv $out/bin/@vht/yarn-lock-converter $out/bin/yarn-lock-converter
34     rmdir $out/bin/@vht
35   '';
36   passthru = {
37     tests.version = testers.testVersion {
38       package = yarn-lock-converter;
39     };
40     updateScript = ./update.sh;
41   };
43   meta = with lib; {
44     description = "Converts modern Yarn v2+ yarn.lock files into a Yarn v1 format";
45     homepage = "https://github.com/VHT/yarn-lock-converter";
46     license = licenses.mit;
47     maintainers = with maintainers; [ gador ];
48     mainProgram = "yarn-lock-converter";
49   };