diff --git a/lib/index.js b/lib/index.js index a1f1548..1b6d1d8 100644 --- a/lib/index.js +++ b/lib/index.js @@ -109,13 +109,12 @@ const writeShim_ = (from, to, prog, args, variables) => { + ` SET "_prog=${longProg.replace(/(^")|("$)/g, '')}"\r\n` + ') ELSE (\r\n' + ` SET "_prog=${prog.replace(/(^")|("$)/g, '')}"\r\n` - + ' SET PATHEXT=%PATHEXT:;.JS;=;%\r\n' + ')\r\n' + '\r\n' // prevent "Terminate Batch Job? (Y/n)" message // https://github.com/npm/cli/issues/969#issuecomment-737496588 + 'endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & ' - + `"%_prog%" ${args} ${target} %*\r\n` + + `set PATHEXT=%PATHEXT:;.JS;=;% & "%_prog%" ${args} ${target} %*\r\n` } else { cmd = `${head}${prog} ${args} ${target} %*\r\n` } diff --git a/tap-snapshots/test/basic.js.test.cjs b/tap-snapshots/test/basic.js.test.cjs index 3eac255..901a363 100644 --- a/tap-snapshots/test/basic.js.test.cjs +++ b/tap-snapshots/test/basic.js.test.cjs @@ -19,10 +19,9 @@ IF EXIST "%dp0%\\node.exe" (\\r SET "_prog=%dp0%\\node.exe"\\r ) ELSE (\\r SET "_prog=node"\\r - SET PATHEXT=%PATHEXT:;.JS;=;%\\r )\\r \\r -endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\\from.env" %*\\r +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & set PATHEXT=%PATHEXT:;.JS;=;% & "%_prog%" "%dp0%\\from.env" %*\\r ` @@ -109,10 +108,9 @@ IF EXIST "%dp0%\\node.exe" (\\r SET "_prog=%dp0%\\node.exe"\\r ) ELSE (\\r SET "_prog=node"\\r - SET PATHEXT=%PATHEXT:;.JS;=;%\\r )\\r \\r -endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" --expose_gc "%dp0%\\from.env.args" %*\\r +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & set PATHEXT=%PATHEXT:;.JS;=;% & "%_prog%" --expose_gc "%dp0%\\from.env.args" %*\\r ` @@ -200,10 +198,9 @@ IF EXIST "%dp0%\\node.exe" (\\r SET "_prog=%dp0%\\node.exe"\\r ) ELSE (\\r SET "_prog=node"\\r - SET PATHEXT=%PATHEXT:;.JS;=;%\\r )\\r \\r -endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\\from.env.variables" %*\\r +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & set PATHEXT=%PATHEXT:;.JS;=;% & "%_prog%" "%dp0%\\from.env.variables" %*\\r ` @@ -290,10 +287,9 @@ IF EXIST "%dp0%\\/usr/bin/sh.exe" (\\r SET "_prog=%dp0%\\/usr/bin/sh.exe"\\r ) ELSE (\\r SET "_prog=/usr/bin/sh"\\r - SET PATHEXT=%PATHEXT:;.JS;=;%\\r )\\r \\r -endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\\from.sh" %*\\r +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & set PATHEXT=%PATHEXT:;.JS;=;% & "%_prog%" "%dp0%\\from.sh" %*\\r ` @@ -380,10 +376,9 @@ IF EXIST "%dp0%\\/usr/bin/sh.exe" (\\r SET "_prog=%dp0%\\/usr/bin/sh.exe"\\r ) ELSE (\\r SET "_prog=/usr/bin/sh"\\r - SET PATHEXT=%PATHEXT:;.JS;=;%\\r )\\r \\r -endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" -x "%dp0%\\from.sh.args" %*\\r +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & set PATHEXT=%PATHEXT:;.JS;=;% & "%_prog%" -x "%dp0%\\from.sh.args" %*\\r ` @@ -590,10 +585,9 @@ IF EXIST "%dp0%\\node.exe" (\\r SET "_prog=%dp0%\\node.exe"\\r ) ELSE (\\r SET "_prog=node"\\r - SET PATHEXT=%PATHEXT:;.JS;=;%\\r )\\r \\r -endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" --flag-one --flag-two "%dp0%\\from.env.multiple.variables" %*\\r +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & set PATHEXT=%PATHEXT:;.JS;=;% & "%_prog%" --flag-one --flag-two "%dp0%\\from.env.multiple.variables" %*\\r ` @@ -739,10 +733,9 @@ IF EXIST "%dp0%\\node.exe" (\\r SET "_prog=%dp0%\\node.exe"\\r ) ELSE (\\r SET "_prog=node"\\r - SET PATHEXT=%PATHEXT:;.JS;=;%\\r )\\r \\r -endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" --expose_gc "%dp0%\\from.env.S" %*\\r +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & set PATHEXT=%PATHEXT:;.JS;=;% & "%_prog%" --expose_gc "%dp0%\\from.env.S" %*\\r `