npm-pick-manifest
Advanced tools
Comparing version 2.2.1 to 2.2.2
@@ -5,2 +5,12 @@ # Change Log | ||
<a name="2.2.2"></a> | ||
## [2.2.2](https://github.com/zkat/npm-pick-manifest/compare/v2.2.1...v2.2.2) (2018-10-31) | ||
### Bug Fixes | ||
* **enjoyBy:** rework semantics for enjoyBy ([5684f45](https://github.com/zkat/npm-pick-manifest/commit/5684f45)) | ||
<a name="2.2.1"></a> | ||
@@ -7,0 +17,0 @@ ## [2.2.1](https://github.com/zkat/npm-pick-manifest/compare/v2.2.0...v2.2.1) (2018-10-30) |
25
index.js
@@ -24,10 +24,11 @@ 'use strict' | ||
const versions = Object.keys(packument.versions || {}).filter(v => { | ||
return semver.valid(v, true) && ( | ||
!time || ( | ||
packument.time[v] && | ||
time >= +(new Date(packument.time[v])) | ||
) | ||
return semver.valid(v, true) | ||
}) | ||
function enjoyableBy (v) { | ||
return !time || ( | ||
packument.time[v] && time >= +(new Date(packument.time[v])) | ||
) | ||
}) | ||
const undeprecated = versions.filter(v => !packument.versions[v].deprecated) | ||
} | ||
let err | ||
@@ -60,3 +61,3 @@ | ||
packument.versions[tagVersion] && | ||
(!time || versions.indexOf(tagVersion) !== -1) && | ||
enjoyableBy(tagVersion) && | ||
semver.satisfies(tagVersion, wanted, true) | ||
@@ -68,9 +69,12 @@ ) { | ||
if (!target && !opts.includeDeprecated) { | ||
const undeprecated = versions.filter(v => !packument.versions[v].deprecated && enjoyableBy(v) | ||
) | ||
target = semver.maxSatisfying(undeprecated, wanted, true) | ||
} | ||
if (!target) { | ||
target = semver.maxSatisfying(versions, wanted, true) | ||
const stillFresh = versions.filter(enjoyableBy) | ||
target = semver.maxSatisfying(stillFresh, wanted, true) | ||
} | ||
if (!target && wanted === '*') { | ||
if (!target && wanted === '*' && enjoyableBy(tagVersion)) { | ||
// This specific corner is meant for the case where | ||
@@ -84,3 +88,2 @@ // someone is using `*` as a selector, but all versions | ||
target && | ||
(!time || versions.indexOf(target) !== -1) && | ||
packument.versions[target] | ||
@@ -87,0 +90,0 @@ ) |
{ | ||
"name": "npm-pick-manifest", | ||
"version": "2.2.1", | ||
"version": "2.2.2", | ||
"description": "Resolves a matching manifest from a package metadata document according to standard npm semver resolution rules.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
11548
95