about summary refs log tree commit diff
path: root/pkgs/by-name/pr/prettierd/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/pr/prettierd/package.nix')
-rw-r--r--pkgs/by-name/pr/prettierd/package.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/by-name/pr/prettierd/package.nix b/pkgs/by-name/pr/prettierd/package.nix
new file mode 100644
index 0000000000000..1025a90fbd377
--- /dev/null
+++ b/pkgs/by-name/pr/prettierd/package.nix
@@ -0,0 +1,55 @@
+{
+  lib,
+  mkYarnPackage,
+  fetchFromGitHub,
+  makeWrapper,
+  nodejs,
+  fetchYarnDeps,
+}:
+mkYarnPackage rec {
+  pname = "prettierd";
+  version = "0.25.3";
+
+  src = fetchFromGitHub {
+    owner = "fsouza";
+    repo = "prettierd";
+    rev = "v${version}";
+    hash = "sha256-3lvFZ5/p+1kPnHIR2PlQtCY3SVo1rs8IuBigLaabxAE=";
+  };
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = src + "/yarn.lock";
+    hash = "sha256-Ti2b102pzUKB6Xy3LwZ7DlrnW0cRscgNLTUIAKz+6Us=";
+  };
+
+  packageJSON = ./package.json;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildPhase = ''
+    runHook preBuild
+    export HOME=$(mktemp -d)
+    yarn --offline build
+    runHook postBuild
+  '';
+
+  # prettierd needs to be wrapped with nodejs so that it can be executed
+  postInstall = ''
+    wrapProgram "$out/bin/prettierd" --prefix PATH : "${nodejs}/bin"
+  '';
+
+  doDist = false;
+
+  meta = {
+    mainProgram = "prettierd";
+    description = "Prettier, as a daemon, for improved formatting speed";
+    homepage = "https://github.com/fsouza/prettierd";
+    license = lib.licenses.isc;
+    changelog = "https://github.com/fsouza/prettierd/blob/${src.rev}/CHANGELOG.md";
+    platforms = with lib.platforms; linux ++ darwin;
+    maintainers = with lib.maintainers; [
+      NotAShelf
+      n3oney
+    ];
+  };
+}