Gathering detailed insights and metrics for @tunnckocore/execa
Gathering detailed insights and metrics for @tunnckocore/execa
Gathering detailed insights and metrics for @tunnckocore/execa
Gathering detailed insights and metrics for @tunnckocore/execa
Delivering delightful digital solutions. Monorepo of monorepos of Open Source packages with combined ~100M/month downloads, semantically versioned following @conventional-commits. Fully powered ES Modules, @Airbnb @ESLint + @Prettier, independent & fixed versioning. Quality with @Actions, CodeQL, & Dependabot.
npm install @tunnckocore/execa
Typescript
Module System
Min. Node Version
Node Version
NPM Version
parse-function@5.6.10
Updated on Mar 28, 2020
to-file-path@2.0.4
Updated on Mar 28, 2020
@tunnckocore/package-json@2.0.4
Updated on Mar 28, 2020
@tunnckocore/jest-runner-eslint@1.2.9
Updated on Mar 28, 2020
stringify-github-short-url@3.3.8
Updated on Mar 28, 2020
prettier-plugin-pkgjson@0.2.8
Updated on Mar 28, 2020
JavaScript (85.76%)
TypeScript (14.24%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
484 Stars
601 Commits
19 Forks
10 Watchers
44 Branches
20 Contributors
Updated on Feb 23, 2025
Latest Version
6.0.0
Package Id
@tunnckocore/execa@6.0.0
Unpacked Size
19.81 kB
Size
6.28 kB
File Count
3
NPM Version
8.12.1
Node Version
18.3.0
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
Thin layer on top of
execa
that allows executing multiple commands in parallel or in sequence with control for concurrency
Please consider following this project's author, Charlike Mike Reagent, and :star: the project to show your :heart: and support.
If you have any how-to kind of questions, please read the Contributing Guide and Code of Conduct documents. For bugs reports and feature requests, please create an issue or ping @tunnckoCore at Twitter.
Project is semantically versioned & automatically released from GitHub Actions with Lerna.
Topic | Contact |
---|---|
Any legal or licensing questions, like private or commerical use | |
For any critical problems and security reports | |
Consulting, professional support, personal or team training | |
For any questions about Open Source, partnerships and sponsoring |
(TOC generated by verb using markdown-toc)
This project requires Node.js >=10.13 (see
Support & Release Policy).
Install it using yarn or
npm.
We highly recommend to use Yarn when you
think to contribute to this project.
1$ yarn add @tunnckocore/execa
Generated using jest-runner-docs.
Uses execa, { execaCommand }
method. As stated there, think of it as mix
of child_process
's .execFile
and .spawn
. It is pretty similar to the
.shell
method too, but only visually because it does not uses the system's
shell, meaning it does not have access to the system's environment variables.
You also can control concurrency by passing options.concurrency
option. For
example, pass concurrency: 1
to run in series instead of in parallel which is
the default behavior.
1function(cmds, options)
cmds
{Array<string>} - a string or array of string commands to
execute in parallel or series[options]
{object} - directly passed to execa and so to
child_process
returns
{Promise} - resolved or rejected promisesIt also can accept array of multiple strings of commands that will be executed in series or in parallel (default).
1import { exec } from '@tunnckocore/execa'; 2// or 3// const { exec } = require('@tunnckocore/execa'); 4 5async function main() { 6 await exec('echo "hello world"', { stdio: 'inherit' }); 7 8 // executes in series (because `concurrency` option is set to `1`) 9 await exec( 10 [ 11 'prettier-eslint --write foobar.js', 12 'eslint --format codeframe foobar.js --fix', 13 ], 14 { stdio: 'inherit', preferLocal: true, concurrency: 1 }, 15 ); 16} 17 18main();
Similar to exec
, but also can access the system's environment variables
from the command.
1function(cmds, options)
cmds
{Array<string>} - a commands to execute in parallel or seriesoptions
{object} - directly passed to execa
returns
{Promise} - resolved or rejected promises
1import { shell } from '@tunnckocore/execa'; 2// or 3// const { shell } = require('@tunnckocore/execa'); 4 5async function main() { 6 // executes in series 7 await shell(['echo unicorns', 'echo "foo-$HOME-bar"', 'echo dragons'], { 8 stdio: 'inherit', 9 }); 10 11 // exits with code 3 12 try { 13 await shell(['exit 3', 'echo nah']); 14 } catch (er) { 15 console.error(er); 16 // => { 17 // message: 'Command failed: /bin/sh -c exit 3' 18 // killed: false, 19 // code: 3, 20 // signal: null, 21 // cmd: '/bin/sh -c exit 3', 22 // stdout: '', 23 // stderr: '', 24 // timedOut: false 25 // } 26 } 27} 28 29main();
All execa named exports, see its documentation. Think of this as a mix of
child_process.execFile()
and child_process.spawn()
.
1function(file, args, options)
file
{string} - executable to runargs
{Array<string>} - arguments / flags to be passed to file
options
{object} - optional options, passed to child_process
's methods
1import { execa, execaCommand, execaNode } from '@tunnckocore/execa'; 2// or 3// const { execa } = require('@tunnckocore/execa'); 4 5async function main() { 6 await execa('npm', ['install', '--save-dev', 'react'], { stdio: 'inherit' }); 7} 8 9main();
Please read the Contributing Guide and Code of Conduct documents for advices.
For bug reports and feature requests, please join our community forum and open a thread there with prefixing the title of the thread with the name of the project if there's no separate channel for it.
Consider reading the Support and Release Policy guide if you are interested in what are the supported Node.js versions and how we proceed. In short, we support latest two even-numbered Node.js release lines.
Become a Partner or Sponsor? :dollar: Check the OpenSource Commision (tier). :tada: You can get your company logo, link & name on this file. It's also rendered on package's page in npmjs.com and yarnpkg.com sites too! :rocket:
Not financial support? Okey! Pull requests, stars and all kind of contributions are always welcome. :sparkles:
This project follows the all-contributors specification. Contributions of any kind are welcome!
Thanks goes to these wonderful people (emoji key), consider showing your support to them:
Charlike Mike Reagent 🚇 💻 📖 🤔 🚧 ⚠️ |
Copyright (c) 2017-present, Charlike Mike Reagent
<opensource@tunnckocore.com>
& contributors.
Released under the MPL-2.0 License.
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
security policy file detected
Details
Reason
Found 0/29 approved changesets -- score normalized to 0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
license file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2025-07-07
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More