From 623403fdd5b778ca7cc41e23d12a2ddff6cf4ae1 Mon Sep 17 00:00:00 2001 From: BirdeeHub Date: Sun, 21 Jul 2024 22:04:35 -0700 Subject: [PATCH] typescript-language-server: fix requires typescript typescript-language-server had an override that used lndir to provide the typescript dependency. When typescript-language-server was moved, this was not included. --- .../default-fallbackTsserverPath.diff | 15 +++++++++++++++ .../ty/typescript-language-server/package.nix | 9 +++++++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/by-name/ty/typescript-language-server/default-fallbackTsserverPath.diff diff --git a/pkgs/by-name/ty/typescript-language-server/default-fallbackTsserverPath.diff b/pkgs/by-name/ty/typescript-language-server/default-fallbackTsserverPath.diff new file mode 100644 index 000000000000..47339e5c69c6 --- /dev/null +++ b/pkgs/by-name/ty/typescript-language-server/default-fallbackTsserverPath.diff @@ -0,0 +1,15 @@ +diff --git a/src/lsp-server.ts b/src/lsp-server.ts +index ef5907d..9494430 100644 +--- a/src/lsp-server.ts ++++ b/src/lsp-server.ts +@@ -323,6 +323,10 @@ export class LspServer { + } + } + ++ if (!fallbackTsserverPath) { ++ fallbackTsserverPath = "@typescript@"; ++ } ++ + const fallbackVersionProvider = new TypeScriptVersionProvider(fallbackTsserverPath, this.logger); + const fallbackSettingVersion = fallbackVersionProvider.getUserSettingVersion(); + if (fallbackSettingVersion) { diff --git a/pkgs/by-name/ty/typescript-language-server/package.nix b/pkgs/by-name/ty/typescript-language-server/package.nix index 053f665ce7eb..8a0c0e8da2d4 100644 --- a/pkgs/by-name/ty/typescript-language-server/package.nix +++ b/pkgs/by-name/ty/typescript-language-server/package.nix @@ -6,8 +6,10 @@ , makeWrapper , nodejs , prefetch-yarn-deps +, substituteAll , yarn , testers +, typescript }: stdenv.mkDerivation (finalAttrs: { @@ -21,6 +23,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-FCv0+tA7AuCdGeG6FEiMyRAHcl0WbezhNYLL7xp5FWU="; }; + patches = [ + (substituteAll { + src = ./default-fallbackTsserverPath.diff; + typescript = "${typescript}/lib/node_modules/typescript/lib/tsserver.js"; + }) + ]; + offlineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/yarn.lock"; hash = "sha256-nSMhPfbWD93sGIKehBBE/bh4RzHXFtGAjeyG20m/LWQ=";