Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idea: Proxy strict/non-strict semantics requests to two child tsserver instances? #40

Open
hccampos opened this issue Aug 16, 2022 · 0 comments

Comments

@hccampos
Copy link

hccampos commented Aug 16, 2022

Description

We've been looking at adopting this plugin in our very large project and noticed that switching between files which are marked as strict and files which are not can be very slow (in the order of 10s of seconds). That seems to be because the plugin needs to switch strict on and off in the language server based on the presence of the @ts-strict-ignore comments. This slowness makes the plugin very disruptive to use on a day-to-day basis, at least until most of our codebase has been made strict and we don't need to switch strict on/off so often.

Idea

Maybe this occurred to you as well but the following came to mind: could we run two tsserver instances in parallel, one with strict enabled and the other one with it disabled? If possible, it should avoid the cost of switching a single tsserver between strict and non-strict mode in very large codebases (those which typically are harder to make strict).

I suppose to make this happen one would have to create a custom tsserver which would start two child tsserver processes and proxy any requests from the IDE to the right child process based on the presence (or lack) of the @ts-strict-ignore comment.

What do you think? Have you maybe tried going down this route?

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

No branches or pull requests

1 participant