VERS-TOOL(1p)

NAME
vers-tool - Version Range tool

SYNOPSIS
    vers-tool [OPTIONS]...STRING
    vers-tool STRING --contains STRING
    vers-tool [--help|--man|-v]

    Options:
          --help                    Brief help message
          --man                     Full documentation
          -v                        Print version

          --contains=VERSION        Check if a version is contained within a range

          --format=FORMAT           Output format
          --json                    JSON output format (--format=json)
      -h, --human-readable          Human-readable format (--format=human-readable)

    Examples:

    Decode a "vers" string:

        vers-tool "vers:cpan/1.00|>=2.00|<5.00" | jq

    Check if a version is contained within a range:

        vers-tool "vers:cpan/1.00|>=2.00|<5.00" --contains "2.20"

    Humanize "vers":

        vers-tool "vers:cpan/1.00|>=2.00|<5.00" --human-readable

            cpan
            - equal 1.00
            - greater than or equal 2.00
            - less than 5.00

DESCRIPTION
"vers-tool" Version Range tool

A version range specifier (aka. "vers") is a URI string using the "vers" URI-scheme with this syntax:

  vers:<versioning-scheme>/<version-constraint>|<version-constraint>|...

"vers" is the URI-scheme and is an acronym for "VErsion Range Specifier".

The pipe "|" is used as a simple separator between "version-constraint". Each "version-constraint" in this pipe-separated list contains a comparator and a version:

  <comparator:version>

This list of "version-constraint" are signposts in the version timeline of a package that specify version intervals.

A "version" satisfies a version range specifier if it is contained within any of the intervals defined by these "version-constraint".

<https://github.com/package-url/vers-spec>

EXAMPLES
Decode a "vers" string:

    vers-tool "vers:cpan/1.00|>=2.00|<5.00" | jq

Check if a version is contained within a range:

    vers-tool "vers:cpan/1.00|>=2.00|<5.00" --contains "2.20"

Humanize "vers":

    vers-tool "vers:cpan/1.00|>=2.00|<5.00" --human-readable

        cpan
        - equal 1.00
        - greater than or equal 2.00
        - less than 5.00

AUTHOR
Giuseppe Di Terlizzi <https://metacpan.org/author/gdt>

COPYRIGHT AND LICENSE
Copyright © 2022-2025 Giuseppe Di Terlizzi <https://metacpan.org/author/gdt>

You may use and distribute this module according to the same terms that Perl is distributed under.