| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
semantic version utility. a tiny (~1KB minified) browser-friendly alternative to npm's semver, covering the subset of range syntax used in plotdb projects.
npm install --save @plotdb/semver
require! <[@plotdb/semver]> # fit(version, range) - test if a version satisfies a range semver.fit "1.5.0", "^1.3.2" # true semver.fit "1.5.0", "~1.3.2" # false semver.fit "0.3.0", "^0.2.3" # false (caret locks left-most non-zero component) # compare(a, b) - -1 / 0 / 1, usable with Array.prototype.sort semver.compare "1.10.0", "1.9.0" # 1 semver.compare "1.2.3-beta", "1.2.3" # -1 (release > prerelease) # max-satisfying(versions, range) - latest version in list satisfying range, or null semver.max-satisfying <[1.2.3 1.9.9 2.0.0]>, "^1.2.3" # "1.9.9" # valid(version) / valid-range(range) - syntax check semver.valid "1.2.3" # true semver.valid-range "^1.2.3" # true semver.valid-range "main" # false
in browser (via script tag), the module is exposed as window.semver; kebab-case names become camelCase in plain js (maxSatisfying, validRange).
supported range syntax: exact (1.2.3), caret (^1.2.3), tilde (~1.2.3), > / >=. missing components are treated as 0 (^1.2 == ^1.2.0); wildcards (1.x, *) and compound ranges (>=1.2 <2, ||) are not supported.
prerelease versions (1.2.3-beta.1) follow npm semantics: they only satisfy a range that explicitly carries a prerelease with the same major.minor.patch.
MIT
| Back | FazBrowse Home | New Git URL |