diff options
author | isaacs <i@izs.me> | 2021-02-26 02:38:28 +0300 |
---|---|---|
committer | Ruy Adorno <ruyadorno@hotmail.com> | 2021-03-05 00:07:14 +0300 |
commit | e69be2ac5c35e985732e2baa00b70d39332e4b9f (patch) | |
tree | 302f7bf48708fafc31ff0ced070609c4e183474c /test/lib/set-script.js | |
parent | 4a5dd3a5a200b3f4f7b47168497d8e03dca3a2ca (diff) |
Get correct npm prefix on all Windows unix shellsisaacs/fix-windows-shell-bins
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: https://github.com/npm/cli/pull/2789
Credit: @isaacs
Close: #2789
Reviewed-by: @nlf
Diffstat (limited to 'test/lib/set-script.js')
0 files changed, 0 insertions, 0 deletions