@@ -298,7 +298,9 @@ export async function detectPackageEnvironment({
298298 const { maintainedNodeVersions } = constants
299299 // Lazily access constants.minimumVersionByAgent.
300300 const minSupportedAgentVersion = constants . minimumVersionByAgent . get ( agent ) !
301- const minSupportedNodeVersion = maintainedNodeVersions . last
301+ const minSupportedNodeMajor = semver . major ( maintainedNodeVersions . last )
302+ const minSupportedNodeVersion = `${ minSupportedNodeMajor } .0.0`
303+ const minSupportedNodeRange = `>=${ minSupportedNodeMajor } `
302304 const nodeVersion = semver . coerce ( process . version ) !
303305 let lockSrc : string | undefined
304306 let pkgAgentRange : string | undefined
@@ -352,25 +354,24 @@ export async function detectPackageEnvironment({
352354 lockName = undefined
353355 lockPath = undefined
354356 }
357+
355358 // Does the system agent version meet our minimum supported agent version?
356359 const agentSupported =
357360 ! ! agentVersion &&
358361 semver . satisfies ( agentVersion , `>=${ minSupportedAgentVersion } ` )
359-
360362 // Does the system Node version meet our minimum supported Node version?
361- const nodeSupported = semver . satisfies (
362- nodeVersion ,
363- `>=${ minSupportedNodeVersion } ` ,
364- )
363+ const nodeSupported = semver . satisfies ( nodeVersion , minSupportedNodeRange )
365364
366365 const npmExecPath =
367366 agent === NPM ? agentExecPath : await getAgentExecPath ( NPM )
368-
369367 const npmBuggyOverrides =
370368 agent === NPM &&
371369 ! ! agentVersion &&
372370 semver . lt ( agentVersion , NPM_BUGGY_OVERRIDES_PATCHED_VERSION )
373371
372+ const pkgMinAgentRange = `>=${ pkgMinAgentVersion } `
373+ const pkgMinNodeRange = `>=${ semver . major ( pkgMinNodeVersion ) } `
374+
374375 return {
375376 agent,
376377 agentExecPath,
@@ -386,18 +387,15 @@ export async function detectPackageEnvironment({
386387 npmExecPath,
387388 pkgPath,
388389 pkgRequirements : {
389- agent : pkgAgentRange ?? `>= ${ pkgMinAgentVersion } ` ,
390- node : pkgNodeRange ?? `>= ${ pkgMinNodeVersion } ` ,
390+ agent : pkgAgentRange ?? pkgMinAgentRange ,
391+ node : pkgNodeRange ?? pkgMinNodeRange ,
391392 } ,
392393 pkgSupports : {
393394 // Does our minimum supported agent version meet the package's requirements?
394- agent : semver . satisfies (
395- minSupportedAgentVersion ,
396- `>=${ pkgMinAgentVersion } ` ,
397- ) ,
395+ agent : semver . satisfies ( minSupportedAgentVersion , pkgMinAgentRange ) ,
398396 // Does our supported Node versions meet the package's requirements?
399397 node : maintainedNodeVersions . some ( v =>
400- semver . satisfies ( v , `>= ${ pkgMinNodeVersion } ` ) ,
398+ semver . satisfies ( v , pkgMinNodeRange ) ,
401399 ) ,
402400 } ,
403401 }
0 commit comments