Skip to content

Commit 91d92f7

Browse files
Add a hint with the correct version specifier (#25)
when version is rejected due to being npm-style, add a hint
1 parent f813e1f commit 91d92f7

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

tests/test_versioning.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ def test_version_does_not_exist():
5656

5757
def test_npm_version_for_04_release():
5858
with pytest.raises(UnexpectedVersionError) as excinfo:
59-
detect_vyper_version_from_source("# pragma version ^0.4.0")
59+
detect_vyper_version_from_source("# pragma version ^0.4.1")
6060

61-
expected_msg = "Please use the pypi-style version specifier for vyper versions >= 0.4.0"
61+
expected_msg = "Please use the pypi-style version specifier "
62+
expected_msg += "for vyper versions >= 0.4.0 (hint: try ~=0.4.1)"
6263
assert str(excinfo.value) == expected_msg

vvm/utils/versioning.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ def _detect_version_specifier(source_code: str) -> Specifier:
3232
specifier, version_str = match.groups()
3333
if specifier in ("~", "^"): # convert from npm-style to pypi-style
3434
if Version(version_str) >= Version("0.4.0"):
35-
error = "Please use the pypi-style version specifier for vyper versions >= 0.4.0"
35+
error = "Please use the pypi-style version specifier "
36+
error += f"for vyper versions >= 0.4.0 (hint: try ~={version_str})"
3637
raise UnexpectedVersionError(error)
3738
# for v0.x, both specifiers are equivalent
3839
specifier = "~=" # finds compatible versions

0 commit comments

Comments
 (0)