( method: AutoUpgradeMethod, deps: UpgradeDependencies, isTTY: boolean, )
| 652 | } |
| 653 | |
| 654 | async function executeUpgrade( |
| 655 | method: AutoUpgradeMethod, |
| 656 | deps: UpgradeDependencies, |
| 657 | isTTY: boolean, |
| 658 | ): Promise<number> { |
| 659 | if (isTTY) { |
| 660 | clack.log.step(`Running: ${method.manualCommand}`); |
| 661 | } else { |
| 662 | writeLine(`Running: ${method.manualCommand}`); |
| 663 | } |
| 664 | |
| 665 | const exitCode = await deps.spawnUpgradeProcess(method.autoCommands); |
| 666 | |
| 667 | if (exitCode !== 0) { |
| 668 | const msg = `Upgrade process exited with code ${exitCode}.`; |
| 669 | if (isTTY) { |
| 670 | clack.log.error(msg); |
| 671 | clack.outro(''); |
| 672 | } else { |
| 673 | writeError(msg); |
| 674 | } |
| 675 | return exitCode; |
| 676 | } |
| 677 | |
| 678 | if (isTTY) { |
| 679 | clack.log.success('Upgrade complete.'); |
| 680 | clack.outro(''); |
| 681 | } else { |
| 682 | writeLine('Upgrade complete.'); |
| 683 | } |
| 684 | |
| 685 | return 0; |
| 686 | } |
| 687 | |
| 688 | // --- Yargs registration --- |
| 689 |
no test coverage detected