Skip to content

Allow negation in advanced version specifiers #397

@zerothi

Description

@zerothi

Is your feature request related to a problem? Please describe.

One can define versions using the advanced version specifiers
However, it is only positive matches.

Describe the solution you'd like

It would be great if one could do negative matches. A possible solution would be:

# match all versions except 1.1.0
@^1.1.0
# match all >=1.0.0, except 1.2.0 AND including 0.9.0
@1.0.0:,^1.2.0,0.9.0

Describe alternatives you've considered

The above is of course easily bypassed by something like:

@:1.0.9,1.1.1:
@1.0.0:1.1.9,1.2.1:,0.9.0

but that quickly gets complicated when having more than 1 excluded version.

It would be great if the version specifiers also allows ranges when negating.

Additional context

This is generally useful when certain released versions of a library has specific bugs. This could be a release that accidentally breaks API or something else.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions