diff --git a/packages/create/create.js b/packages/create/create.js index e7f668fc..3d0557af 100755 --- a/packages/create/create.js +++ b/packages/create/create.js @@ -118,12 +118,11 @@ async function safeOutputFile(file, data, options={}) { } async function execFile(cmd, args) { - const escaped = args.map(escapeArg); - logger.verbose(`executing ${cmd} ${escaped.join(" ")}`); + const command = [cmd, ...args.map(escapeArg)].join(" "); + logger.verbose(`executing ${command}`); return new Promise((resolve, reject) => { let child = child_process.execFile( - cmd, - escaped, + command, { shell: true, diff --git a/test/create/escape_arg.js b/test/create/escape_arg.js index 496737e3..593b1a3f 100644 --- a/test/create/escape_arg.js +++ b/test/create/escape_arg.js @@ -8,10 +8,9 @@ const { escapeArg } = require("../../packages/create/escape_arg"); const execFile = util.promisify(child_process.execFile); async function exec(file, args) { + const command = [file, ...args.map(escapeArg)].join(" "); const { stdout, stderr } = await execFile( - file, - args.map(escapeArg), - + command, { shell: true, cwd: __dirname, env: { ...process.env, pct: "%"} } ); return { stdout: JSON.parse(stdout), stderr };