From 6d49207dbc5d66f91f4f462f05dd8916046e3a7b Mon Sep 17 00:00:00 2001 From: Myles Borins Date: Mon, 5 Oct 2020 17:15:01 -0400 Subject: [PATCH] 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 --- bin/npx | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 bin/npx diff --git a/bin/npx b/bin/npx new file mode 100644 index 0000000000000..f43754d620a8a --- /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" "$@"