From 96a104fb96ad6e832a7791a338ff5bbc0250e1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Thu, 11 Jun 2026 01:21:32 +0200 Subject: [PATCH 1/4] stylelint-lsp: use pnpmBuildHook --- pkgs/by-name/st/stylelint-lsp/package.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/st/stylelint-lsp/package.nix b/pkgs/by-name/st/stylelint-lsp/package.nix index b78025195b8d..91f8f1144de2 100644 --- a/pkgs/by-name/st/stylelint-lsp/package.nix +++ b/pkgs/by-name/st/stylelint-lsp/package.nix @@ -5,6 +5,7 @@ pnpm_9, fetchPnpmDeps, pnpmConfigHook, + pnpmBuildHook, stdenvNoCC, nix-update-script, }: @@ -25,6 +26,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ pnpmConfigHook + pnpmBuildHook pnpm_9 ]; @@ -35,14 +37,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-qzUvA00ujnIibQAONOPlp5BsXcwQb/gQvOPp83hMT5A="; }; - buildPhase = '' - runHook preBuild - - pnpm build - - runHook postBuild - ''; - preInstall = '' # remove unnecessary files CI=true pnpm --ignore-scripts prune --prod From 65a5032d0ee806362a7edec29a0af763a8dd62e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Thu, 11 Jun 2026 01:49:56 +0200 Subject: [PATCH 2/4] stylelint-lsp: add smoke test This was taken from vtsls. --- pkgs/by-name/st/stylelint-lsp/package.nix | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/st/stylelint-lsp/package.nix b/pkgs/by-name/st/stylelint-lsp/package.nix index 91f8f1144de2..65b509e96387 100644 --- a/pkgs/by-name/st/stylelint-lsp/package.nix +++ b/pkgs/by-name/st/stylelint-lsp/package.nix @@ -8,6 +8,8 @@ pnpmBuildHook, stdenvNoCC, nix-update-script, + runCommand, + stylelint-lsp, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "stylelint-lsp"; @@ -57,7 +59,24 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; - passthru.updateScript = nix-update-script { }; + passthru = { + updateScript = nix-update-script { }; + + tests.smoke = runCommand "stylelint-lsp-smoke-test" { } '' + INIT_REQUEST='{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"processId":null,"rootUri":"file:///tmp","workspaceFolders":[{"uri":"file:///tmp","name":"test"}],"capabilities":{}}}' + CONTENT_LENGTH=''${#INIT_REQUEST} + + RESPONSE=$( + { + printf "Content-Length: %d\r\n\r\n%s" "$CONTENT_LENGTH" "$INIT_REQUEST" + sleep 1 + } | timeout 3 ${lib.getExe stylelint-lsp} --stdio 2>&1 | head -c 1000 + ) || true + + echo "$RESPONSE" | grep -q '"capabilities"' + touch $out + ''; + }; meta = { description = "Stylelint Language Server"; From 0881637d1a78b77455c4fefff331a0b94085a2b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Thu, 11 Jun 2026 01:27:16 +0200 Subject: [PATCH 3/4] stylelint-lsp: switch to nodejs-slim and move to nativeBuildInputs --- pkgs/by-name/st/stylelint-lsp/package.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/st/stylelint-lsp/package.nix b/pkgs/by-name/st/stylelint-lsp/package.nix index 65b509e96387..8e6a2c95a77e 100644 --- a/pkgs/by-name/st/stylelint-lsp/package.nix +++ b/pkgs/by-name/st/stylelint-lsp/package.nix @@ -1,7 +1,7 @@ { fetchFromGitHub, lib, - nodejs, + nodejs-slim, pnpm_9, fetchPnpmDeps, pnpmConfigHook, @@ -22,11 +22,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-LUX/H7yY8Dl44vgpf7vOgtMdY7h//m5BAfrK5RRH9DM="; }; - buildInputs = [ - nodejs - ]; - nativeBuildInputs = [ + nodejs-slim pnpmConfigHook pnpmBuildHook pnpm_9 @@ -53,7 +50,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { mkdir -p $out/{bin,lib/stylelint-lsp} mv {dist,node_modules} $out/lib/stylelint-lsp + chmod a+x $out/lib/stylelint-lsp/dist/index.js + patchShebangs $out/lib/stylelint-lsp/dist/index.js ln -s $out/lib/stylelint-lsp/dist/index.js $out/bin/stylelint-lsp runHook postInstall From 7d53d17e7447156a76ac00cf62203c3ba1bdfe4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Sun, 19 Jul 2026 18:34:57 +0200 Subject: [PATCH 4/4] stylelint-lsp: 2.0.1 -> 2.0.1-unstable-2026-07-19, migrate to pnpm_11 --- pkgs/by-name/st/stylelint-lsp/package.nix | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/st/stylelint-lsp/package.nix b/pkgs/by-name/st/stylelint-lsp/package.nix index 8e6a2c95a77e..0749b80460e4 100644 --- a/pkgs/by-name/st/stylelint-lsp/package.nix +++ b/pkgs/by-name/st/stylelint-lsp/package.nix @@ -2,7 +2,7 @@ fetchFromGitHub, lib, nodejs-slim, - pnpm_9, + pnpm_11, fetchPnpmDeps, pnpmConfigHook, pnpmBuildHook, @@ -11,29 +11,32 @@ runCommand, stylelint-lsp, }: +let + pnpm = pnpm_11; +in stdenvNoCC.mkDerivation (finalAttrs: { pname = "stylelint-lsp"; - version = "2.0.1"; + version = "2.0.1-unstable-2026-07-19"; src = fetchFromGitHub { owner = "bmatcuk"; repo = "stylelint-lsp"; - tag = "v${finalAttrs.version}"; - hash = "sha256-LUX/H7yY8Dl44vgpf7vOgtMdY7h//m5BAfrK5RRH9DM="; + rev = "0362a26ffaf1879b9ec02e2a52a11792a2d4f8d4"; + hash = "sha256-qRc67tvgncERh6FDJdydN6aL/a5bVSsQQir3KPp1cFk="; }; nativeBuildInputs = [ nodejs-slim pnpmConfigHook pnpmBuildHook - pnpm_9 + pnpm ]; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_9; - fetcherVersion = 3; - hash = "sha256-qzUvA00ujnIibQAONOPlp5BsXcwQb/gQvOPp83hMT5A="; + inherit pnpm; + fetcherVersion = 4; + hash = "sha256-EuCvuErydwe2LGG62VHcZtN/51Gv1uhhBN3/sEiqzME="; }; preInstall = '' @@ -59,7 +62,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { ''; passthru = { - updateScript = nix-update-script { }; + updateScript = nix-update-script { + extraArgs = [ "--version=branch" ]; + }; tests.smoke = runCommand "stylelint-lsp-smoke-test" { } '' INIT_REQUEST='{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"processId":null,"rootUri":"file:///tmp","workspaceFolders":[{"uri":"file:///tmp","name":"test"}],"capabilities":{}}}'