11import { execSync } from "node:child_process" ;
22import semver from "semver" ;
33import type { Dependency } from "../packageUtils/types" ;
4+ import type { CliOptions } from "../types" ;
45import type { Resolution } from "./types" ;
56
67export function getUniqueProblems ( problems : Dependency [ ] ) : Dependency [ ] {
@@ -39,6 +40,7 @@ export function semverReverseSort(a: string, b: string) {
3940export function findPossibleResolution (
4041 packageName : string ,
4142 allPeerDeps : Dependency [ ] ,
43+ options : CliOptions ,
4244) {
4345 const requiredPeerVersions = allPeerDeps . filter (
4446 ( dep ) => dep . name === packageName ,
@@ -56,7 +58,7 @@ export function findPossibleResolution(
5658 return availableVersions . find ( ( ver : string ) =>
5759 requiredPeerVersions . every ( ( peerVer ) => {
5860 return semver . satisfies ( ver , peerVer . version , {
59- includePrerelease : true ,
61+ includePrerelease : options . includePrerelease ,
6062 } ) ;
6163 } ) ,
6264 ) ;
@@ -72,8 +74,9 @@ export function findPossibleResolution(
7274export function determineResolutionVersion (
7375 problem : Dependency ,
7476 allPeerDependencies : Dependency [ ] ,
77+ options : CliOptions ,
7578) : string {
76- return findPossibleResolution ( problem . name , allPeerDependencies ) ;
79+ return findPossibleResolution ( problem . name , allPeerDependencies , options ) ;
7780}
7881
7982export function formatResolution (
@@ -86,6 +89,7 @@ export function formatResolution(
8689export function findPossibleResolutions (
8790 problems : Dependency [ ] ,
8891 allPeerDependencies : Dependency [ ] ,
92+ options : CliOptions ,
8993) : Resolution [ ] {
9094 const uniqProblems = getUniqueProblems ( problems ) ;
9195
@@ -94,6 +98,7 @@ export function findPossibleResolutions(
9498 const resolutionVersion = determineResolutionVersion (
9599 problem ,
96100 allPeerDependencies ,
101+ options ,
97102 ) ;
98103 const resolution = formatResolution ( problem , resolutionVersion ) ;
99104 return { problem, resolution, resolutionType } as Resolution ;
0 commit comments