Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 nodejs, 6 pnpm_9, 7 nix-update-script, 8}: 9 10stdenv.mkDerivation (finalAttrs: { 11 pname = "tailwindcss-language-server"; 12 version = "0.14.25"; 13 14 src = fetchFromGitHub { 15 owner = "tailwindlabs"; 16 repo = "tailwindcss-intellisense"; 17 tag = "v${finalAttrs.version}"; 18 hash = "sha256-uY5hOMuDfLpPFkVoZyISexb/RVtaOK/UpN1WRQ0uDQY="; 19 }; 20 21 pnpmDeps = pnpm_9.fetchDeps { 22 inherit (finalAttrs) 23 pname 24 version 25 src 26 pnpmWorkspaces 27 ; 28 fetcherVersion = 1; 29 hash = "sha256-SUEq20gZCiTDkFuNgMc5McHBPgW++8P9Q1MJb7a7pY8="; 30 }; 31 32 nativeBuildInputs = [ 33 pnpm_9.configHook 34 ]; 35 36 buildInputs = [ 37 nodejs 38 ]; 39 40 pnpmWorkspaces = [ 41 "@tailwindcss/language-server..." 42 ]; 43 44 # Must build the "@tailwindcss/language-service" package. Dependency is linked via workspace by "pnpm" 45 # https://github.com/tailwindlabs/tailwindcss-intellisense/blob/v0.14.24/pnpm-lock.yaml#L71 46 buildPhase = '' 47 runHook preBuild 48 49 pnpm --filter "@tailwindcss/language-server..." build 50 51 runHook postBuild 52 ''; 53 54 installPhase = '' 55 runHook preInstall 56 57 mkdir -p $out/{bin,lib/tailwindcss-language-server} 58 cp -r {packages,node_modules} $out/lib/tailwindcss-language-server 59 chmod +x $out/lib/tailwindcss-language-server/packages/tailwindcss-language-server/bin/tailwindcss-language-server 60 ln -s $out/lib/tailwindcss-language-server/packages/tailwindcss-language-server/bin/tailwindcss-language-server $out/bin/tailwindcss-language-server 61 62 runHook postInstall 63 ''; 64 65 passthru.updateScript = nix-update-script { }; 66 67 meta = { 68 description = "Tailwind CSS Language Server"; 69 homepage = "https://github.com/tailwindlabs/tailwindcss-intellisense"; 70 changelog = "https://github.com/tailwindlabs/tailwindcss-intellisense/releases/tag/v${finalAttrs.version}"; 71 license = lib.licenses.mit; 72 maintainers = with lib.maintainers; [ happysalada ]; 73 mainProgram = "tailwindcss-language-server"; 74 platforms = nodejs.meta.platforms; 75 }; 76})