@rs-cross-spawn/freebsd-x64
v0.1.4
Published
Cross-platform process spawning powered by Rust — a drop-in native replacement for `child_process.spawn` with PATHEXT resolution, CMD built-in detection, and `CREATE_NO_WINDOW` support.
Downloads
398
Readme
rs-cross-spawn
Cross-platform process spawning powered by Rust — a drop-in native replacement for child_process.spawn with PATHEXT resolution, CMD built-in detection, and CREATE_NO_WINDOW support.
Built with napi-rs wrapping the cross-spawn Rust crate.
Why?
The npm package cross-spawn solves cross-platform spawn issues by adding fallback logic in JavaScript. rs-cross-spawn solves the same problem at the native layer — one implementation, no fallback, no JavaScript workarounds.
API
execProcess(cmd, args?, options?) → { pid, stdout, stderr, exitCode }
Buffered execution — spawns a process and returns stdout/stderr as buffers once it exits.
const { execProcess } = require('rs-cross-spawn');
const result = execProcess('node', ['-e', 'console.log("hi")']);
console.log(result.stdout.toString()); // "hi\n"spawn(cmd, args?, options?, onStdout?, onStderr?, onExit?) → { pid, kill() }
Streaming execution — buffers of stdout/stderr are delivered via callbacks as they arrive.
Callbacks receive (error, value) following Node.js convention (first argument is null on success).
const { spawn } = require('rs-cross-spawn');
const child = spawn(
'node', ['-e', 'setInterval(() => console.log("tick"), 1000)'],
{ windows_hide: true },
(err, chunk) => process.stdout.write(chunk), // onStdout
(err, chunk) => process.stderr.write(chunk), // onStderr
(err, code) => console.log('exited with', code) // onExit
);
// later: child.kill();killProcess(pid) → void
Kill a process tree by PID. Uses taskkill /F /T on Windows, kill -TERM on Unix.
Options
| Option | Type | Description |
|--------|------|-------------|
| cwd | string? | Working directory |
| env | string[]? | Environment variables (KEY=VALUE). Clears inherited env. |
| windows_hide | boolean? | (Windows only) CREATE_NO_WINDOW flag — no console window pops up |
| shell | boolean? | Run via shell (cmd.exe or /bin/sh) |
License
MIT
