SemVer Range Tester
What is a SemVer Range Tester?
Test whether specific version strings (e.g. `1.5.2`) satisfy npm Semantic Versioning (SemVer) ranges (e.g. `^1.2.0`, `~2.0.0`, >=1.0.0 <2.0.0). Compares versions and evaluates caret (`^`) and tilde (`~`) range matches.
Why Use This Tool?
- npm Package Dependency Auditing: Test package.json semver range requirements before installing or updating npm dependencies.
- Release Version Comparison: Compare release version precedence (e.g. `1.2.0-beta.1` vs `1.2.0`).
- Prevent Breaking Change Updates: Understand caret (`^`) breaking change rules across major releases.
How to Use
- Enter SemVer Range (e.g. `^1.2.0`).
- Enter Version to test (e.g. `1.4.1`).
- View Result: MATCH (Satisfies Range) or NO MATCH.
Real Working Example
Input:
SemVer Range: ^1.2.3 | Version to Test: 1.5.0
Output Result:
Result: MATCH (1.5.0 satisfies ^1.2.3) Explanation: Caret ^ allows minor and patch updates (>=1.2.3 <2.0.0)
Important Technical Details & Specifications
- Official node-semver Engine: Powered by npm's official `node-semver` parser library.
- Caret & Tilde Rules: `^1.2.3` allows
>=1.2.3 <2.0.0; `~1.2.3` allows>=1.2.3 <1.3.0. - Local Memory Execution: Fast local evaluation.
Related Developer Tools
- Gitignore Generator: Generate combined .gitignore files.
- Git Cheatsheet: Lookup common Git commands.
- JSON Formatter: Prettify and format JSON.
Frequently Asked Questions
What is the difference between caret (^) and tilde (~) in npm semver?
Caret (`^1.2.3`) allows minor and patch updates (<2.0.0); Tilde (`~1.2.3`) allows only patch updates (<1.3.0).
What are the 3 numbers in Semantic Versioning (MAJOR.MINOR.PATCH)?
MAJOR = breaking changes; MINOR = new backward-compatible features; PATCH = backward-compatible bug fixes.
Is it free?
Yes, 100% free.
Does it support pre-release tags like 1.0.0-alpha.1?
Yes, pre-release tags and build metadata are evaluated according to SemVer 2.0.0 specifications.
What is the main function of Semver Range Tester?
Test whether version strings satisfy semver ranges (^1.2.0, ~2.0.0, >=1.0.0 <2.0.0) using node-semver validation. This tool processes semver range data 100% locally inside your web browser.