Skip to content

fix: Handle non-string stdout from execa on Node 24#5

Merged
guess merged 1 commit into
mainfrom
fix-node24-stdout
May 20, 2026
Merged

fix: Handle non-string stdout from execa on Node 24#5
guess merged 1 commit into
mainfrom
fix-node24-stdout

Conversation

@guess

@guess guess commented May 20, 2026

Copy link
Copy Markdown
Owner

On Node 24, execa may return stdout as a Uint8Array instead of a string. When this gets template-interpolated (e.g. in error messages), it becomes "[object Uint8Array]" instead of the actual output, causing version parsing and other string operations to fail:

Error: Cannot parse Dokku server version from output:

Wraps all stdout access in String() in execDokku() so all downstream callers get a string regardless of Node version.

229 tests pass, no behavior change on Node 22.

On Node 24, execa may return stdout as a Uint8Array instead of a
string. When coerced via template literal this becomes
"[object Uint8Array]", causing version parsing to fail with
"Cannot parse Dokku server version from output:".

Wrap all stdout access in String() to ensure a string regardless of
Node version.
@guess
guess merged commit 75a5365 into main May 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant