(parsed)
| 1378 | return parsed.file; |
| 1379 | } |
| 1380 | function parseNonShell(parsed) { |
| 1381 | if (!isWin) { |
| 1382 | return parsed; |
| 1383 | } |
| 1384 | const commandFile = detectShebang(parsed); |
| 1385 | const needsShell = !isExecutableRegExp.test(commandFile); |
| 1386 | if (parsed.options.forceShell || needsShell) { |
| 1387 | const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); |
| 1388 | parsed.command = path5.normalize(parsed.command); |
| 1389 | parsed.command = escape2.command(parsed.command); |
| 1390 | parsed.args = parsed.args.map((arg) => escape2.argument(arg, needsDoubleEscapeMetaChars)); |
| 1391 | const shellCommand = [parsed.command].concat(parsed.args).join(" "); |
| 1392 | parsed.args = ["/d", "/s", "/c", `"${shellCommand}"`]; |
| 1393 | parsed.command = process.env.comspec || "cmd.exe"; |
| 1394 | parsed.options.windowsVerbatimArguments = true; |
| 1395 | } |
| 1396 | return parsed; |
| 1397 | } |
| 1398 | function parse(command, args, options) { |
| 1399 | if (args && !Array.isArray(args)) { |
| 1400 | options = args; |
no test coverage detected
searching dependent graphs…