pnpm: format

gepbird.tngl.sh b6f2a8b5 c261249c

verified
+114 -89
+6 -2
pkgs/development/tools/pnpm/default.nix
··· 1 - { lib, callPackage }: 1 + { 2 + lib, 3 + callPackage, 4 + }: 5 + 2 6 let 3 7 inherit (lib) mapAttrs' nameValuePair; 4 8 ··· 13 17 }; 14 18 }; 15 19 16 - callPnpm = variant: callPackage ./generic.nix {inherit (variant) version hash;}; 20 + callPnpm = variant: callPackage ./generic.nix { inherit (variant) version hash; }; 17 21 18 22 mkPnpm = versionSuffix: variant: nameValuePair "pnpm_${versionSuffix}" (callPnpm variant); 19 23 in
+61 -57
pkgs/development/tools/pnpm/fetch-deps/default.nix
··· 9 9 pnpm, 10 10 yq, 11 11 }: 12 + 12 13 { 13 14 fetchDeps = 14 15 { ··· 31 32 outputHash = ""; 32 33 outputHashAlgo = "sha256"; 33 34 }; 34 - installFlags = lib.optionalString (pnpmWorkspace != "") "--filter=${pnpmWorkspace}"; 35 + installFlags = lib.optionalString (pnpmWorkspace != "") "--filter=${pnpmWorkspace}"; 35 36 in 36 - stdenvNoCC.mkDerivation (finalAttrs: ( 37 - args' 38 - // { 39 - name = "${pname}-pnpm-deps"; 37 + stdenvNoCC.mkDerivation ( 38 + finalAttrs: 39 + ( 40 + args' 41 + // { 42 + name = "${pname}-pnpm-deps"; 40 43 41 - nativeBuildInputs = [ 42 - cacert 43 - jq 44 - moreutils 45 - pnpm 46 - yq 47 - ]; 44 + nativeBuildInputs = [ 45 + cacert 46 + jq 47 + moreutils 48 + pnpm 49 + yq 50 + ]; 48 51 49 - impureEnvVars = lib.fetchers.proxyImpureEnvVars; 52 + impureEnvVars = lib.fetchers.proxyImpureEnvVars; 50 53 51 - installPhase = '' 52 - runHook preInstall 54 + installPhase = '' 55 + runHook preInstall 53 56 54 - lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)" 55 - if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then 56 - echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!" 57 - exit 1 58 - fi 57 + lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)" 58 + if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then 59 + echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!" 60 + exit 1 61 + fi 59 62 60 - export HOME=$(mktemp -d) 61 - pnpm config set store-dir $out 62 - # Some packages produce platform dependent outputs. We do not want to cache those in the global store 63 - pnpm config set side-effects-cache false 64 - # As we pin pnpm versions, we don't really care about updates 65 - pnpm config set update-notifier false 66 - # Run any additional pnpm configuration commands that users provide. 67 - ${prePnpmInstall} 68 - # pnpm is going to warn us about using --force 69 - # --force allows us to fetch all dependencies including ones that aren't meant for our host platform 70 - pnpm install \ 71 - --force \ 72 - --ignore-scripts \ 73 - ${installFlags} \ 74 - --frozen-lockfile 63 + export HOME=$(mktemp -d) 64 + pnpm config set store-dir $out 65 + # Some packages produce platform dependent outputs. We do not want to cache those in the global store 66 + pnpm config set side-effects-cache false 67 + # As we pin pnpm versions, we don't really care about updates 68 + pnpm config set update-notifier false 69 + # Run any additional pnpm configuration commands that users provide. 70 + ${prePnpmInstall} 71 + # pnpm is going to warn us about using --force 72 + # --force allows us to fetch all dependencies including ones that aren't meant for our host platform 73 + pnpm install \ 74 + --force \ 75 + --ignore-scripts \ 76 + ${installFlags} \ 77 + --frozen-lockfile 75 78 76 - runHook postInstall 77 - ''; 79 + runHook postInstall 80 + ''; 78 81 79 - fixupPhase = '' 80 - runHook preFixup 82 + fixupPhase = '' 83 + runHook preFixup 81 84 82 - # Remove timestamp and sort the json files 83 - rm -rf $out/v3/tmp 84 - for f in $(find $out -name "*.json"); do 85 - jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f 86 - done 85 + # Remove timestamp and sort the json files 86 + rm -rf $out/v3/tmp 87 + for f in $(find $out -name "*.json"); do 88 + jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f 89 + done 87 90 88 - runHook postFixup 89 - ''; 91 + runHook postFixup 92 + ''; 90 93 91 - passthru = { 92 - serve = callPackage ./serve.nix { 93 - inherit pnpm; 94 - pnpmDeps = finalAttrs.finalPackage; 94 + passthru = { 95 + serve = callPackage ./serve.nix { 96 + inherit pnpm; 97 + pnpmDeps = finalAttrs.finalPackage; 98 + }; 95 99 }; 96 - }; 97 100 98 - dontConfigure = true; 99 - dontBuild = true; 100 - outputHashMode = "recursive"; 101 - } 102 - // hash' 103 - )); 101 + dontConfigure = true; 102 + dontBuild = true; 103 + outputHashMode = "recursive"; 104 + } 105 + // hash' 106 + ) 107 + ); 104 108 105 109 configHook = makeSetupHook { 106 110 name = "pnpm-config-hook";
+6 -1
pkgs/development/tools/pnpm/fetch-deps/serve.nix
··· 1 - { writeShellApplication, pnpm, pnpmDeps }: 1 + { 2 + writeShellApplication, 3 + pnpm, 4 + pnpmDeps, 5 + }: 6 + 2 7 writeShellApplication { 3 8 name = "serve-pnpm-store"; 4 9
+41 -29
pkgs/development/tools/pnpm/generic.nix
··· 7 7 nodejs, 8 8 testers, 9 9 withNode ? true, 10 - 11 10 version, 12 11 hash, 13 - }: stdenvNoCC.mkDerivation (finalAttrs: { 12 + }: 13 + 14 + stdenvNoCC.mkDerivation (finalAttrs: { 14 15 pname = "pnpm"; 15 16 inherit version; 16 17 ··· 26 27 27 28 buildInputs = lib.optionals withNode [ nodejs ]; 28 29 29 - nativeBuildInputs = [ installShellFiles nodejs ]; 30 + nativeBuildInputs = [ 31 + installShellFiles 32 + nodejs 33 + ]; 30 34 31 35 installPhase = '' 32 36 runHook preInstall ··· 40 44 ''; 41 45 42 46 postInstall = 43 - if lib.toInt (lib.versions.major version) < 9 then '' 44 - export HOME="$PWD" 45 - node $out/bin/pnpm install-completion bash 46 - node $out/bin/pnpm install-completion fish 47 - node $out/bin/pnpm install-completion zsh 48 - sed -i '1 i#compdef pnpm' .config/tabtab/zsh/pnpm.zsh 49 - installShellCompletion \ 50 - .config/tabtab/bash/pnpm.bash \ 51 - .config/tabtab/fish/pnpm.fish \ 52 - .config/tabtab/zsh/pnpm.zsh 53 - '' else '' 54 - node $out/bin/pnpm completion bash >pnpm.bash 55 - node $out/bin/pnpm completion fish >pnpm.fish 56 - node $out/bin/pnpm completion zsh >pnpm.zsh 57 - sed -i '1 i#compdef pnpm' pnpm.zsh 58 - installShellCompletion pnpm.{bash,fish,zsh} 59 - ''; 47 + if lib.toInt (lib.versions.major version) < 9 then 48 + '' 49 + export HOME="$PWD" 50 + node $out/bin/pnpm install-completion bash 51 + node $out/bin/pnpm install-completion fish 52 + node $out/bin/pnpm install-completion zsh 53 + sed -i '1 i#compdef pnpm' .config/tabtab/zsh/pnpm.zsh 54 + installShellCompletion \ 55 + .config/tabtab/bash/pnpm.bash \ 56 + .config/tabtab/fish/pnpm.fish \ 57 + .config/tabtab/zsh/pnpm.zsh 58 + '' 59 + else 60 + '' 61 + node $out/bin/pnpm completion bash >pnpm.bash 62 + node $out/bin/pnpm completion fish >pnpm.fish 63 + node $out/bin/pnpm completion zsh >pnpm.zsh 64 + sed -i '1 i#compdef pnpm' pnpm.zsh 65 + installShellCompletion pnpm.{bash,fish,zsh} 66 + ''; 60 67 61 - passthru = let 62 - fetchDepsAttrs = callPackages ./fetch-deps { pnpm = finalAttrs.finalPackage; }; 63 - in { 64 - inherit (fetchDepsAttrs) fetchDeps configHook; 68 + passthru = 69 + let 70 + fetchDepsAttrs = callPackages ./fetch-deps { pnpm = finalAttrs.finalPackage; }; 71 + in 72 + { 73 + inherit (fetchDepsAttrs) fetchDeps configHook; 65 74 66 - tests.version = lib.optionalAttrs withNode ( 67 - testers.testVersion { package = finalAttrs.finalPackage; } 68 - ); 69 - }; 75 + tests.version = lib.optionalAttrs withNode ( 76 + testers.testVersion { package = finalAttrs.finalPackage; } 77 + ); 78 + }; 70 79 71 80 meta = with lib; { 72 81 description = "Fast, disk space efficient package manager for JavaScript"; 73 82 homepage = "https://pnpm.io/"; 74 83 changelog = "https://github.com/pnpm/pnpm/releases/tag/v${finalAttrs.version}"; 75 84 license = licenses.mit; 76 - maintainers = with maintainers; [ Scrumplex gepbird ]; 85 + maintainers = with maintainers; [ 86 + Scrumplex 87 + gepbird 88 + ]; 77 89 platforms = platforms.all; 78 90 mainProgram = "pnpm"; 79 91 };