allegro / typescript-strict-plugin

Typescript plugin that allows turning on strict mode in specific files or directories.
MIT License
332 stars 29 forks source link

Plugin has stopped working with Visual Studio Code #61

Closed hnra closed 7 months ago

hnra commented 8 months ago

Has this plugin stopped working with Visual Studio Code (tested 1.83.1 and 1.85.0) for anyone else? I'm observing some weird behavior when switching between regular and ts-strict-ignore files where sometimes ignored files report strictness diagnostics and sometimes normal files do no report strictness diagnostics. There is also a tendency for vscode to hang indefinitely with "Loading IntelliSense status" which results in no new diagnostics being produced (seems the language service hangs).

At first I thought it was simply that the first file which requests diagnostics set the strictness of the rest of the session but it seems this is not the case.

Interestingly I do not observe these issues when using my fork where I'm experimenting with keeping a separate TS program in-memory instead of mutating the compiler options of the language service. The fork can be found here: https://github.com/hnra/typescript-strict-plugin. I have tested this fork out on a project with 100k+ LOC and it seems to work well and fixes these issues. I can open a PR if we want to discuss upstreaming the changes.

typescript-strict-plugin version: 2.2.1 TypeScript version: 5.3.3 and 5.2.2 Visual Studio Code: 1.83.1 and 1.85.0

KostkaBrukowa commented 8 months ago

Hey! If you already have a fork, you can add a PR to repository and I can test if it works - if it will work better for others we can merge it because it looks very promising From my side - I'm not using vscode and we do not upgrade TS very often in our project so it's hard for me to tell if this plugin has gotten worse over the time

hnra commented 8 months ago

I have cleaned up my fork a bit and tested it out on some different types of projects. The PR is here: https://github.com/allegro/typescript-strict-plugin/pull/62, please try it out.

hnra commented 7 months ago

https://github.com/allegro/typescript-strict-plugin/pull/67 seems to fix this issue 🥳