Currently ALE seems to be looking for the correct linters executables from node_module, would it be nicer if we just use npx and let npx decide where to load the binary?
The is the first time I've heard of npx. I'll look into it.
The advantage of using npx is that it will try look into local modules, if not it will look for global modules. This makes things maybe a little bit easier and more flexible.
I guess one problem is npx will download the module and use the module only once. This might be problematic?
#2183 started looking at doing this only for the bash-language-server, but I closed that PR for now. I think it would make sense to add support for running various linters via npx in general, probably after. Maybe after implementing #2132.
Personally, I don't think I'd want ale using npx. I'd want it to be using the locally installed module, and if it's not locally installed, to use the globally installed one. If it's not installed locally nor globally, it'd want ALE to error out rather than have npx install the module "just once". Since ale is going to be running frequently, I'd want to be immediately and loudly notified that the necessary bin is missing; not have that error masked by npx temporarily installing it for me.
It's a matter of preference. I think it makes sense to add support for it, for those who want it.
I think I kind of agree to @jasonkarns now. I am not sure why I thought it was a good idea to use npx.
Okay then, I'll close the issue.