Open Descolada opened 1 year ago
Thanks so much for letting me know that there is a problem with the path validation.
I will have to think about reducing npm package dependencies in the future so I can come up with a better solution.
I will close this pull request in the future when this issue is resolved.
Although I am aware of your policy of not accepting pull requests, I am leaving this here as a base for a potential fix for issue #303 whenever you get time to deal with this. Modify it as you wish.
This PR adds
existsSyncEx
andcommandExistsSync
functions to support accepting a command, file, or symlink as runtime paths. This fixes the issue whereexistsSync
returns "false" in the case of a symlink pointing to the WindowsApps restricted folder. 1)commandExistsSync
requires the packagecommand-exists
, this has been added to package.json 2)existsSyncEx
useslstatSync
to check whether a file or symlink exists by checking for the ENOENT error.lstatSync
is used instead ofstatSync
because the latter fails with a "permission denied" error in cases of a symlink pointing to a restricted permission file.For example, if AHK Microsoft Store edition is installed,
commandExistsSync
permitsAutoHotkey
command to be used instead of a full path, andexistsSyncEx
permits the symlinkC:/Users/CURRENTUSER/AppData/Local/Microsoft/WindowsApps/AutoHotkey.exe
which previously failed.