Poor performance with mid-size monorepo
Hi,
I am long time user of WebStorm and love it so much.
At the current company we're progressively moving to mono-repo which makes is great in terms of team development, but for some reasons, WebStorm is really slow for me in this project.
What I mean by slow?
e.g. double-shift brings results in seconds after typing, while normally they come up immediately in different projects. I use double-shift all the time, so it makes my really tired by its lack of responsiveness.
It is NX + TypeScript + ESLint project.
I am wondering what can be done to improve it?
One thing I've noticed is that it often indexes some dist folders which are hard to exclude as they are often somewhere deep etc (why WebStorm exclusions cannot use similar format to gitignore so could autoignore every dist?)
Please sign in to leave a comment.
We are sorry to hear about that.
We would kindly ask you to create a new youtrack ticket about the problem you’re experiencing. This would help us ensure that nothing is lost in the comments to this long thread.
Same problems here. I have a medium sized yarn monorepo. Performance for intellisense is so so bad. It takes multiple minutes for intellij to identify `useEffect` or any of the commonly used methods in react.
I've disabled nearly every plugin except what's necessary. I've also disabled all inlay hints and code completion. It's just really terrible to the point that I cannot use the IDE. Now I'm using VSCode.
Instead of asking a snapshot from every user here to prove they're wrong or idk what you want to prove, maybe just try working in a monorepo yourselves? It's not that hard to reproduce.. There's so many devs here who are a big fan of Jetbrains products and don't want to switch, but you're making it very hard being this passive in solving the issue.
We do use monorepos when running performance tests. There could be many causes for such issues and unfortunately there's no silver bullet for addressing them, they are always specific to the environment and/or the code being used.
What I've found is that if you open the .gitignore file, it sometimes prompts you to exclude directories from indexing, if they aren't already. But it's not always accurate. So, to get better performance I had to go into project settings and manually disable all directories. After that, performance seems better.
My company have recently moved to small-medium size nx + typescript + esling monorepo and Webstorm has become completely unusable.
I know this is just a WebStorm problem because if I open any app/lib from a monorepo as a separate project it works fine, and VS Code doesn't have any of these issues in the first place. The Jetbrains devs apparently don't use any monorepos and clearly haven't tried any monorepo linked in this thread, otherwise they would know straight away that WebStorm just doesn't support monorepos and completely breaks when trying to work in one.
I've been using Jetbrains products for 15 years, but I think this it is the time to move to something else, as the JetBrains is stuck in the old way of thinking and chasing AI in a very me-too fashion without addressing the most basic issues of - IDE just doesn't work on ANY size monorepo.
Before anyone suggests trying Fleet, I did try it in desperation and it was even worse. So much for the NEXT generation of IDE.
There are at least 15 other devs in my company using WebStorm, but since the move to a monorepo official company policy is to move to something else as there's no faith in Jetbrains being able to address the issue, as it has been several years now that this has been happening yet still not a single JetBraisn dev even tried the mono-repo attached.
You have just lost 16 customers in one go. Hope you will be able to resolve these issues in the future, before the company collapses as everyone else moves to a monorepo and cancels their subscriptions too.
We are sorry to hear about that.
We would kindly ask you to create a new youtrack ticket about the problem you’re experiencing. This would help us ensure that nothing is lost in the comments to this long thread.
I love JetBrains products and really want to keep using it. Our entire team has moved to VSCode unfortunately. Exactly because of this. I've personally been invested in JetBrains products from 2011 and it's a shame to see this turn of events.
The handling of monorepos is clearly not working as expected. I've tried fleet and have unfortunately had the same experience.
JetBrains, why you not set up a rig with an i7 from 2019 and 16 GB RAM and try it yourself.
There are now enough tickets and cpu profiles from the users, that cant be so problematic. Most people here working in software companies and if i would tell our customers to give me cpu profiles every time they had performance issues they no longer would be our customers. Can you not solve it on your own?