Skip to content

I am playing devil's advocate here (i.e., proposing a different interpretation on purpose to see where it leads). #567

@djranga

Description

@djranga

I am playing devil's advocate here (i.e., proposing a different interpretation on purpose to see where it leads).

Given your example strings
1.0.0+build.1
1.0.0+exp.sha.5114f85

Your two strings are providing different information. One gives build information, and the other gives exp. sha information.
Performing a whole string comparison would be invalid even if you want to compare the complete strings.
As some people say, it is like comparing apples to oranges., They are both fruits, but they are totally different things.

Nothing in the specification stops you from having multiple version strings for a project.
So, staying within the specification, these two strings are equal, but convey different information. I believe that is what npm is doing.

Originally posted by @norman-abramovitz in semver/semver#1148 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions