Compare exact versions and ranges with explicit prerelease policy.
Validate npm-style semantic versions and ranges using semver 7, including prerelease policy, zero-major compatibility, candidate selection and range intersection. Use for package compatibility logic rather than parsing arbitrary application identifiers.