allegro / allegro/typescript-strict-plugin

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

未关闭
#40 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
397
派生
34
PR 合并指标
PR 指标待抓取

描述

## 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?

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。