diff --git a/lib/index.js b/lib/index.js index 10494e5..9f22169 100644 --- a/lib/index.js +++ b/lib/index.js @@ -105,13 +105,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 0f1e9c4..74f8c5f 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 ` @@ -88,10 +87,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 ` @@ -158,10 +156,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 ` @@ -227,10 +224,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 ` @@ -296,10 +292,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 ` @@ -457,10 +452,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 `