await execa.command( `cd ${wd}/tar-${file} && zip ../hygen.${plat}.v${v}.zip hygen.exe`, opts, await execa.command( `cd ${wd}/tar-${file} && tar -czvf ../hygen.${plat}.v${v}.tar.gz hygen`, opts, console.log((await execa.command(`ls ${wd}`, opts)).stdout) await execa.command(`shasum -a 256 ${wd}/hygen.macos.v${v}.tar.gz`, opts) ).stdout.match(/([a-f0-9]+)\s+/) console.log(matches) `git push https://${process.env.GITHUB_TOKEN}@${repo}`, ].join(' && ') console.log(await execa.command(cmd, opts).stdout)
const execCliCommand = async function({ binaryPath, mainFlags, commandEnv }) { const cliFlags = getCliFlags(mainFlags) const { all, failed } = await execa.command(`${binaryPath} ${cliFlags}`, { all: true, reject: false, env: commandEnv, }) return { returnValue: all, failed } }
// Run a command, with file + arguments being a single string const runCommand = function(command, options) { const optionsA = { ...DEFAULT_OPTIONS, ...options } const childProcess = execa.command(command, optionsA) redirectOutput(childProcess, optionsA) return childProcess }
const runCommand = async function({ packageRoot, packages, isLocal, type }) { try { const command = await getCommand({ packageRoot, type, isLocal }) const packagesList = packages === undefined ? '' : ` ${packages.join(' ')}` await execa.command(`${command}${packagesList}`, { cwd: packageRoot, all: true }) } catch (error) { const message = getErrorMessage(error.all) const errorA = new Error(`Error while installing dependencies in ${packageRoot}\n${message}`) addErrorInfo(errorA, { type: 'dependencies' }) throw errorA } }
test('CLI | Normal execution', async t => { const tmpDir = await tmpName({ prefix: 'zip-it-test' }) const { stdout } = await execa.command(`${BINARY_PATH} ${join(FIXTURES_DIR, 'simple')} ${tmpDir}`) const zipped = JSON.parse(stdout) t.is(zipped.length, 1) t.is(zipped[0].runtime, 'js') })
test('CLI | Should throw on missing srcFolder', async t => { const { exitCode, stderr } = await execa.command(BINARY_PATH, { reject: false }) t.is(exitCode, 1) t.true(stderr.includes('Not enough non-option arguments')) })
const createGit = async function(cwd, git) { if (!git) { return } await execa.command('git init', { cwd }) await execa.command('git config user.email test@test.com', { cwd }) await execa.command('git config user.name test', { cwd }) await execa.command('git commit --no-gpg-sign --allow-empty -m one', { cwd }) await execa.command('git config --unset user.email', { cwd }) await execa.command('git config --unset user.name', { cwd }) }
const getGitBranch = async function(repositoryRoot) { try { const { stdout } = await execa.command('git rev-parse --abbrev-ref HEAD', { cwd: repositoryRoot }) return stdout } catch (error) { return } }
test('CLI | --version', async t => { const { stdout } = await execa.command(`${BINARY_PATH} --version`) t.is(stdout, version) })
test('CLI | Error execution', async t => { const { exitCode, stderr } = await execa.command(`${BINARY_PATH} doesNotExist destFolder`, { reject: false }) t.is(exitCode, 1) t.true(stderr !== '') })
// Run a command, with file + arguments being a single string const runCommand = function(command, options) { const optionsA = { ...DEFAULT_OPTIONS, ...options } const childProcess = execa.command(command, optionsA) redirectOutput(childProcess, optionsA) return childProcess }
const runCommand = async function({ packageRoot, packages, isLocal, type }) { try { const command = await getCommand({ packageRoot, type, isLocal }) const packagesList = packages === undefined ? '' : ` ${packages.join(' ')}` await execa.command(`${command}${packagesList}`, { cwd: packageRoot, all: true }) } catch (error) { const message = getErrorMessage(error.all) const errorA = new Error(`Error while installing dependencies in ${packageRoot}\n${message}`) addErrorInfo(errorA, { type: 'dependencies' }) throw errorA } }
const execCliCommand = async function({ binaryPath, mainFlags, commandEnv }) { const cliFlags = getCliFlags(mainFlags) const { all, failed } = await execa.command(`${binaryPath} ${cliFlags}`, { all: true, reject: false, env: commandEnv, }) return { returnValue: all, failed } }
const createGit = async function(cwd, git) { if (!git) { return } await execa.command('git init', { cwd }) await execa.command('git config user.email test@test.com', { cwd }) await execa.command('git config user.name test', { cwd }) await execa.command('git commit --no-gpg-sign --allow-empty -m one', { cwd }) await execa.command('git config --unset user.email', { cwd }) await execa.command('git config --unset user.name', { cwd }) }
test('CLI | Should throw on missing destFolder', async t => { const { exitCode, stderr } = await execa.command(`${BINARY_PATH} srcFolder`, { reject: false }) t.is(exitCode, 1) t.true(stderr.includes('Not enough non-option arguments')) })