Skip to content

feat: relay Vue tsserver/request to sibling TypeScript server - #55

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/vue-tsserver-relay-15fc
Aug 29, 2026
Merged

feat: relay Vue tsserver/request to sibling TypeScript server#55
cursor[bot] merged 2 commits into
mainfrom
cursor/vue-tsserver-relay-15fc

Conversation

@nicholasadamou

@nicholasadamou nicholasadamou commented Aug 29, 2026

Copy link
Copy Markdown
Member

Summary

Port Vue hybrid-mode support: register a vue-typescript sibling (typescript-language-server + @vue/typescript-plugin), answer tsserver/request notifications by relaying typescript.tsserverRequest to that sibling (waiting through its handshake), and always reply — an unanswered request hangs completion in .vue files.

Test plan

  • bun test test/lsp/vue-relay.test.tsx — resolve both servers, relay round-trip, unanswered still answers
  • bun test test/lsp-servers.test.ts
  • bun test test/app-lsp.test.ts — built-in vue spawn with sibling disabled
  • CI green
Open in Web Open in Cursor 

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@coderabbitai

coderabbitai Bot commented Aug 29, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 59 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 420f478f-8ddf-4c33-a683-01d06fac6ebd

📥 Commits

Reviewing files that changed from the base of the PR and between 7ef1c70 and 178a95d.

📒 Files selected for processing (11)
  • scripts/file-size-budgets.json
  • src/app/lsp/index.ts
  • src/app/lsp/vueRelay.ts
  • src/lsp/client.ts
  • src/lsp/project.ts
  • src/lsp/servers.ts
  • test/app-lsp.test.ts
  • test/fixtures/hybrid-lsp.ts
  • test/fixtures/tsserver-lsp.ts
  • test/lsp-servers.test.ts
  • test/lsp/vue-relay.test.tsx

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Register vue-typescript beside the Vue language server, answer hybrid
tsserver/request notifications by executeCommand to a sibling that
advertises typescript.tsserverRequest, and pass @vue/typescript-plugin
as initialization options when the package is present.

Co-authored-by: Nicholas Adamou <nicholasadamou@users.noreply.github.com>
@cursor
cursor Bot force-pushed the cursor/vue-tsserver-relay-15fc branch from 763390e to e751e63 Compare August 29, 2026 12:16
Opening a .vue file now also tries the tsserver half; the unit test that
only asserts the Vue language server can spawn must turn that sibling off
so missing-install warnings do not fail it.

Co-authored-by: Nicholas Adamou <nicholasadamou@users.noreply.github.com>
@nicholasadamou
nicholasadamou marked this pull request as ready for review August 29, 2026 12:28
@cursor
cursor Bot merged commit 1e057f4 into main Aug 29, 2026
6 of 7 checks passed
@cursor
cursor Bot deleted the cursor/vue-tsserver-relay-15fc branch August 29, 2026 12: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.

2 participants