BREAKING(semver): remove the handling of non-standard SemVers in format function #5587
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What's changed
format
currently handles NaN semvers ({ major: NaN, minor: NaN, patch: NaN }
) or Infinity semvers (such as{ major: Infinity, minor: Infinity, patch: Infinity }
) in a special way.This change stops those special handlings.
Motivation
The infinity SemVers or NaN SemVers don't represent valid semantic versions, and they are not part of the semver spec. It's not reasonable to handle them in a special way, but rather we should consider them invalid versions.
Migration
Do not use these non-standard semvers as sentinel values. Instead use comparison functions such as
compare
,greaterThan
,lessThan
,greaterThanRange
,lessThanRange
, etc for checking semver conditions.