at 23.11-beta 1.2 kB view raw
1{ lib 2, mkYarnPackage 3, fetchFromGitHub 4, makeWrapper 5, nodejs 6, fetchYarnDeps 7, 8}: 9mkYarnPackage rec { 10 pname = "prettierd"; 11 version = "0.25.1"; 12 13 src = fetchFromGitHub { 14 owner = "fsouza"; 15 repo = "prettierd"; 16 rev = "v${version}"; 17 hash = "sha256-aoRfZ9SJazz0ir1fyHypn3aYqK9DJOLLVPMuFcOm/20="; 18 }; 19 20 offlineCache = fetchYarnDeps { 21 yarnLock = src + "/yarn.lock"; 22 hash = "sha256-HsWsRIONRNY9akZ2LXlWcPhH6N5qCKnesaDX1gQp+NU="; 23 }; 24 25 packageJSON = ./package.json; 26 27 nativeBuildInputs = [ makeWrapper ]; 28 29 buildPhase = '' 30 runHook preBuild 31 export HOME=$(mktemp -d) 32 yarn --offline build 33 runHook postBuild 34 ''; 35 36 # prettierd needs to be wrapped with nodejs so that it can be executed 37 postInstall = '' 38 wrapProgram "$out/bin/prettierd" --prefix PATH : "${nodejs}/bin" 39 ''; 40 41 doDist = false; 42 43 meta = with lib; { 44 mainProgram = "prettierd"; 45 description = "Prettier, as a daemon, for improved formatting speed"; 46 homepage = "https://github.com/fsouza/prettierd"; 47 license = licenses.isc; 48 changelog = "https://github.com/fsouza/prettierd/blob/${src.rev}/CHANGELOG.md"; 49 platforms = with platforms; linux ++ darwin; 50 maintainers = with maintainers; [ NotAShelf n3oney ]; 51 }; 52}