Commit 810d51c
committed
feat(env): use trampoline exe instead of .cmd wrappers on Windows
Replace Windows .cmd shim wrappers with lightweight trampoline .exe
binaries to eliminate the "Terminate batch job (Y/N)?" prompt on Ctrl+C.
The trampoline binary detects its tool name from its own filename,
sets VITE_PLUS_SHIM_TOOL env var, and spawns vp.exe. It installs a
Ctrl+C handler that ignores the signal (the child process handles it),
avoiding the batch file prompt entirely.
- Add crates/vite_trampoline/ with minimal Windows trampoline binary
- Update shim detection to check env var before argv[0]
- Replace .cmd/.sh wrapper creation with trampoline .exe copying
- Add legacy .cmd cleanup during setup --refresh
- Update CI to build and distribute vp-shim.exe for Windows targets
- Add RFC document with feasibility study
Closes #8351 parent e3607ec commit 810d51c
23 files changed
Lines changed: 813 additions & 289 deletions
File tree
- .github
- actions/build-upstream
- workflows
- crates
- vite_global_cli/src
- commands
- env
- upgrade
- shim
- vite_trampoline
- src
- packages
- cli
- tools/src
- rfcs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| |||
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
114 | 120 | | |
115 | 121 | | |
116 | 122 | | |
| |||
123 | 129 | | |
124 | 130 | | |
125 | 131 | | |
| 132 | + | |
126 | 133 | | |
127 | 134 | | |
128 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
| |||
289 | 290 | | |
290 | 291 | | |
291 | 292 | | |
| 293 | + | |
292 | 294 | | |
293 | 295 | | |
294 | 296 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| 127 | + | |
127 | 128 | | |
128 | 129 | | |
129 | 130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| |||
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
236 | | - | |
| 236 | + | |
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
| |||
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | | - | |
| 303 | + | |
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
| |||
380 | 380 | | |
381 | 381 | | |
382 | 382 | | |
383 | | - | |
384 | | - | |
| 383 | + | |
| 384 | + | |
385 | 385 | | |
386 | 386 | | |
387 | 387 | | |
| |||
419 | 419 | | |
420 | 420 | | |
421 | 421 | | |
422 | | - | |
423 | | - | |
| 422 | + | |
| 423 | + | |
424 | 424 | | |
425 | 425 | | |
426 | 426 | | |
| |||
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
465 | | - | |
466 | | - | |
| 465 | + | |
| 466 | + | |
467 | 467 | | |
468 | | - | |
| 468 | + | |
469 | 469 | | |
470 | 470 | | |
471 | | - | |
472 | | - | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
479 | | - | |
480 | | - | |
| 471 | + | |
481 | 472 | | |
482 | 473 | | |
483 | 474 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
242 | | - | |
243 | | - | |
| 242 | + | |
| 243 | + | |
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
| |||
739 | 739 | | |
740 | 740 | | |
741 | 741 | | |
742 | | - | |
743 | | - | |
744 | | - | |
745 | | - | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
746 | 746 | | |
747 | 747 | | |
748 | 748 | | |
| |||
Lines changed: 68 additions & 49 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
371 | | - | |
| 371 | + | |
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
| |||
406 | 406 | | |
407 | 407 | | |
408 | 408 | | |
409 | | - | |
| 409 | + | |
410 | 410 | | |
411 | 411 | | |
412 | | - | |
| 412 | + | |
413 | 413 | | |
414 | 414 | | |
415 | 415 | | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
441 | 426 | | |
442 | | - | |
| 427 | + | |
443 | 428 | | |
444 | 429 | | |
445 | 430 | | |
| |||
466 | 451 | | |
467 | 452 | | |
468 | 453 | | |
469 | | - | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
479 | 463 | | |
480 | 464 | | |
481 | 465 | | |
| |||
486 | 470 | | |
487 | 471 | | |
488 | 472 | | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
489 | 499 | | |
| 500 | + | |
490 | 501 | | |
491 | 502 | | |
492 | 503 | | |
493 | 504 | | |
494 | 505 | | |
495 | 506 | | |
| 507 | + | |
| 508 | + | |
496 | 509 | | |
497 | 510 | | |
498 | 511 | | |
| |||
505 | 518 | | |
506 | 519 | | |
507 | 520 | | |
508 | | - | |
| 521 | + | |
509 | 522 | | |
510 | 523 | | |
511 | 524 | | |
| |||
517 | 530 | | |
518 | 531 | | |
519 | 532 | | |
520 | | - | |
| 533 | + | |
521 | 534 | | |
522 | 535 | | |
523 | 536 | | |
| |||
537 | 550 | | |
538 | 551 | | |
539 | 552 | | |
540 | | - | |
| 553 | + | |
541 | 554 | | |
542 | 555 | | |
543 | 556 | | |
544 | 557 | | |
| 558 | + | |
545 | 559 | | |
546 | 560 | | |
547 | 561 | | |
548 | 562 | | |
549 | 563 | | |
| 564 | + | |
| 565 | + | |
550 | 566 | | |
551 | 567 | | |
552 | 568 | | |
| |||
573 | 589 | | |
574 | 590 | | |
575 | 591 | | |
576 | | - | |
| 592 | + | |
577 | 593 | | |
578 | 594 | | |
579 | 595 | | |
| |||
597 | 613 | | |
598 | 614 | | |
599 | 615 | | |
| 616 | + | |
600 | 617 | | |
601 | 618 | | |
602 | 619 | | |
603 | 620 | | |
604 | 621 | | |
605 | 622 | | |
| 623 | + | |
| 624 | + | |
606 | 625 | | |
607 | 626 | | |
608 | 627 | | |
| |||
630 | 649 | | |
631 | 650 | | |
632 | 651 | | |
633 | | - | |
| 652 | + | |
634 | 653 | | |
635 | | - | |
636 | | - | |
| 654 | + | |
| 655 | + | |
637 | 656 | | |
638 | 657 | | |
639 | 658 | | |
| |||
674 | 693 | | |
675 | 694 | | |
676 | 695 | | |
677 | | - | |
| 696 | + | |
678 | 697 | | |
679 | | - | |
680 | | - | |
| 698 | + | |
| 699 | + | |
681 | 700 | | |
682 | 701 | | |
683 | 702 | | |
| |||
0 commit comments