@@ -11,7 +11,7 @@ import { getPackageMode } from '../utils/config'
1111import { getNpmConfig } from '../utils/npm'
1212import { parsePnpmPackagePath , parseYarnPackagePath } from '../utils/package'
1313import { fetchJsrPackageMeta , fetchPackage } from '../utils/packument'
14- import { filterDeprecatedVersions , getMaxSatisfying , getPrefixedVersion } from '../utils/versions'
14+ import { filterDeprecatedVersions , filterVersionsByMaturityPeriod , getMaxSatisfying , getPrefixedVersion } from '../utils/versions'
1515
1616const debug = {
1717 cache : _debug ( 'taze:cache' ) ,
@@ -94,18 +94,24 @@ export async function getPackageData(name: string, protocol: Protocol = 'npm'):
9494 }
9595}
9696
97- export function getVersionOfRange ( dep : ResolvedDepChange , range : RangeMode ) {
98- const { versions, tags, deprecated } = dep . pkgData
97+ export function getVersionOfRange ( dep : ResolvedDepChange , range : RangeMode , options : CheckOptions ) {
98+ const { versions, tags, deprecated, time } = dep . pkgData
9999
100- const nonDeprecatedVersions = deprecated && Object . keys ( deprecated ) . length > 0
101- ? filterDeprecatedVersions ( versions , deprecated )
102- : versions
100+ let filteredVersions = versions
103101
104- if ( nonDeprecatedVersions . length === 0 ) {
102+ if ( deprecated && Object . keys ( deprecated ) . length > 0 ) {
103+ filteredVersions = filterDeprecatedVersions ( filteredVersions , deprecated )
104+ }
105+
106+ if ( options . maturityPeriod && options . maturityPeriod > 0 ) {
107+ filteredVersions = filterVersionsByMaturityPeriod ( filteredVersions , time , options . maturityPeriod )
108+ }
109+
110+ if ( filteredVersions . length === 0 ) {
105111 return undefined
106112 }
107113
108- return getMaxSatisfying ( nonDeprecatedVersions , dep . currentVersion , range , tags )
114+ return getMaxSatisfying ( filteredVersions , dep . currentVersion , range , tags )
109115}
110116
111117export function updateTargetVersion (
@@ -249,7 +255,7 @@ export async function resolveDependency(
249255 return dep
250256 }
251257
252- target = getVersionOfRange ( dep , mergeMode as RangeMode )
258+ target = getVersionOfRange ( dep , mergeMode as RangeMode , options )
253259
254260 if ( ! target ) {
255261 dep . diff = null
0 commit comments