semver4j
semver4j copied to clipboard
NPM satisfies issue with optional version
What I am doing wrong?
new Semver("2", SemverType.NPM).isGreaterThanOrEqualTo("2.x"); // true
new Semver("2", SemverType.NPM).isGreaterThanOrEqualTo("2"); // true
new Semver("2", SemverType.NPM).isGreaterThanOrEqualTo("2.0"); // true
new Semver("2", SemverType.NPM).isGreaterThanOrEqualTo("2.0.0"); // false ?
new Semver("2", SemverType.NPM).isGreaterThanOrEqualTo("2.0.0"); // false ?
new Semver("2.0", SemverType.NPM).isGreaterThanOrEqualTo("2.0.0"); // false ?
new Semver("2.0.0", SemverType.NPM).isGreaterThanOrEqualTo("2.0.0"); // true
new Semver("2", SemverType.NPM).satisfies(">=2.0.0"); // false ?
new Semver("2.0", SemverType.NPM).satisfies(">=2.0.0"); // false ?
new Semver("2.0", SemverType.NPM).satisfies("2.0.x"); // false ?
new Semver("2.0.0", SemverType.NPM).satisfies("2.0.x"); // true !
new Semver("2", SemverType.NPM).satisfies(">=2.0"); // true
new Semver("2.0", SemverType.NPM).satisfies(">=2.0"); // true
new Semver("2.0.0", SemverType.NPM).satisfies(">=2.0"); // true
new Semver("2", SemverType.NPM).satisfies(">=2"); // true
new Semver("2.0", SemverType.NPM).satisfies(">=2"); // true
new Semver("2.0.0", SemverType.NPM).satisfies(">=2"); // true
new Semver("2", SemverType.NPM).satisfies("~2"); // false ?
new Semver("2.0", SemverType.NPM).satisfies("~2"); // false ?
new Semver("2.0.0", SemverType.NPM).satisfies("~2"); // true !
I am also surprised that:
new Semver("5.1.2", SemverType.NPM).satisfies("<5.2"); // false ?
@vdurmont Could you clarify if it is expected or if it is a bug?
I am not sure that "<5.2" is a valid npm requirement but in that case, (Requirement/buildNPM "<5.2") should throw an exception.
Have similiar issue:
new Semver("3.0.0-beta.1", SemverType.NPM).satisfies("<3"); //false ?
@andrewvsk if you are still interesting, I've made copy of this lib and fix bug reported by you. Look for version 2.0.1