summaryrefslogtreecommitdiff
path: root/semantic_version
diff options
context:
space:
mode:
authorRaphaël Barrois <raphael.barrois@polyconseil.fr>2019-11-21 12:45:28 +0100
committerRaphaël Barrois <raphael.barrois@polyconseil.fr>2019-11-21 13:13:19 +0100
commitda55cf15dd71a0d9a839e7507e4fc69396c8326d (patch)
tree9fa88a3fab1f631ab82f5329f4ec0ad71fd01023 /semantic_version
parent371faaf6453b07f5316e356e68d7f26ae44b0df9 (diff)
downloadsemantic-version-da55cf15dd71a0d9a839e7507e4fc69396c8326d.tar.gz
Fix NpmSpec prerelease-handling.
Thanks to Nathan Walters for spotting this. Npm ranges with a `<X.Y.Z-P` component were not properly expanded: they were converted to: <X.Y.0 || (>=X.Y.0 && <X.Y.Z-P && no-prerelease) The correct expansion is: <X.Y.0 || (>=X.Y.0-* && <X.Y.Z-P) Closes #86.
Diffstat (limited to 'semantic_version')
-rw-r--r--semantic_version/base.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/semantic_version/base.py b/semantic_version/base.py
index 4327fa1..1b0bac5 100644
--- a/semantic_version/base.py
+++ b/semantic_version/base.py
@@ -1273,7 +1273,7 @@ class NpmSpec(BaseSpec):
prerelease_policy=Range.PRERELEASE_ALWAYS,
))
elif clause.operator in (Range.OP_LT, Range.OP_LTE):
- prerelease_clauses.append(cls.range(
+ prerelease_clauses.append(Range(
operator=Range.OP_GTE,
target=Version(
major=clause.target.major,
@@ -1281,6 +1281,7 @@ class NpmSpec(BaseSpec):
patch=0,
prerelease=(),
),
+ prerelease_policy=Range.PRERELEASE_ALWAYS,
))
prerelease_clauses.append(clause)
non_prerel_clauses.append(cls.range(