Commit 6cd3754
* Start fix for #421, #434, #438, #440
Assisted-by: Claude Code:claude-opus-5-5
* Find global package managers on Windows
Global mode asked npm, yarn, pnpm, bun, gem and composer where their
global installs live by spawning the bare tool name. On Windows those
tools are .cmd/.bat shims that a bare spawn never finds, so scan -g
silently reported nothing to patch. The yarn probe also ran inside the
scanned project, where Yarn Berry runs the project's own "global"
script and its output picked the directory scanned as global.
Probes now resolve the tool through PATHEXT (and never from a relative
PATH entry), npm-family global probes run from the home directory, and
Composer's home falls back to %APPDATA%\Composer and
$XDG_CONFIG_HOME/composer like Composer does.
Fixes #421, #434, #438, #440.
Assisted-by: Claude Code:claude-opus-5-5
* Keep Windows tools std alone can launch
A Windows App Execution Alias (the Store python3.exe) is a reparse
point the PATH lookup can't stat, though a bare spawn launches it. The
Python probe shares this runner, so fall back to the bare name on
Windows when the lookup finds nothing, rather than lose an interpreter
that used to be found. Also satisfies clippy's redundant closure lint.
Assisted-by: Claude Code:claude-opus-5-5
* Isolate Composer HOME-fallback tests from APPDATA
Global Composer discovery now also tries Composer's own defaults,
%APPDATA%\Composer and $XDG_CONFIG_HOME/composer. On a Windows runner
APPDATA points at a real Composer home, which outranks the ~/.composer
and ~/.config/composer candidates these tests stage. Unset both
variables there, as the tests already do for HOME and PATH, so they
keep exercising the HOME candidates.
Assisted-by: Claude Code:claude-opus-5-5
* Drop unrelated formatting churn
An earlier cargo fmt run over the whole workspace reformatted 125
files this change doesn't touch. Restore them to main so the diff
holds only the global-probe fix.
Assisted-by: Claude Code:claude-opus-5-5
* Isolate the remaining Composer global tests from APPDATA
The no-composer and empty-HOME tests still inherited APPDATA and
XDG_CONFIG_HOME. Global discovery now probes %APPDATA%\Composer and
$XDG_CONFIG_HOME/composer, so a machine with a real Composer home
there made both tests see a vendor dir and fail. Unset both variables
in these tests too, as the sibling HOME-fallback tests already do.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KKwBoKTsqpGR3ZcCAcEyCA
---------
Co-authored-by: Claude <noreply@anthropic.com>
1 parent bf0e0d1 commit 6cd3754
7 files changed
Lines changed: 631 additions & 34 deletions
File tree
- crates/socket-patch-core
- src
- crawlers
- utils
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
105 | 111 | | |
106 | 112 | | |
107 | 113 | | |
| |||
Lines changed: 48 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
371 | 371 | | |
372 | 372 | | |
373 | 373 | | |
374 | | - | |
| 374 | + | |
375 | 375 | | |
376 | 376 | | |
377 | 377 | | |
| |||
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
403 | 390 | | |
404 | 391 | | |
405 | 392 | | |
406 | 393 | | |
407 | 394 | | |
408 | 395 | | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
409 | 437 | | |
410 | 438 | | |
411 | 439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
834 | 834 | | |
835 | 835 | | |
836 | 836 | | |
837 | | - | |
| 837 | + | |
838 | 838 | | |
839 | 839 | | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
840 | 846 | | |
841 | | - | |
| 847 | + | |
842 | 848 | | |
843 | 849 | | |
844 | 850 | | |
| |||
868 | 874 | | |
869 | 875 | | |
870 | 876 | | |
871 | | - | |
| 877 | + | |
872 | 878 | | |
873 | 879 | | |
874 | 880 | | |
| |||
900 | 906 | | |
901 | 907 | | |
902 | 908 | | |
903 | | - | |
| 909 | + | |
904 | 910 | | |
905 | 911 | | |
906 | 912 | | |
| |||
921 | 927 | | |
922 | 928 | | |
923 | 929 | | |
924 | | - | |
| 930 | + | |
925 | 931 | | |
926 | 932 | | |
927 | 933 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
79 | 97 | | |
80 | 98 | | |
81 | 99 | | |
| |||
127 | 145 | | |
128 | 146 | | |
129 | 147 | | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
130 | 159 | | |
131 | 160 | | |
132 | 161 | | |
| |||
135 | 164 | | |
136 | 165 | | |
137 | 166 | | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
147 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
148 | 245 | | |
149 | 246 | | |
150 | 247 | | |
| |||
246 | 343 | | |
247 | 344 | | |
248 | 345 | | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
249 | 368 | | |
250 | 369 | | |
251 | 370 | | |
| |||
299 | 418 | | |
300 | 419 | | |
301 | 420 | | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
302 | 443 | | |
303 | 444 | | |
304 | 445 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
75 | 79 | | |
76 | 80 | | |
77 | 81 | | |
| |||
0 commit comments