Skip to content

Pin the managed Angular language-server stack - #6

Merged
rui-monte merged 3 commits into
mainfrom
codex/issue-5-pinned-angular-server
Sep 27, 2026
Merged

rui-monte merged 3 commits into
mainfrom
codex/issue-5-pinned-angular-server

Conversation

@rui-monte

@rui-monte rui-monte commented Sep 26, 2026 •

Copy link
Copy Markdown
Owner

The managed server previously followed npm latest and could load project TypeScript or language-service packages into that stack, changing editor behavior between sessions and introducing version mismatches.

Pin @angular/language-server and @angular/language-service to 22.2.0 and TypeScript to 6.0.3 in one embedded manifest. Startup checks versions locally, installs only missing or mismatched packages, and reuses a complete installation offline. Managed probes point only to extension storage; Angular detects each project's local core version. The custom server path still bypasses managed installation and retains project-first probes.

Split installation and launch configuration into focused Rust modules, use Zed's supplied storage path, and document the tested compatibility set and override behavior.

Validation:

  • Formatting, Clippy with warnings denied, and 7 Rust unit tests passed.
  • The extension builds for wasm32-wasip2, matching Zed's current dev-extension target.
  • Five Node checks exercise the real server across Angular 18.2.14, 21.2.24, and 22.2.0 in one monorepo: template hovers and diagnostics, version-specific standalone defaults, conflicting project package isolation, and startup with npm offline. These checks run in CI.
  • Installed and exercised the actual dev extension in Zed 1.21.0 on macOS arm64, using an isolated profile and projects without local language servers. Verified template hover and diagnostics across all three Angular versions; completion and diagnostic clearing in Angular 18; and Angular grammar support in a .component.html template.
  • Quit and reopened Zed with npm forced offline and an unreachable registry. Verified those settings reached both Zed and the server, language features still worked, and managed package versions and modification times were unchanged. This restricts npm rather than disabling all machine networking.
  • Verified the custom server override and 4096 MB memory setting using the actual process arguments, server logs, and template hover.

The reproducible editor procedure and recorded results are in tests/zed-smoke-test.md. CI does not drive Zed's UI, and these fixtures do not guarantee support for every Angular release or compiler option.

Closes #5.

@rui-monte
rui-monte marked this pull request as ready for review September 27, 2026 20:29
@rui-monte
rui-monte merged commit 8c4a2c5 into main Sep 27, 2026
1 check passed
@rui-monte
rui-monte deleted the codex/issue-5-pinned-angular-server branch September 27, 2026 20:29
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.

Manage Angular Language Server in the extension, similar to the official VS Code extension

1 participant