diff options
author | Myles Borins <mylesborins@github.com> | 2020-10-06 00:15:01 +0300 |
---|---|---|
committer | isaacs <i@izs.me> | 2020-10-06 21:26:00 +0300 |
commit | 6d49207dbc5d66f91f4f462f05dd8916046e3a7b (patch) | |
tree | 5b5fd1480f410a2479561b9e498cb864f8750d86 /bin/npx | |
parent | f34595f2e5814a929049aca0349ce418a7f400c6 (diff) |
Revert "Remove unused npx binary"
This reverts commit f019a248a67e8c46dbe41bf31f4818c5ca2138bf.
Git Bash on Windows still uses this file. Removing it broke
the windows MSI builds in Node.js infrastructure. Unless we
absolutely need to remove this I think it is worth keeping
around
PR-URL: https://github.com/npm/cli/pull/1903
Credit: @MylesBorins
Close: #1903
Reviewed-by: @isaacs
Diffstat (limited to 'bin/npx')
-rw-r--r-- | bin/npx | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/bin/npx b/bin/npx new file mode 100644 index 000000000..f43754d62 --- /dev/null +++ b/bin/npx @@ -0,0 +1,39 @@ +#!/bin/sh + +# This is used by the Node.js installer, which expects the cygwin/mingw +# shell script to already be present in the npm dependency folder. + +(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix + +basedir=`dirname "$0"` + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +NODE_EXE="$basedir/node.exe" +if ! [ -x "$NODE_EXE" ]; then + NODE_EXE=node +fi + +NPM_CLI_JS="$basedir/node_modules/npm/bin/npm-cli.js" +NPX_CLI_JS="$basedir/node_modules/npm/bin/npx-cli.js" + +case `uname` in + *MINGW*) + NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g` + NPM_PREFIX_NPX_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npx-cli.js" + if [ -f "$NPM_PREFIX_NPX_CLI_JS" ]; then + NPX_CLI_JS="$NPM_PREFIX_NPX_CLI_JS" + fi + ;; + *CYGWIN*) + NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g` + NPM_PREFIX_NPX_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npx-cli.js" + if [ -f "$NPM_PREFIX_NPX_CLI_JS" ]; then + NPX_CLI_JS="$NPM_PREFIX_NPX_CLI_JS" + fi + ;; +esac + +"$NODE_EXE" "$NPX_CLI_JS" "$@" |