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/npx
diff options
context:
space:
mode:
Diffstat (limited to 'bin/npx')
-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" "$@"