Purpose
Discover the difference between two versions.
API
semver.diff(v1, v2)
v1 and v2 are required semver strings.
- Order does not matter.
semver.diff(v1, v2) === semver.div(v2, v1)
- Output is a
release type string, the same values that semver.inc accepts as input:
major
premajor
minor
preminor
patch
prepatch
prerelease (only difference is the prerelease tag)
- Only one string is returned. The "largest" change has precedence. For example if there is a
major and minor difference, only major is returned.
- If the versions are the same
null is returned.
- Throws if an invalid semver string is provided.
Examples
diff('1.2.3', '0.2.3') : 'major'
diff('1.4.5', '0.2.3') : 'major'
diff('0.2.3', '1.4.5') : 'major'
diff('0.0.1', '0.0.1-pre') : 'prelease'
diff('0.0.1', '0.0.1-pre-2') : 'prelease'
diff('1.1.0', '1.1.0-pre') : 'prerelease'
diff('1.0.1', '1.1.0-pre') : 'preminor'
diff('1.0.0', '1.0.0') : null
diff('cow', 'chicken') : TypeError: Invalid Version: 'cow'
This design and usefulness of this is open for discussion.
Purpose
Discover the difference between two versions.
API
semver.diff(v1, v2)v1andv2are required semver strings.semver.diff(v1, v2) === semver.div(v2, v1)release typestring, the same values thatsemver.incaccepts as input:majorpremajorminorpreminorpatchprepatchprerelease(only difference is the prerelease tag)majorandminordifference, onlymajoris returned.nullis returned.Examples
diff('1.2.3', '0.2.3'):'major'diff('1.4.5', '0.2.3'):'major'diff('0.2.3', '1.4.5'):'major'diff('0.0.1', '0.0.1-pre'):'prelease'diff('0.0.1', '0.0.1-pre-2'):'prelease'diff('1.1.0', '1.1.0-pre'):'prerelease'diff('1.0.1', '1.1.0-pre'):'preminor'diff('1.0.0', '1.0.0'):nulldiff('cow', 'chicken'):TypeError: Invalid Version: 'cow'This design and usefulness of this is open for discussion.