tinyexec is a minimal Node.js package for executing commands using a higher level interface over child_process. It lets you spawn a process, await its result (stdout, stderr, exitCode), and optionally pipe between commands, handle timeouts or abort signals, and support async or synchronous execution.
Project status
- The repository appears actively maintained, with a recent upstream push on 2026-06-03 and multiple recent version updates (1.2.2 to 1.2.4) in late May to early June 2026.
- The apparent update cadence is fairly steady, with new updates roughly every few days (1.2.2 on 2026-05-23, 1.2.3 on 2026-05-28, 1.2.4 on 2026-05-31).
AI summary generated Today
Recent updates
1.2.4
1 week agoRelease 1.2.4 makes a targeted change in tinyexec’s process execution plumbing, described only as reverting the “grandchild fix” temporarily. The code change removes the special handling that previously tried to prevent hangs when a grandchild process inherited piped stdout/stderr file descriptors.
1.2.3
1 week agoThis patch release primarily updates development dependencies and fixes a deadlock scenario involving piped streams when a child process exits while a grandchild still holds inherited pipe file descriptors open. The release also adds tests to reproduce and validate the “grandchild holds piped stdout open” behavior.
1.2.2
2 weeks agoRelease 1.2.2 primarily fixes shebang detection in the command normalization logic. The change updates the shebang regular expression and adds a targeted test fixture to verify that scripts starting with a shebang are detected and rewritten to run under the specified interpreter.
1.2.1
2 weeks agoVersion 1.2.1 adds a new test case for the async iterator behavior of the `exec (async)` API when `throwOnError: true` and the spawned process exits with a non-zero status. The code diff shows changes only in the test suite, with no production code modifications.
1.2.0
2 weeks agoThis release introduces a new `nodePath` option/flag (documented in the README) that controls whether Tinyexec prepends local `node_modules/.bin` and the current node executable directory to `PATH`. Internally, it also replaces the previous `cross-spawn` command parsing flow with new normalization logic and adds corresponding unit tests for environment computation and spawn normalization.
Features1.1.2
1 month agotinyexec 1.1.2 primarily updates its TypeScript API to accept readonly string[] for the args parameters. It also changes command handling by removing prior command normalization, which could affect how commands are matched if your code relied on that normalization. The release includes dependency bumps and minor documentation fixes.
BreakingFeatures1.1.2-next.0
1 month agoThis release updates Tinyexec's TypeScript surface to accept readonly string[] for the args parameters, and adjusts internal typing for cross-spawn parsing. It also removes command/path normalization logic before spawning, along with related tests to ensure cwd-local commands like ./mytool are executed rather than being altered for PATH lookup.
BreakingFeatures1.1.1
2 months agoRelease 1.1.1 updates the GitHub Actions npm publish workflow to fix publishing reliability. The change adds an extra global npm installation step (installing a specific npm version) before installing the latest npm.
1.1.0
2 months agoVersion 1.1.0 adds a new synchronous API (xSync) and extends stdin support to accept string input, alongside existing piping from other processes/results. It also improves runtime behavior, including better PATH handling for spawned Node processes and a fix to stream combining via stream.pipeline for cases like autoDestroy=false.
BreakingFeatures1.0.4
2 months agoRelease 1.0.4 updates the package.json entrypoints and type export mappings. The release notes state it is a fix to package.json exports, but the diff shows more specific changes to the runtime main file and the TypeScript declaration file paths.