Skip to content

Commit

Permalink
Add serialization option
Browse files Browse the repository at this point in the history
  • Loading branch information
ehmicky committed Nov 17, 2019
1 parent f1eda9c commit 65c6051
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
11 changes: 11 additions & 0 deletions index.d.ts
Expand Up @@ -135,6 +135,17 @@ declare namespace execa {
*/
readonly stdio?: 'pipe' | 'ignore' | 'inherit' | readonly StdioOption[];

/**
When using the `stdio: 'ipc'` option or `execa.node()`, whether messages passed to [`childProcess.send()`](https://nodejs.org/api/child_process.html#child_process_subprocess_send_message_sendhandle_options_callback) would be serialized:
- `json`: uses `JSON.serialize()`
- `advanced`: uses [`v8.serialize()`](https://nodejs.org/api/v8.html#v8_v8_serialize_value)
See more information [here](https://nodejs.org/api/child_process.html#child_process_advanced_serialization).
@default 'json'
*/
readonly serialization?: 'json' | 'advanced';

/**
Prepare child to run independently of its parent process. Specific behavior [depends on the platform](https://nodejs.org/api/child_process.html#child_process_options_detached).
Expand Down
1 change: 1 addition & 0 deletions index.test-d.ts
Expand Up @@ -115,6 +115,7 @@ execa('unicorns', {stdio: 'inherit'});
execa('unicorns', {
stdio: ['pipe', 'ipc', 'ignore', 'inherit', process.stdin, 1, undefined]
});
execa('unicorns', {serialization: 'advanced'});
execa('unicorns', {detached: true});
execa('unicorns', {uid: 0});
execa('unicorns', {gid: 0});
Expand Down
11 changes: 11 additions & 0 deletions readme.md
Expand Up @@ -451,6 +451,17 @@ Default: `pipe`

Child's [stdio](https://nodejs.org/api/child_process.html#child_process_options_stdio) configuration.

#### serialization

Type: `string`<br>
Default: `json`

When using the [`stdio: 'ipc'`](#stdio) option or [`execa.node()`](#execanodescriptpath-arguments-options), whether messages passed to [`childProcess.send()`](https://nodejs.org/api/child_process.html#child_process_subprocess_send_message_sendhandle_options_callback) would be serialized:
- `json`: uses `JSON.serialize()`
- `advanced`: uses [`v8.serialize()`](https://nodejs.org/api/v8.html#v8_v8_serialize_value)

See more information [here](https://nodejs.org/api/child_process.html#child_process_advanced_serialization).

#### detached

Type: `boolean`
Expand Down

0 comments on commit 65c6051

Please sign in to comment.