Closed JohnnyMorganz closed 4 months ago
That's a funny bug! I wonder where those tools are conjuring a different extension from.
I think a reasonable fix would be to also try to strip the uppercase version of EXE_SUFFIX
. I want to avoid introducing new bugs on platforms that tend to have case-sensitive filesystems if we can. What do you think about that solution?
Sorry for the delay in responding!
I wonder where those tools are conjuring a different extension from.
Looks to just be how node-which
defines the extension on windows platform https://github.com/npm/node-which/blob/25c5191ec4e29d8f83028fae5f52c0182d006d96/lib/index.js#L33
What do you think about that solution?
Sounds reasonable to me. Maybe even gate it to only windows platforms?
On Windows, sometimes the path to an aftman managed executable is returned by tools (such as node-which) with a capitalised suffix
.EXE
, e.g.:C:\Users\Development\.aftman\bin\stylua.EXE
I'm not sure exactly why its returned like this sometimes, but I've seen it often occur for users, and myself.
When attempting to run this executable directly using the path, there can be odd behaviour. For example, in cmd:
But in powershell:
But
C:\Users\Development\Downloads\project\aftman.toml
contains the contents:I would expect the tool to always run fine, even with
.EXE
as a suffix.Looking at the code, the offending issue seems to be
current_exe_name()
not stripping the.EXE
suffix like it does for.exe
, meaning aftman doesn't find it inmanfiest.tools
vectorhttps://github.com/LPGhatguy/aftman/blob/412d5b5a54971a881bfd99ebd7976b48cf5dedfe/src/main.rs#L73C1-L83C2