Check if existing linters are installed #2110
Replies: 2 comments
-
Hi @bladeacer -- Thanks for this inquiry. Can you share a bit more about the motivation for the request? Using system linters instead of sandboxed linters is something we've considered but decided against for now. There are a few reasons. First, we would like to limit the number of behaviors that the system produces. Since we need to install linters in most cases, supporting system-installed linters would add more possible cases. Since we don't control the system installed linters, it would open up a new class of problems that we would be poorly positioned to solve. (For example, some users have partially broken Homebrew setups due to an X86 -> ARM64 change.) Also, the amount of complexity associated with a linter installation varies widely by linter. The simplest are a self-contained binary download. Others, like RuboCop, depend on a virtual machine like Ruby -- and sometimes will even change behavior based on the version of the VM they are running on. (In other words, linter v1.2.3 might produce different results on different systems.) Finally, for linters like ESLint it is common to need additional packages to run them properly. So the presence of the correct version of ESLint on the system |
Beta Was this translation helpful? Give feedback.
-
"Can you share a bit more about the motivation for the request?" imo if a user extensively uses a linter an educated guess can be made that they have already pre-installed said linter on their system before using qltysh. If said user exists, maybe there can be a linter config option to let them insert the system path to the linter which they wish to use. In that case, it is an opt in option that falls on the user's responsibility to ensure working before adding the path. I do understand the drawbacks of using system linters, but if the users have most of the linters they need already installed and ready to go, why add overhead using a sandboxed linter? "That means that we'd likely need to start creating lists of which linters can work as system linters vs. which linters cannot, and add more complexity." |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Problem statement
Check if existing linters and their dependencies are already installed with the system. If so, use the already existing version instead of installing.
Solution brainstorm (optional)
No response
Beta Was this translation helpful? Give feedback.
All reactions