Skip to content

Commit 9e09bab

Browse files
authored
fix: remove extraneous space when no additional args are passed (#82)
1 parent 2daf8db commit 9e09bab

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

lib/make-spawn-args.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,20 @@ const makeSpawnArgs = options => {
6363

6464
scriptFile = resolve(tmpdir(), `${event}-${Date.now()}.cmd`)
6565
script += '@echo off\n'
66-
script += `${cmd} ${args.map((arg) => escape.cmd(arg, doubleEscape)).join(' ')}`
66+
script += cmd
67+
if (args.length) {
68+
script += ` ${args.map((arg) => escape.cmd(arg, doubleEscape)).join(' ')}`
69+
}
6770
} else {
6871
const shebang = isAbsolute(scriptShell)
6972
? `#!${scriptShell}`
7073
: `#!/usr/bin/env ${scriptShell}`
7174
scriptFile = resolve(tmpdir(), `${event}-${Date.now()}.sh`)
7275
script += `${shebang}\n`
73-
script += `${cmd} ${args.map((arg) => escape.sh(arg)).join(' ')}`
76+
script += cmd
77+
if (args.length) {
78+
script += ` ${args.map((arg) => escape.sh(arg)).join(' ')}`
79+
}
7480
}
7581

7682
writeFile(scriptFile, script)

test/make-spawn-args.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,7 @@ if (isWindows) {
8282
}, 'got expected options')
8383

8484
const contents = fs.readFileSync(args[args.length - 1], { encoding: 'utf8' })
85-
// the contents will have a trailing space if no args are passed
86-
t.equal(contents, `@echo off\nscript "quoted parameter"; second command `)
85+
t.equal(contents, `@echo off\nscript "quoted parameter"; second command`)
8786
t.ok(fs.existsSync(args[args.length - 1]), 'script file was written')
8887
cleanup()
8988
t.not(fs.existsSync(args[args.length - 1]), 'cleanup removes script file')

0 commit comments

Comments
 (0)