@@ -644,6 +644,7 @@ function analyzeWindowsShellCommand(params: {
644644 command : string ;
645645 cwd ?: string ;
646646 env ?: NodeJS . ProcessEnv ;
647+ platform ?: string | null ;
647648} ) : ExecCommandAnalysis {
648649 const effective = stripWindowsShellWrapper ( params . command . trim ( ) ) ;
649650 const unsupported = findWindowsUnsupportedToken ( effective ) ;
@@ -664,7 +665,12 @@ function analyzeWindowsShellCommand(params: {
664665 {
665666 raw : params . command ,
666667 argv,
667- resolution : resolveCommandResolutionFromArgv ( argv , params . cwd , params . env ) ,
668+ resolution : resolveCommandResolutionFromArgv (
669+ argv ,
670+ params . cwd ,
671+ params . env ,
672+ ( params . platform ?? undefined ) as NodeJS . Platform | undefined ,
673+ ) ,
668674 } ,
669675 ] ,
670676 } ;
@@ -679,6 +685,7 @@ function parseSegmentsFromParts(
679685 parts : string [ ] ,
680686 cwd ?: string ,
681687 env ?: NodeJS . ProcessEnv ,
688+ platform ?: string | null ,
682689) : ExecCommandSegment [ ] | null {
683690 const segments : ExecCommandSegment [ ] = [ ] ;
684691 for ( const raw of parts ) {
@@ -689,7 +696,12 @@ function parseSegmentsFromParts(
689696 segments . push ( {
690697 raw,
691698 argv,
692- resolution : resolveCommandResolutionFromArgv ( argv , cwd , env ) ,
699+ resolution : resolveCommandResolutionFromArgv (
700+ argv ,
701+ cwd ,
702+ env ,
703+ ( platform ?? undefined ) as NodeJS . Platform | undefined ,
704+ ) ,
693705 } ) ;
694706 }
695707 return segments ;
@@ -1206,7 +1218,12 @@ export function analyzeShellCommand(params: {
12061218 if ( ! pipelineSplit . ok ) {
12071219 return { ok : false , reason : pipelineSplit . reason , segments : [ ] } ;
12081220 }
1209- const segments = parseSegmentsFromParts ( pipelineSplit . segments , params . cwd , params . env ) ;
1221+ const segments = parseSegmentsFromParts (
1222+ pipelineSplit . segments ,
1223+ params . cwd ,
1224+ params . env ,
1225+ params . platform ,
1226+ ) ;
12101227 if ( ! segments ) {
12111228 return { ok : false , reason : "unable to parse shell segment" , segments : [ ] } ;
12121229 }
@@ -1222,7 +1239,7 @@ export function analyzeShellCommand(params: {
12221239 if ( ! split . ok ) {
12231240 return { ok : false , reason : split . reason , segments : [ ] } ;
12241241 }
1225- const segments = parseSegmentsFromParts ( split . segments , params . cwd , params . env ) ;
1242+ const segments = parseSegmentsFromParts ( split . segments , params . cwd , params . env , params . platform ) ;
12261243 if ( ! segments ) {
12271244 return { ok : false , reason : "unable to parse shell segment" , segments : [ ] } ;
12281245 }
@@ -1233,6 +1250,7 @@ export function analyzeArgvCommand(params: {
12331250 argv : string [ ] ;
12341251 cwd ?: string ;
12351252 env ?: NodeJS . ProcessEnv ;
1253+ platform ?: string | null ;
12361254} ) : ExecCommandAnalysis {
12371255 const argv = params . argv . filter ( ( entry ) => entry . trim ( ) . length > 0 ) ;
12381256 if ( argv . length === 0 ) {
@@ -1245,7 +1263,12 @@ export function analyzeArgvCommand(params: {
12451263 raw : argv . join ( " " ) ,
12461264 argv,
12471265 sourceArgv : [ ...params . argv ] ,
1248- resolution : resolveCommandResolutionFromArgv ( argv , params . cwd , params . env ) ,
1266+ resolution : resolveCommandResolutionFromArgv (
1267+ argv ,
1268+ params . cwd ,
1269+ params . env ,
1270+ ( params . platform ?? undefined ) as NodeJS . Platform | undefined ,
1271+ ) ,
12491272 } ,
12501273 ] ,
12511274 } ;
0 commit comments