A lightweight library for comparing semantic versions.
Warning
This package is not yet available on npm or CDN services. It's currently under development.
npm install semver-lite
import { compare, compareStrict } from 'semver-lite';
<script type="module">
import { compare, compareStrict } from "https://cdn.jsdelivr.net/npm/semver-lite/dist/index.min.mjs";
</script>
<script src="https://cdn.jsdelivr.net/npm/semver-lite/dist/index.umd.min.js"></script>
<script>
const { compare, compareStrict } = semverLite;
</script>
<script src="https://cdn.jsdelivr.net/npm/semver-lite/dist/index.min.js"></script>
<script>
const { compare, compareStrict } = semverLite;
</script>
compare('2.0.0', '1.0.0'); // true
compare('1.0.0-alpha', '1.0.0', '<'); // true - pre-release is lower than release
compare('v1.0.0+build.1', '1.0.0+build.2', '='); // true
compareStrict('1.0.0+build.1', '1.0.0+build.2', '<'); // true
compareStrict('1.0.0+build.1', '1.0.0+build.1', '==='); // true
- Supports semantic versioning standard
- Multiple comparison operators
- Proper handling of pre-release identifiers
- Optional metadata comparison (strict mode)
- TypeScript types included
compare(v1, v2, operator = '>')
- Compares two versions. Default operator is>
.compareStrict(v1, v2, operator = '>')
- Compares two versions including metadata. Default operator is>
.
Function | Operation | Operators | Strict Mode |
---|---|---|---|
compare | Greater than | > , gt |
No |
compare | Greater than or equal | >= , ge |
No |
compare | Less than | < , lt |
No |
compare | Less than or equal | <= , le |
No |
compare | Equal | = , == , eq |
No |
compare | Strictly equal | === |
Yes |
compare | Not equal | != , <> , ne |
No |
compare | Strictly not equal | !== |
Yes |
compareStrict | Greater than | > , gt |
Yes |
compareStrict | Greater than or equal | >= , ge |
Yes |
compareStrict | Less than | < , lt |
Yes |
compareStrict | Less than or equal | <= , le |
Yes |
compareStrict | Equal | = , == , === , eq |
Yes |
compareStrict | Not equal | != , <> , !== , ne |
Yes |