@@ -953,26 +953,21 @@ function expectRequiredModule(mod, expectation, checkESModule = true) {
953953 * @returns {[string, object | undefined] } An array that can be passed as
954954 * arguments to `exec` or `execSync`.
955955 */
956- function escapePathsFromShellCommand ( cmdParts , ...args ) {
956+ function escapePOSIXShell ( cmdParts , ...args ) {
957957 if ( common . isWindows ) {
958958 // On Windows, paths cannot contain `"`, so we can return the string unchanged.
959959 return [ String . raw ( { raw : cmdParts } , ...args ) ] ;
960960 }
961961 // On POSIX shells, we can pass values via the env, as there's a standard way for referencing a variable.
962- const env = { ...process . env }
962+ const env = { ...process . env } ;
963963 let cmd = cmdParts [ 0 ] ;
964964 for ( let i = 0 ; i < args . length ; i ++ ) {
965- if ( cmdParts [ i ] . at ( - 1 ) === '"' && cmdParts [ i + 1 ] [ 0 ] === '"' ) {
966- const envVarName = `ESCAPED_${ i } `
967- cmd += '$' + envVarName ;
968- env [ envVarName ] = args [ i ] ;
969- } else {
970- cmd += args [ i ] ;
971- }
972- cmd += cmdParts [ i + 1 ]
965+ const envVarName = `ESCAPED_${ i } ` ;
966+ env [ envVarName ] = args [ i ] ;
967+ cmd += '${' + envVarName + '}' + cmdParts [ i + 1 ] ;
973968 }
974969
975- return [ cmd , { env } ]
970+ return [ cmd , { env } ] ;
976971}
977972
978973const common = {
@@ -982,7 +977,7 @@ const common = {
982977 childShouldThrowAndAbort,
983978 createZeroFilledFile,
984979 defaultAutoSelectFamilyAttemptTimeout,
985- escapePathsFromShellCommand ,
980+ escapePOSIXShell ,
986981 expectsError,
987982 expectRequiredModule,
988983 expectWarning,
0 commit comments