Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'execa' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
.then((json) => {
// we need this tool, so save its path right now
// const cmi = resolve(join('node_modules', '.bin', 'commit-message-install'))
// need to clone entire repo so we get all branches
// because we might be testing in a separate branch
execa.sync(`git clone ${url} ${localFolder}`, execOptions)
console.log('cloned into folder %s', localFolder)
shell.cd(localFolder)
const branch = json && json.branch
if (branch) {
console.log('commit message specifies branch to test', branch)
console.log('trying to switch to remote branch', branch)
const cmd = `git checkout ${branch}`
try {
execa.sync(cmd, execOptions)
} catch (e) {
console.error('Caught error trying to do', cmd)
console.error(e.message)
console.error('assuming we can work in the default branch')
it('should accept options', () => {
execa.commandSync('ls pipe', { stderr: 'pipe' }).then(printStdout);
execa.commandSync('ls pipe', { stderr: 10 }).then(printStdout);
execa.commandSync('ls pipe', { input: 'foobar' });
execa.commandSync('ls pipe', { input: new Buffer('foobar') });
execa.commandSync('ls pipe', { input: process.stdin });
// $ExpectError
execa.commandSync('ls pipe', { foo: 666 });
// $ExpectError
execa.commandSync('ls pipe', { input: 42 });
});
it('should not accept args', () => {
const runSpectron = async (spectronOptions, launchOptions = {}) => {
let sendData
execa.mockReturnValueOnce({
on: jest.fn(),
stdout: {
on: (event, callback) => {
if (event === 'data') {
// Save callback to be called later
sendData = callback
}
}
}
})
const testPromise = testWithSpectron(spectronOptions)
// Mock console.log from electron:serve
if (launchOptions.customLog) await sendData(launchOptions.customLog)
await sendData(`$outputDir=${launchOptions.outputDir || 'dist_electron'}`)
await sendData(
`$WEBPACK_DEV_SERVER_URL=${launchOptions.url || 'http://localhost:8080/'}`
execa(['ls', '-l']).then(printStdout);
// $ExpectError
execa('ls').then(printErrno);
(execa.stdout('ls'): Promise);
execa.stdout('ls').then(stdout => stdout.toLowerCase());
execa.stdout('ls', ['-l']).then(stdout => stdout.toLowerCase());
execa.stdout('ls', { uid: 1000, gid: 100 }).then(stdout => stdout.toLowerCase());
execa.stdout('ls', ['-l'], { timeout: 5 }).then(stdout => stdout.toLowerCase());
// $ExpectError
execa.stdout(['ls', '-l']);
// $ExpectError
execa.stdout('ls', { foo: 666 });
(execa.stderr('ls'): Promise);
execa.stderr('ls').then(stdout => stdout.toLowerCase());
execa.stderr('ls', ['-l']).then(stdout => stdout.toLowerCase());
execa.stderr('ls', { uid: 1000, gid: 100 }).then(stdout => stdout.toLowerCase());
execa.stderr('ls', ['-l'], { timeout: 5 }).then(stdout => stdout.toLowerCase());
// $ExpectError
execa.stderr(['ls', '-l']);
// $ExpectError
execa.stderr('ls', { foo: 666 });
(execa.shell('ls | wc -l'): ThenableChildProcess);
execa.shell('ls | wc -l').then(printStdout, printErrno);
execa.shell('ls | wc -l', { cwd: '/' }).then(printStdout);
execa.shell('foo').catch(printErrno);
// $ExpectError
execa.shell(['ls', 'wc -l']);
// $ExpectError
execa.stderr('ls', 'wc -l', { foo: 666 });
execa.shell('ls | wc -l').then(printStdout, printErrno);
execa.shell('ls | wc -l', { cwd: '/' }).then(printStdout);
execa.shell('foo').catch(printErrno);
// $ExpectError
execa.shell(['ls', 'wc -l']);
// $ExpectError
execa.stderr('ls', 'wc -l', { foo: 666 });
(execa.sync('ls'): SyncResult);
(execa.sync('ls', ['-l']).stdout: string);
(execa.sync('ls', { stderr: 'pipe' }).signal: ?string);
(execa.sync('ls', ['-l'], { localDir: '~/' }).failed: boolean);
// $ExpectError
execa.sync(['ls']);
// $ExpectError
execa.stderr('ls', { foo: 666 });
// $ExpectError
execa.sync('ls').killed;
// $ExpectError
execa.sync('ls', { input: process.stdin });
(execa.shellSync('ls | wc -l'): SyncResult);
(execa.shellSync('ls | wc -l', { stderr: 'ignore' }).stdout: string);
// $ExpectError
execa.shellSync(['ls', 'wc -l']);
// $ExpectError
execa.shellSync('ls', { foo: 666 });
async () => {
const { stdout } = await execa('noop', ['foo'], { stripEof: false });
};
execa.stdout('ls').then(stdout => stdout.toLowerCase());
execa.stdout('ls', ['-l']).then(stdout => stdout.toLowerCase());
execa.stdout('ls', { uid: 1000, gid: 100 }).then(stdout => stdout.toLowerCase());
execa.stdout('ls', ['-l'], { timeout: 5 }).then(stdout => stdout.toLowerCase());
// $ExpectError
execa.stdout(['ls', '-l']);
// $ExpectError
execa.stdout('ls', { foo: 666 });
(execa.stderr('ls'): Promise);
execa.stderr('ls').then(stdout => stdout.toLowerCase());
execa.stderr('ls', ['-l']).then(stdout => stdout.toLowerCase());
execa.stderr('ls', { uid: 1000, gid: 100 }).then(stdout => stdout.toLowerCase());
execa.stderr('ls', ['-l'], { timeout: 5 }).then(stdout => stdout.toLowerCase());
// $ExpectError
execa.stderr(['ls', '-l']);
// $ExpectError
execa.stderr('ls', { foo: 666 });
(execa.shell('ls | wc -l'): ThenableChildProcess);
execa.shell('ls | wc -l').then(printStdout, printErrno);
execa.shell('ls | wc -l', { cwd: '/' }).then(printStdout);
execa.shell('foo').catch(printErrno);
// $ExpectError
execa.shell(['ls', 'wc -l']);
// $ExpectError
execa.stderr('ls', 'wc -l', { foo: 666 });
(execa.sync('ls'): SyncResult);
(execa.sync('ls', ['-l']).stdout: string);
(execa.sync('ls', { stderr: 'pipe' }).signal: ?string);
(execa.sync('ls', ['-l'], { localDir: '~/' }).failed: boolean);
execa.stderr('ls', ['-l']).then(stdout => stdout.toLowerCase());
execa.stderr('ls', { uid: 1000, gid: 100 }).then(stdout => stdout.toLowerCase());
execa.stderr('ls', ['-l'], { timeout: 5 }).then(stdout => stdout.toLowerCase());
// $ExpectError
execa.stderr(['ls', '-l']);
// $ExpectError
execa.stderr('ls', { foo: 666 });
(execa.shell('ls | wc -l'): ThenableChildProcess);
execa.shell('ls | wc -l').then(printStdout, printErrno);
execa.shell('ls | wc -l', { cwd: '/' }).then(printStdout);
execa.shell('foo').catch(printErrno);
// $ExpectError
execa.shell(['ls', 'wc -l']);
// $ExpectError
execa.stderr('ls', 'wc -l', { foo: 666 });
(execa.sync('ls'): SyncResult);
(execa.sync('ls', ['-l']).stdout: string);
(execa.sync('ls', { stderr: 'pipe' }).signal: ?string);
(execa.sync('ls', ['-l'], { localDir: '~/' }).failed: boolean);
// $ExpectError
execa.sync(['ls']);
// $ExpectError
execa.stderr('ls', { foo: 666 });
// $ExpectError
execa.sync('ls').killed;
// $ExpectError
execa.sync('ls', { input: process.stdin });
(execa.shellSync('ls | wc -l'): SyncResult);
(execa.shellSync('ls | wc -l', { stderr: 'ignore' }).stdout: string);
await runCommand('electron:serve', {}, {}, [...args, '--keep2'])
// Custom args should have been removed, and other args kept
calledArgs = execa.mock.calls[0][1]
// Remove dist_electron
calledArgs.shift()
expect(calledArgs).toEqual(['--keep2'])
execa.mockClear()
await runCommand('electron:serve', {}, {}, ['--keep1', ...args])
// Custom args should have been removed, and other args kept
calledArgs = execa.mock.calls[0][1]
// Remove dist_electron
calledArgs.shift()
expect(calledArgs).toEqual(['--keep1'])
execa.mockClear()
await runCommand('electron:serve', {}, {}, args)
// Custom args should have been removed
calledArgs = execa.mock.calls[0][1]
// Remove dist_electron
calledArgs.shift()
expect(calledArgs).toEqual([])
execa.mockClear()
await runCommand('electron:serve', {}, {}, ['--keep1', '--keep2'])
// Nothing should be removed
calledArgs = execa.mock.calls[0][1]
// Remove dist_electron
calledArgs.shift()
expect(calledArgs).toEqual(['--keep1', '--keep2'])
execa.mockClear()
// Set callback to be called later
watchCb = cb
}
}
})
await runCommand('electron:serve', {
pluginOptions: {
electronBuilder: {
mainProcessFile: 'customBackground',
mainProcessArgs: ['--a-flag', 'a-value']
}
}
})
expect(execa).toHaveBeenCalledTimes(1)
expect(execa.mock.calls[0][1]).toEqual([
'dist_electron',
'--a-flag',
'a-value'
])
// Mock change of background file
watchCb()
expect(mockExeca.removeListener.mock.calls[0][0]).toBe('exit')
expect(execa).toHaveBeenCalledTimes(2)
expect(execa.mock.calls[0][1]).toEqual([
'dist_electron',
'--a-flag',
'a-value'
])
})
});
if (process.platform === 'darwin') {
try {
return execa.sync(
'open',
['-a', terminal, launchPackagerScript],
procConfig,
);
} catch (error) {
return execa.sync('open', [launchPackagerScript], procConfig);
}
}
if (process.platform === 'linux') {
try {
return execa.sync(terminal, ['-e', `sh ${launchPackagerScript}`], {
...procConfig,
detached: true,
});
} catch (error) {
// By default, the child shell process will be attached to the parent
return execa.sync('sh', [launchPackagerScript], procConfig);
}
}
if (/^win/.test(process.platform)) {
//Temporary fix for #484. See comment on line 254
fs.writeFileSync(launchPackagerScript, launchPackagerScriptContent, {
encoding: 'utf8',
flag: 'w',
});
// Awaiting this causes the CLI to hang indefinitely, so this must execute without await.