Repository navigation
Commit bfe55df
committed
fix(@angular/cli): strip terminal escape sequences in modern yarn error parser
Modern Yarn formats error detail fields such as `Response Code` with ANSI
color sequences and OSC 8 hyperlinks before passing them to `StreamReport`,
which serializes the formatted strings verbatim into its JSON line output.
When colors are enabled, such as by default on GitHub Actions even over
non-TTY pipes or via `FORCE_COLOR` and `.yarnrc.yml` settings, escape
codes appear around both the `Response Code` label and status number. As a
result, `parseYarnModernError` failed to match the HTTP status code, fell
back to the generic `YN0035` code instead of `E404` for missing packages,
and leaked raw control sequences into the parsed summary and detail text.
Strip VT control characters from modern Yarn error messages prior to
matching an anchored `Response Code` line, and ignore 2xx status codes for
consistency with the Yarn Classic parser. In addition, split multi-line
error payloads such as `YN0001` exception stack traces so `summary` only
retains the first line while remaining lines move into `detail`, fall back
to `UNKNOWN_ERROR` when `displayName` is an empty string (when
`enableMessageNames` is disabled), and return `null` directly when no JSON
error lines are present instead of delegating to `parseNpmLikeError` on
every successful command output.1 parent ef600f2 commit bfe55df
3 files changed
Lines changed: 157 additions & 26 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
439 | 439 | | |
440 | 440 | | |
441 | 441 | | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
442 | 474 | | |
443 | 475 | | |
444 | 476 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
477 | 478 | | |
478 | 479 | | |
479 | 480 | | |
480 | | - | |
| 481 | + | |
| 482 | + | |
481 | 483 | | |
482 | 484 | | |
483 | | - | |
| 485 | + | |
484 | 486 | | |
485 | 487 | | |
486 | 488 | | |
| |||
513 | 515 | | |
514 | 516 | | |
515 | 517 | | |
516 | | - | |
| 518 | + | |
517 | 519 | | |
518 | 520 | | |
519 | 521 | | |
| |||
639 | 641 | | |
640 | 642 | | |
641 | 643 | | |
642 | | - | |
643 | | - | |
644 | | - | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
645 | 647 | | |
646 | 648 | | |
647 | 649 | | |
| |||
666 | 668 | | |
667 | 669 | | |
668 | 670 | | |
669 | | - | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
670 | 679 | | |
671 | 680 | | |
672 | 681 | | |
673 | 682 | | |
674 | | - | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
675 | 698 | | |
676 | 699 | | |
677 | 700 | | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
| 701 | + | |
682 | 702 | | |
683 | 703 | | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
684 | 716 | | |
685 | 717 | | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
691 | | - | |
| 718 | + | |
| 719 | + | |
692 | 720 | | |
693 | 721 | | |
694 | 722 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
643 | 643 | | |
644 | 644 | | |
645 | 645 | | |
646 | | - | |
| 646 | + | |
647 | 647 | | |
648 | 648 | | |
649 | 649 | | |
650 | 650 | | |
651 | 651 | | |
652 | 652 | | |
653 | | - | |
654 | | - | |
655 | | - | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
656 | 686 | | |
657 | 687 | | |
658 | 688 | | |
659 | 689 | | |
660 | 690 | | |
661 | | - | |
662 | | - | |
663 | | - | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
664 | 733 | | |
665 | 734 | | |
666 | | - | |
| 735 | + | |
667 | 736 | | |
| 737 | + | |
| 738 | + | |
668 | 739 | | |
669 | 740 | | |
670 | 741 | | |
| |||
0 commit comments