Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Request: 1.1.x patch release — `latest` (1.1.0) still ships spawn-helper without exec bit

Open
#919 1 comment 3 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
node.js, typescript

Research direction

Start by reviewing PRs #858 and #866, then run the issue's npm pack and tar listing checks against 1.1.0 and the beta release. Done means a published 1.1.1 package contains executable darwin-arm64 and darwin-x64 spawn-helper files and the latest dist-tag points to it.

Written by the indexing model from the issue text.

Description

Summary: PRs #858 and #866 fixed the prebuilds/darwin-{arm64,x64}/spawn-helper exec-bit packaging defect (tracked in #850), but the fix has only shipped in the 1.2.0-beta.* channel. The latest dist-tag on npm is still 1.1.0, which ships the broken tarball. Stable consumers on node-pty@^1.1.0 continue to hit the bug on a fresh install — including in environments that don't run install scripts (pnpm by default).

Reproduction (verified just now against the npm registry):

$ npm pack [email protected]
$ tar -tvf node-pty-1.1.0.tgz | grep spawn-helper
-rw-r--r-- 0 0 0 50480 ... package/prebuilds/darwin-arm64/spawn-helper
-rw-r--r-- 0 0 0  9248 ... package/prebuilds/darwin-x64/spawn-helper

$ npm pack [email protected]
$ tar -tvf node-pty-1.2.0-beta.9.tgz | grep spawn-helper
-rwxr-xr-x 0 0 0 50480 ... package/prebuilds/darwin-arm64/spawn-helper
-rwxr-xr-x 0 0 0  9248 ... package/prebuilds/darwin-x64/spawn-helper

$ npm pack [email protected]
$ tar -tvf node-pty-1.2.0-beta.12.tgz | grep spawn-helper
-rwxr-xr-x 0 0 0 50480 ... package/prebuilds/darwin-arm64/spawn-helper
-rwxr-xr-x 0 0 0  9248 ... package/prebuilds/darwin-x64/spawn-helper

Current dist-tags:

$ npm view node-pty dist-tags
{ ..., latest: '1.1.0', beta: '1.2.0-beta.12' }

Ask: Cut a 1.1.1 patch release containing #858 and #866 so stable consumers no longer have to opt into a beta (or maintain a postinstall chmod +x shim, which is a no-op under pnpm's default-secure install policy) for a packaging fix.

Workarounds available today:

  • Pin to 1.2.0-beta.12 (we're doing this in our repo, dev-only consumer).
  • Postinstall chmod +x (doesn't help pnpm).
  • In-test or in-runtime self-heal that chmods the helper after require.resolve().

Happy to test against an RC.

Dominant language
TypeScript
Stars
2k
Forks
337
Avg merge
13h 17m
Merged PRs (30d)
5

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/node-pty

All issues in microsoft/node-pty

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.