version-range v4.12.0-next.1703671048.a6e07eae952d5577b526ae7f2565a544e8b53007
version-range
Check version ranges like >=N and X || Y || Z with support for Node.js, Web Browsers, Deno, and TypeScript.
Usage
Range comparison of versions for the most common use cases. Fast with broad ecosystem support.
import satisfies from 'version-range'
console.log(satisfies('1.0', '>=1.0')) // true
console.log(satisfies('1.0', '1')) // true
console.log(satisfies('1.0', '1 || 2')) // true
console.log(satisfies('1.1.0', '^1.1')) // true
console.log(satisfies('1.1.0', '~1.1')) // true
console.log(satisfies('1.0.0', '5 || <=2')) // true
console.log(satisfies('1', '<=2')) // true
console.log(satisfies('1.0', '<=2')) // true
console.log(satisfies('1.0.0', '<=2')) // true
console.log(satisfies('2', '>1')) // true
console.log(satisfies('2', '>=1')) // true
console.log(satisfies('1', '>=1')) // true
console.log(satisfies('1.0', '>=1')) // true
console.log(satisfies('1.0.0', '>=1')) // true
console.log(satisfies('1', '>=1.0.0')) // true
console.log(satisfies('1.0', '>=1.0.0')) // true
console.log(satisfies('1.0.0', '>=1.0.0')) // true
console.log(satisfies('1', '^1')) // true
console.log(satisfies('1', '~1')) // false, not all 1.x versions (1.1, 1.2, etc) match 1.0.x
console.log(satisfies('1', '^1.1')) // false, not all 1.x versions (1.0) match >=1.1<2
console.log(satisfies('1', '~1.1')) // false, not all 1.x versions (1.0) match 1.1.x
console.log(satisfies('1.0.0', '^1')) // true
console.log(satisfies('1.0.0', '~1')) // trueThe above results are expected, but not what the semver package returns. The semver package has two different behaviours based on whether the version is coerced or not, alternating between expected and unexpected results. This package differs to match our actual expectations, as you can see above.
Doesn't do special handling for -releaseTag and 0.x versions.
Install
npm
- Install:
npm install --save version-range - Import:
import pkg from ('version-range') - Require:
const pkg = require('version-range').default
Deno
import pkg from 'https://unpkg.com/version-range@^4.12.0/edition-deno/index.ts'Skypack
<script type="module">
import pkg from '//cdn.skypack.dev/version-range@^4.12.0'
</script>unpkg
<script type="module">
import pkg from '//unpkg.com/version-range@^4.12.0'
</script>jspm
<script type="module">
import pkg from '//dev.jspm.io/version-range@4.12.0'
</script>Editions
This package is published with the following editions:
version-range/source/index.tsis TypeScript source code with Import for modulesversion-range/edition-browsers/index.jsis TypeScript compiled against ES2022 for web browsers with Import for modulesversion-rangealiasesversion-range/edition-es5/index.jsversion-range/edition-es5/index.jsis TypeScript compiled against ES5 for Node.js 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modulesversion-range/edition-es2022-esm/index.jsis TypeScript compiled against ES2022 for Node.js 12 || 14 || 16 || 18 || 20 || 21 with Import for modulesversion-range/edition-types/index.d.tsis TypeScript compiled Types with Import for modulesversion-range/edition-deno/index.tsis TypeScript source code made to be compatible with Deno
History
Discover the release history by heading on over to the HISTORY.md file.
Backers
Code
Discover how to contribute via the CONTRIBUTING.md file.
Authors
- Benjamin Lupton — Benjamin furthers the humanities and the commons using the monikers balupton and @bevry
Maintainers
- Benjamin Lupton — Benjamin furthers the humanities and the commons using the monikers balupton and @bevry
Contributors
Finances
Sponsors
- Andrew Nesbitt — Software engineer and researcher
- Balsa — We're Balsa, and we're building tools for builders.
- Codecov — Empower developers with tools to improve code quality and testing.
- Poonacha Medappa
- Rob Morris
- Sentry — Real-time crash reporting for your web apps, mobile apps, and games.
- Syntax — Syntax Podcast
Donors
- Andrew Nesbitt
- Balsa
- Chad
- Codecov
- entroniq
- Jean-Luc Geering
- Michael Duane Mooring
- Mohammed Shah
- Poonacha Medappa
- Rob Morris
- Sentry
- ServieJS
- Skunk Team
- Syntax
License
Unless stated otherwise all works are:
- Copyright © Benjamin Lupton
and licensed under:
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
4 years ago
5 years ago
5 years ago
5 years ago