Java implementation of Semantic Versioning and Node Semantic Version specifiers
newVersion(1, 0, 1);
newVersion(1, 0, 1, "beta3", null);
Version.of("1.0.1");
Stream.of("1.0.1", "1.0.0-beta.2", "1.0.0-beta.1")
.map(Version::of)
.sorted()
.collect(Collectors.toList()); // 1.0.0-beta.1, 1.0.0-beta.2, 1.0.1NodeVersionSpec.of(">=1.0").isSatisfiedBy(Version.of("1.5.0") // trueNodeVersionSpec.of("latest").isSatisfiedBy(Version.of("1.5.0") // falseNodeVersionSpec.of("latest").isLatest() // trueNodeVersionSpec.of("*").isSatisfiedBy(Version.of("1.5.0") // trueNodeVersionSpec.of(">=1.5 <2.0.0").isSatisfiedBy(Version.of("1.6.0") // true