-
-
Notifications
You must be signed in to change notification settings - Fork 19
Comparing changes
Open a pull request
base repository: tinylibs/tinyexec
base: 1.1.2
head repository: tinylibs/tinyexec
compare: 1.2.3
- 17 commits
- 20 files changed
- 4 contributors
Commits on May 2, 2026
-
* refactor: add parse.ts * chore: inline some regexes * chore: don't use destruction * chore: use better named imports * docs: say if using sync version * chore: pass parsed object * style: format * chore: handle quoted env paths * style: format * chore: fix and change * chore: use our parser * refactor: some type annotation & code vhange * test: add parse test * fix: use shell if command is not resolved too * style: format * test: add Windows tests * perf: slight optimisation in shebang splitting * chore: fix typos * chore: fix up * test: use describe block per os * fix: a few things Use cwd when resolving relative commands, move regexps to module scope, and handle spaceless shebangs. * chore: remove unused import * chore: rework and simplify some things --------- Co-authored-by: James Garbutt <43081j@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 5000506 - Browse repository at this point
Copy the full SHA 5000506View commit details -
Configuration menu - View commit details
-
Copy full SHA for 533856f - Browse repository at this point
Copy the full SHA 533856fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9360869 - Browse repository at this point
Copy the full SHA 9360869View commit details
Commits on May 3, 2026
-
build: update tsdown config and dependencies (#121)
* build: don't minify and remove license plugin * deps: remove rollup-plugin-license * deps: remove cross-spawn and its type definition * chore: restore minify config * chore: remove old tsconfig includes --------- Co-authored-by: James Garbutt <43081j@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for d3aabde - Browse repository at this point
Copy the full SHA d3aabdeView commit details
Commits on May 5, 2026
-
chore(deps-dev): bump the development-dependencies group with 2 updat…
…es (#122) Bumps the development-dependencies group with 2 updates: [eslint](https://github.com/eslint/eslint) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `eslint` from 10.2.1 to 10.3.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v10.2.1...v10.3.0) Updates `typescript-eslint` from 8.59.1 to 8.59.2 - [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.59.2/packages/typescript-eslint) --- updated-dependencies: - dependency-name: eslint dependency-version: 10.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: typescript-eslint dependency-version: 8.59.2 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 6e55380 - Browse repository at this point
Copy the full SHA 6e55380View commit details
Commits on May 12, 2026
-
chore(deps-dev): bump the development-dependencies group with 6 updat…
…es (#123) * chore(deps-dev): bump the development-dependencies group with 6 updates Bumps the development-dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.7.0` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.6` | | [publint](https://github.com/publint/publint/tree/HEAD/packages/publint) | `0.3.18` | `0.3.20` | | [tsdown](https://github.com/rolldown/tsdown) | `0.21.10` | `0.22.0` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.2` | `8.59.3` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.6` | Updates `@types/node` from 25.6.0 to 25.7.0 - [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.5 to 4.1.6 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/coverage-v8) Updates `publint` from 0.3.18 to 0.3.20 - [Release notes](https://github.com/publint/publint/releases) - [Changelog](https://github.com/publint/publint/blob/master/packages/publint/CHANGELOG.md) - [Commits](https://github.com/publint/publint/commits/publint@0.3.20/packages/publint) Updates `tsdown` from 0.21.10 to 0.22.0 - [Release notes](https://github.com/rolldown/tsdown/releases) - [Commits](rolldown/tsdown@v0.21.10...v0.22.0) Updates `typescript-eslint` from 8.59.2 to 8.59.3 - [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.59.3/packages/typescript-eslint) Updates `vitest` from 4.1.5 to 4.1.6 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/vitest) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.7.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@vitest/coverage-v8" dependency-version: 4.1.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: publint dependency-version: 0.3.20 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: tsdown dependency-version: 0.22.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: typescript-eslint dependency-version: 8.59.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vitest dependency-version: 4.1.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> * chore: roll back tsdown * chore: try split up workflows * chore: make lint use build --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: James Garbutt <43081j@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 4ebc0aa - Browse repository at this point
Copy the full SHA 4ebc0aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ae7f87 - Browse repository at this point
Copy the full SHA 5ae7f87View commit details
Commits on May 13, 2026
-
feat: add
nodePathflag (#125)This flag allows you to disable prepending of `node_modules/.bin` and the current node binary's directory. Useful when you want to explicitly set an exact `PATH` and have it untouched.
Configuration menu - View commit details
-
Copy full SHA for ac2d3b3 - Browse repository at this point
Copy the full SHA ac2d3b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd5599e - Browse repository at this point
Copy the full SHA bd5599eView commit details
Commits on May 19, 2026
-
chore(deps-dev): bump the development-dependencies group with 4 updat…
…es (#128) Bumps the development-dependencies group with 4 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [eslint](https://github.com/eslint/eslint), [publint](https://github.com/publint/publint/tree/HEAD/packages/publint) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@types/node` from 25.7.0 to 25.9.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `eslint` from 10.3.0 to 10.4.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v10.3.0...v10.4.0) Updates `publint` from 0.3.20 to 0.3.21 - [Release notes](https://github.com/publint/publint/releases) - [Changelog](https://github.com/publint/publint/blob/master/packages/publint/CHANGELOG.md) - [Commits](https://github.com/publint/publint/commits/publint@0.3.21/packages/publint) Updates `typescript-eslint` from 8.59.3 to 8.59.4 - [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.59.4/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.9.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: eslint dependency-version: 10.4.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: publint dependency-version: 0.3.21 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: typescript-eslint dependency-version: 8.59.4 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 482f3ab - Browse repository at this point
Copy the full SHA 482f3abView commit details -
chore(deps): bump the github-actions group with 2 updates (#127)
Bumps the github-actions group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/upload-artifact` from 4 to 7 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v4...v7) Updates `actions/download-artifact` from 4 to 8 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v4...v8) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... 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 264dc21 - Browse repository at this point
Copy the full SHA 264dc21View commit details -
Configuration menu - View commit details
-
Copy full SHA for a6b7a92 - Browse repository at this point
Copy the full SHA a6b7a92View commit details
Commits on May 21, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 3bafedb - Browse repository at this point
Copy the full SHA 3bafedbView commit details
Commits on May 23, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 6d499f2 - Browse repository at this point
Copy the full SHA 6d499f2View commit details -
fix: correct shebang regex (#134)
We were incorrectly looking for the end of the input, which meant most shebangs were not being matched 👀
Configuration menu - View commit details
-
Copy full SHA for 65ef525 - Browse repository at this point
Copy the full SHA 65ef525View commit details
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
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.1.2...1.2.3