@simplyhexagonal/exec
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

Exec

Tests

A convenient async wrapper for Node.js's child_process.exec function.

import exec from '@simplyhexagonal/exec';

const {
  execProcess,
  execPromise,
} = exec('echo hello world');

const successResult = await execPromise;

// successResult {
//   "exitCode": 0,
//   "stdoutOutput": "hello world\n",
//   "stderrOutput": ""
// }
import exec from '@simplyhexagonal/exec';

const {
  execProcess,
  execPromise,
} = exec(
  '>&2 echo hello world && exit 1'
).catch((e) => e);

const failResult = await execPromise;

// failResult {
//   "exitCode": 1,
//   "stdoutOutput": "",
//   "stderrOutput": "hello world\n"
// }
import exec from '@simplyhexagonal/exec';

const {
  execProcess,
  execPromise,
} = exec('sleep 2; echo hello world');

execProcess.kill('SIGINT');

const killResult = await execPromise;

// killResult {
//   "exitCode": null,
//   "stdoutOutput": "",
//   "stderrOutput": ""
// }

Open source notice

This project is open to updates by its users, I ensure that PRs are relevant to the community. In other words, if you find a bug or want a new feature, please help us by becoming one of the contributors ✌️ ! See the contributing section

Like this module?

Please consider:

Contributing

Yes, thank you! This plugin is community-driven, most of its features are from different authors. Please update the docs and tests and add your name to the exec.json file.

Contributors

Thanks goes to these wonderful people (emoji key):


Jean Lescure

🚧 💻 📓 ⚠️ 💡 📖

License

Copyright (c) 2021-Present Exec Contributors.
Licensed under the Apache License 2.0.

Package Sidebar

Install

npm i @simplyhexagonal/exec

Weekly Downloads

133

Version

2.0.2

License

Apache-2.0

Unpacked Size

26.9 kB

Total Files

17

Last publish

Collaborators

  • jeanlescure