(overrides?: Partial<UpgradeDependencies>)
| 420 | // --- Dependency factory --- |
| 421 | |
| 422 | function resolveDependencies(overrides?: Partial<UpgradeDependencies>): UpgradeDependencies { |
| 423 | const base: UpgradeDependencies = { |
| 424 | currentVersion, |
| 425 | packageName, |
| 426 | repositoryOwner, |
| 427 | repositoryName, |
| 428 | fetchLatestRelease: undefined!, |
| 429 | fetchReleaseNotesForTag: undefined!, |
| 430 | detectInstallMethod: () => detectInstallMethodFromPaths(packageName, collectCandidatePaths()), |
| 431 | spawnUpgradeProcess: defaultSpawnUpgradeProcess, |
| 432 | isInteractive: isInteractiveTTY, |
| 433 | }; |
| 434 | |
| 435 | if (overrides) { |
| 436 | Object.assign(base, overrides); |
| 437 | } |
| 438 | |
| 439 | if (!overrides?.fetchLatestRelease) { |
| 440 | base.fetchLatestRelease = () => defaultFetchLatestRelease(base); |
| 441 | } |
| 442 | |
| 443 | if (!overrides?.fetchReleaseNotesForTag) { |
| 444 | base.fetchReleaseNotesForTag = (tag) => defaultFetchReleaseNotesForTag(tag, base); |
| 445 | } |
| 446 | |
| 447 | return base; |
| 448 | } |
| 449 | |
| 450 | // --- Helpers --- |
| 451 |
no test coverage detected