Repository navigation
fix(shared): avoid Node 24 DEP0190 when spawning Windows .cmd shims - #2
Closed
cestercian wants to merge 466 commits into
Closed
cestercian wants to merge 466 commits into
cestercian wants to merge 466 commits into
Conversation
…ingdotgg#11883) Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…dotgg#11906) Co-authored-by: T3 Code Test <t3code-test@example.com>
…gg#11381) Co-authored-by: yashranaway <yashranaway@users.noreply.github.com>
…ngdotgg#8309) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…tgg#11958) Co-authored-by: Antony <tnybyn@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
…folders (pingdotgg#12008) The health probe launched the PyInstaller ACP binary every minute and force killed it, leaving about 1 GB of _MEI files per run. The probe now resolves the install on disk without spawning. Each ACP process gets its own temp directory under the profile that is removed when the runtime closes, and the driver sweeps the profile temp root on create. Continues pingdotgg#11657 by Vita Skacel. Owned temp directory approach from pingdotgg#9626 by ariszz. Co-authored-by: Vita Skacel <skacel.vita@gmail.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ingdotgg#12002) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…g#12808) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…off (pingdotgg#12807) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…s page (pingdotgg#12536) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…2243) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
…2805) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
pingdotgg#12833) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…nch (pingdotgg#12623) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
…ngdotgg#12848) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
On Windows, resolveSpawnCommand used spawn(file, args, { shell: true })
for npm .cmd/.bat launchers. Node 24 concatenates those args and emits
DEP0190. Fold the already-escaped command line into `command` with an
empty args array so Node still expands shell: true to ComSpec /d /s /c
without the deprecated argv path.
Owner
Author
|
closing — this is a mirror against a stale fork main (looks like 5800 files). Real PR is upstream: pingdotgg#12863 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Changed
Windows
.cmd/.batshims (npm launchers likeopencode.cmd) no longer go throughspawn(file, args, { shell: true }).resolveSpawnCommandstill escapes the executable and arguments with the existing cmd.exe quoting, but it now returns that as a singlecommandstring with an emptyargsarray. Node 24's documented migration is "do not pass an args array whenshellis true"; Node still expandsshell: trueto%ComSpec% /d /s /c "…"withwindowsVerbatimArguments, so npm shims keep launching..exe/.compaths stayshell: false.Why
On Windows/Node 24,
spawn(file, args, { shell: true })concatenates args and emits a deprecation warning. Nightly hits this on every OpenCode / provider.cmdspawn (opencode.cmd serve,npm.cmdupdates, etc.). Chats still work; the warning (and a straycmd.execonsole) repeats on every backend start.Effect's child-process options do not currently thread
windowsVerbatimArguments, so spawningComSpecourselves with/d /s /cwould let libuv re-quote the/cpayload and break paths with spaces. Folding the already-escaped line intocommandkeeps the same cmd.exe expansion Node used before, without the deprecated argv path.Checklist