From 95a35f2ab647f684fb49eb36d4b8361c912ff146 Mon Sep 17 00:00:00 2001 From: Jasmin Date: Mon, 9 Dec 2024 17:15:51 +0100 Subject: [PATCH] tailwindcss-language-server: 0.0.21 -> 0.0.27 --- .../tailwindcss-language-server/package.nix | 75 ++++++++++++++----- 1 file changed, 55 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/ta/tailwindcss-language-server/package.nix b/pkgs/by-name/ta/tailwindcss-language-server/package.nix index f536741b60d8..3b0ffa0ac338 100644 --- a/pkgs/by-name/ta/tailwindcss-language-server/package.nix +++ b/pkgs/by-name/ta/tailwindcss-language-server/package.nix @@ -1,41 +1,76 @@ -{ lib -, stdenv -, buildNpmPackage -, fetchFromGitHub -, python3 -, darwin -, libsecret -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + nodejs_22, + pnpm, }: let - version = "0.0.21"; + version = "0.0.27"; in -buildNpmPackage { +stdenv.mkDerivation (finalAttrs: { pname = "tailwindcss-language-server"; inherit version; src = fetchFromGitHub { owner = "tailwindlabs"; repo = "tailwindcss-intellisense"; - rev = "@tailwindcss/language-server@v${version}"; - hash = "sha256-LMQ+HA74Y0n65JMO9LqCHbDVRiu4dIUvQofFTA03pWU="; + rev = "@tailwindcss/language-server@v${finalAttrs.version}"; + hash = "sha256-FphKiGMTMQj/tBmrwkPVlb+dEGjf+N4EgZtOVg7iL2M="; }; - makeCacheWritable = true; - npmDepsHash = "sha256-T7YNHunncSv+z86Td1QuBt4dMGF1ipo85ZhW7U9I0Zw="; - npmWorkspace = "packages/tailwindcss-language-server"; + pnpmDeps = pnpm.fetchDeps { + inherit (finalAttrs) + pname + version + src + pnpmWorkspaces + prePnpmInstall + ; + hash = "sha256-kLB84P2Zb3gXpNlXCnQFIxz8xibACB39URIhy6Na9p8="; + }; - buildInputs = [ libsecret ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security AppKit ]); + nativeBuildInputs = [ + nodejs_22 + pnpm.configHook + ]; - nativeBuildInputs = [ python3 pkg-config ]; + buildInputs = [ nodejs_22 ]; + + pnpmWorkspaces = [ "@tailwindcss/language-server..." ]; + prePnpmInstall = '' + # Warning section for "pnpm@v8" + # https://pnpm.io/cli/install#--filter-package_selector + pnpm config set dedupe-peer-dependents false + ''; + + buildPhase = '' + runHook preBuild + + # Must build the "@tailwindcss/language-service" package. Dependency is linked via workspace by "pnpm" + # (https://github.com/tailwindlabs/tailwindcss-intellisense/blob/%40tailwindcss/language-server%40v0.0.27/pnpm-lock.yaml#L47) + pnpm --filter "@tailwindcss/language-server..." build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,lib/tailwindcss-language-server} + cp -r {packages,node_modules} $out/lib/tailwindcss-language-server + ln -s $out/lib/tailwindcss-language-server/packages/tailwindcss-language-server/bin/tailwindcss-language-server $out/bin/tailwindcss-language-server + + runHook postInstall + ''; meta = with lib; { - description = "Intelligent Tailwind CSS tooling for Visual Studio Code"; + description = "Tailwind CSS Language Server"; homepage = "https://github.com/tailwindlabs/tailwindcss-intellisense"; license = licenses.mit; - maintainers = with maintainers; [ happysalada]; + maintainers = with maintainers; [ happysalada ]; mainProgram = "tailwindcss-language-server"; platforms = platforms.all; }; -} +})