Hi, I use my LazyVim configuration to work with Java / Spring, TypeScript / Angular, Dart / Flutter, Python. My Neovim configuration can be foundhere. Right now I am using LazyVim 14.5.0 (commit25abbf546d564dc484cf903804661ba12de45507) and everything works fine. I may have some small issues with some specific features of some languages, but that's not important. The problem is that I tried multiple times, and spent several hours, trying to update my Neovim config to the latest Lazyvim version, but I'm having issues with the angular setup. Basically, I used:Lazy update to update everything, then I also updated everything with Mason. The problem is that the Angular Language server no longer works in some cases. Specifically, I always work on projects which contain many sub-projects: for example, the root project may contain the Spring Boot backend (in thebackend/ subdirectory), and the Angular frontend (in thefrontend subdirectory). I also always open Neovim directly inside the root project directory, so that I can rapidly jump around the backend and the frontend. E.g. .└── my_app ├── backend └── frontendcd ~/my_appnvim .
After updating to the latest versions, I am not able to make the Angular Language Server work when working on the Angular app while opening Neovim inside the root project directory. Every time I open a.ts or.html file (the Angular HTML templates), I get this LSP log: [ERROR][2025-11-05 23:30:39] ...p/_transport.lua:36 "rpc" "ngserver" "stderr" "/home/tino/.local/share/nvim/mason/packages/angular-language-server/node_modules/@angular/language-server/index.js:266\n throw new Error(`Failed to resolve '${packageName}' with minimum version '${minVersion}' from ` + JSON.stringify(probeLocations, null, 2));\n ^\n\nError: Failed to resolve 'typescript/lib/tsserverlibrary' with minimum version '5.0' from []\n at resolveWithMinVersion (/home/tino/.local/share/nvim/mason/packages/angular-language-server/node_modules/@angular/language-server/index.js:266:13)\n at resolveTsServer (/home/tino/.local/share/nvim/mason/packages/angular-language-server/node_modules/@angular/language-server/index.js:280:14)\n at requireOverride (/home/tino/.local/share/nvim/mason/packages/angular-language-server/node_modules/@angular/language-server/index.js:336:57)\n at Object.<anonymous> (/home/tino/.local/share/nvim/mason/packages/angular-language-server/node_modules/@angular/language-server/index.js:220348:25)\n at Module._compile (node:internal/modules/cjs/loader:1529:14)\n at Module._extensions..js (node:internal/modules/cjs/loader:1613:10)\n at Module.load (node:internal/modules/cjs/loader:1275:32)\n at Module._load (node:internal/modules/cjs/loader:1096:12)\n at Module.require (node:internal/modules/cjs/loader:1298:19)\n at require (node:internal/modules/helpers:182:18)\n\nNode.js v20.19.2\n"
However, if I open Neovim while inside thefrontend/ directory (cd ~/my_app/frontend && nvim ., then everything works fine. I may start working on Angular projects by opening Neovim directly inside their directories, but that would be way too inconvenient, because I also work some times on projects that contain more than one Angular sub-app. I tried changing my Neovim config to tell the Angular Language Server to find the "root dir" by looking for the fileangular.json. That seems to "work", but only for.ts files, and not for the Angular.html templates. I am not a Neovim expert, so I'm not even sure about what to customize in the Neovim config to accomplish what I just said. I also tried updating Lazyvim to 15.0.1, to "bisect" the commit that broke the Angular integration, but I have the same problem even with Lazyvim 15.0.1, so I think that the problem was introduced with Lazyvim 15. Can anyone suggest something I can try to fix this issue? Honestly, I'm not even sure if this is a "Lazyvim" problem, or if it's anything else. Thanks in advance. |