-
-
Notifications
You must be signed in to change notification settings - Fork 19
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: tinylibs/tinyexec
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.2.2
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: tinylibs/tinyexec
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1.2.3
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 2 commits
- 6 files changed
- 3 contributors
Commits on May 26, 2026
-
chore(deps-dev): bump the development-dependencies group with 4 updat…
…es (#135) Bumps the development-dependencies group with 4 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8), [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `@types/node` from 25.9.0 to 25.9.1 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@vitest/coverage-v8` from 4.1.6 to 4.1.7 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8) Updates `typescript-eslint` from 8.59.4 to 8.60.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/typescript-eslint) Updates `vitest` from 4.1.6 to 4.1.7 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.9.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@vitest/coverage-v8" dependency-version: 4.1.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: typescript-eslint dependency-version: 8.60.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: vitest dependency-version: 4.1.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 51e4f27 - Browse repository at this point
Copy the full SHA 51e4f27View commit details
Commits on May 27, 2026
-
fix: destroy piped streams on child exit to prevent grandchild deadlo…
…ck (#137) * test: verify exec completes when grandchild holds piped stdout When a child process spawns a grandchild that inherits the piped stdout fd (fd 1), the grandchild keeps the pipe open after the child exits. Without the fix, both `await exec()` and the async iterator hang indefinitely because the piped streams never end. Each test runs in a subprocess (spawnSync with a 10s timeout) so the orphaned grandchild doesn't block vitest. A 5s inner race detects whether exec completes or hangs. * fix: destroy piped streams on child exit to prevent grandchild deadlock When a child process spawns a grandchild that inherits the piped stdout/stderr file descriptors, the grandchild holds them open after the child exits. Node's close event waits for all fds to be released, so it never fires. readStream and combineStreams hang indefinitely because the streams never end. Listen for the exit event (fires when the process exits, regardless of pipe state) and destroy the piped streams. This forces the PassThrough and readline consumers to complete. Refs: lint-staged/lint-staged#1800 * test: add grandchild fixture scripts for pipe inheritance tests Static test fixtures that spawn a long-lived grandchild process inheriting the piped stdout fd, simulating tsserver inheriting eslint's piped streams through lint-staged/tinyexec. * test: restructure grandchild tests to use static fixtures Use committed fixture scripts instead of generated inline scripts. Run tests in a subprocess with isolated stdio so orphaned grandchildren don't block vitest's teardown. Clean up grandchildren via pkill with a marker comment in the fixture scripts. * fix: use setImmediate instead of setTimeout for stream cleanup setImmediate is sufficient to let buffered data drain before destroying the streams. Removes the timer tracking in _resetState and _onClose that was needed for the setTimeout approach. * chore: clarify comment * test: move tests into main * fix: account for piped streams --------- Co-authored-by: James Garbutt <43081j@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 20e4117 - Browse repository at this point
Copy the full SHA 20e4117View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 1.2.2...1.2.3