Comments (2)
Similar to the issue #276.
When using the maxSatisfying function where the latest version includes build meta data then maxSatisfying returns a lesser version.
Example
const options = { loose: true, includePrerelease: true }; const releases = [ '0.1.4', '0.1.4+1', '0.1.4+2', '0.1.4+3', '0.1.5', '0.1.5+1', '0.1.5+2', ]; // returns 0.1.5 maxSatisfying( releases, '0.1.5+2', options );I can't find a way to utilize the newer compareBuild function when using maxSatisfying.
Is it possible if we can have an additional option like
includeBuild
so that we can compare builds?
from node-semver.
@pflannery VersionLens already provides a prompt to install the latest version, which works well, and the problem seems only in the comparison of the version installed with the result from maxSatisying
. Is it possible for you to add an extra check on the output of maxSatisfying
in the case where it's suggested version is equivalent to the current version (except for the build number), where if that's the case, you do an extra check on the build number?
So something like:
// Say I've got the latest version installed
currentInstalledVersion="0.1.5+2"
// As you point out, maxSatisfying will return "0.1.5" which is the problem
var suggestedMax = maxSatisfying(currentInstalledVersion, '0.1.5+2', options)
// So let's do an extra check here
if (isEqual(currentInstalledVersion, suggestedMax ) { // ie. 0.1.5.2 == 0.1.5.2+2
// Do an extra check on build numbers
versions = compareBuild(currentInstalledVersion, suggestedMax);
if (versions > 0) {
// suggest suggestedMax
} else {
// suggest currentInstalledVersion
}
} else {
// proceed as before
}
from node-semver.
Related Issues (20)
- Vulnerabilities in semver package HOT 1
- [BUG] Inc function give incorrect version when bumping subsequent pre versions HOT 4
- me
- [ENHANCEMENT] minimum versions or minimum version in relation to HOT 12
- [BUG] BNF does not match the implementation HOT 3
- [QUESTION] Range class represents a range-set? HOT 1
- [BUG] Version without bugfix is considered invalid HOT 1
- [BUG] RC version without dash passes `validSemver` but fails on `semverCompare` HOT 4
- > ### Is there an existing issue for this?
- [BUG?] Remove redundant conditions from `Range` HOT 1
- [BUG] this.build missing from format() HOT 2
- [BUG] semver.valid does not reject multiple hyphens in pre-release section HOT 1
- [QUESTION] Inconsistent definition of version prefix HOT 3
- [BUG] limit version prefix to optional `v` HOT 4
- [BUG] Intersects returns `false` when it shouldn't HOT 2
- wild card entry specialtilde ( * ) bug HOT 1
- [BUG] `subset('>=17.2.0', '^17.2.0 || >17')` should be `true`
- [ENHANCEMENT] Publish package as standard JS modules HOT 13
- [ENHANCEMENT] Support for unicode symbols ≥ and ≤ HOT 4
- [QUESTION] Very confusing behavior for pre-release range matching HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-semver.