Skip to content

Improve startup time by avoiding redundant downloads#72

Open
AhmmedSamier wants to merge 2 commits intonathansbradshaw:mainfrom
AhmmedSamier:main
Open

Improve startup time by avoiding redundant downloads#72
AhmmedSamier wants to merge 2 commits intonathansbradshaw:mainfrom
AhmmedSamier:main

Conversation

@AhmmedSamier
Copy link

Problem

Currently, the extension attempts to install/download the Angular Language Server and TypeScript packages every time the language server starts. This causes a significant delay on every startup, even if the packages are already installed and up-to-date.

Solution

This PR updates the startup logic to:

Check the package.json of the installed @angular/language-server and typescript packages in node_modules.
Compare the installed version with the requested version (or the latest version if configured as "latest").
Skip the download/install step if the versions match and the server file exists.
This drastically reduces startup time for subsequent runs while still ensuring the extension updates when the configured version changes.

google-labs-jules bot and others added 2 commits December 19, 2025 18:45
…er version before downloading. Previously, the extension would attempt to install the Angular Language Server and TypeScript on every startup, causing significant delays.

With this change, I check the `package.json` of the installed packages and only trigger a download or install if the installed version does not match the configured version or if the server file (`index.js`) is missing. This significantly improves startup time for subsequent runs.
…ad-7607323098698041179

Skip redundant Angular Language Server downloads
@jpike88
Copy link
Collaborator

jpike88 commented Dec 20, 2025

This smells a little bit like an AI Agent PR. not a bad thing, just want to confirm how you did it, and how it's been tested?

@AhmmedSamier
Copy link
Author

This smells a little bit like an AI Agent PR. not a bad thing, just want to confirm how you did it, and how it's been tested?

I’m not primarily a Rust developer, but I use Zed for Angular development. I used Google Jules to implement the required changes and relied on its built-in review during the verification step. In addition, I manually tested the functionality to ensure everything works as expected

image

@nathansbradshaw
Copy link
Owner

Thanks for the PR and response @AhmmedSamier . I appreciate the work you and the community don't keep this plugin alive.

I think to get this PR through getting a second set of verification that everything works would be nice. I don't work with angular anymore, so I'll defer the second set of eyes to someone with more recent experience

@AhmmedSamier
Copy link
Author

Hi @nathansbradshaw 👋

I wanted to check in on the status of this PR.

Could you share if there’s anything else needed to move it forward (e.g., additional verification/testing, adjustments to the changes, or a second reviewer)? I’d be happy to help with whatever is needed to get this merged. Thanks!

@nathansbradshaw
Copy link
Owner

@AhmmedSamier Some verification would be great and I'll review it later today to see if we can get it merged

@nathansbradshaw
Copy link
Owner

I'm sorry, I haven't had any time to look into this. @jpike88 do you have any availability to verify this and merge it in?

@jpike88
Copy link
Collaborator

jpike88 commented Feb 5, 2026

@AhmmedSamier what happens if I have folder X opened which is a monorepo, and the package.json of interest is in subfolder Y (like a client/ directory)?

Seems like that check is very brittle.

I think at least:

  • being able to manually override the path it looks at
  • or better, have it start in the directory of an open file, and work your way upwards to the first instance of a package.json that references an angular package, and then just work with that for the remainder of the session

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants