Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMyles Borins <mylesborins@github.com>2020-10-06 00:15:01 +0300
committerisaacs <i@izs.me>2020-10-06 21:26:00 +0300
commit6d49207dbc5d66f91f4f462f05dd8916046e3a7b (patch)
tree5b5fd1480f410a2479561b9e498cb864f8750d86 /bin
parentf34595f2e5814a929049aca0349ce418a7f400c6 (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')
-rw-r--r--bin/npx39
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" "$@"