Incorrect path being made in .cmd wrapper on windows.
Following the execution path:
https://github.com/GoogleChromeLabs/jsvu/blob/853836d94d207f6c8f487f272121b0bd4a5f7b72/shared/installer.js#L46 https://github.com/GoogleChromeLabs/jsvu/blob/853836d94d207f6c8f487f272121b0bd4a5f7b72/shared/installer.js#L131-L132 https://github.com/GoogleChromeLabs/jsvu/blob/853836d94d207f6c8f487f272121b0bd4a5f7b72/shared/installer.js#L134
Which results in this:
@echo off
"%~dp0engines/v8\v8.exe" --natives_blob="%~dp0engines/v8\natives_blob.bin" --snapshot_blob="%~dp0engines/v8\snapshot_blob.bin" %*
What's the expected result? What's broken exactly?
Aren't these invalid windows paths?
-
engines/v8\v8.exe -
engines/v8\natives_blob.bin -
engines/v8\snapshot_blob.bin
This portion: engines/v8, which gets made in this.targetRelPath = `engines/${engine}`; is never passed through a path.normalize().
cmd.exe accepts both \ and /. We could change the remaining / into \ on Windows but it would be an unobservable change 🤷🏼♂️
To be clear, I'd definitely accept a patch that uses path.join instead of hardcoding the / in shared/installer.js. It's just not a priority IMHO since it doesn't change behavior.