|
| 1 | +from __future__ import annotations |
| 2 | + |
1 | 3 | import json |
2 | 4 | import subprocess |
3 | 5 | import urllib.request |
4 | | -from typing import List |
5 | 6 |
|
6 | 7 | from packaging import version |
7 | 8 |
|
8 | 9 |
|
9 | | -def ruby_get_package_versions(package_name: str) -> List[str]: |
| 10 | +def ruby_get_package_versions(package_name: str) -> list[str]: |
10 | 11 | url = f'https://rubygems.org/api/v1/versions/{package_name}.json' |
11 | 12 | resp = json.load(urllib.request.urlopen(url)) |
12 | 13 | return list(reversed([version['number'] for version in resp])) |
13 | 14 |
|
14 | 15 |
|
15 | | -def node_get_package_versions(package_name: str) -> List[str]: |
| 16 | +def node_get_package_versions(package_name: str) -> list[str]: |
16 | 17 | cmd = ('npm', 'view', package_name, '--json') |
17 | 18 | output = json.loads(subprocess.check_output(cmd)) |
18 | 19 | return output['versions'] |
19 | 20 |
|
20 | 21 |
|
21 | | -def python_get_package_versions(package_name: str) -> List[str]: |
| 22 | +def python_get_package_versions(package_name: str) -> list[str]: |
22 | 23 | url = f'https://pypi.org/pypi/{package_name}/json' |
23 | 24 | resp = json.load(urllib.request.urlopen(url)) |
24 | 25 | return sorted(resp['releases'], key=lambda k: version.parse(k)) |
25 | 26 |
|
26 | 27 |
|
27 | | -def rust_get_package_versions(package_name: str) -> List[str]: |
| 28 | +def rust_get_package_versions(package_name: str) -> list[str]: |
28 | 29 | url = f'https://crates.io/api/v1/crates/{package_name}' |
29 | 30 | resp = json.load(urllib.request.urlopen(url)) |
30 | 31 | return list(reversed([version['num'] for version in resp['versions']])) |
31 | 32 |
|
32 | 33 |
|
33 | 34 | def node_get_additional_dependencies( |
34 | 35 | package_name: str, package_version: str, |
35 | | -) -> List[str]: |
| 36 | +) -> list[str]: |
36 | 37 | return [f'{package_name}@{package_version}'] |
37 | 38 |
|
38 | 39 |
|
39 | 40 | def rust_get_additional_dependencies( |
40 | 41 | package_name: str, package_version: str, |
41 | | -) -> List[str]: |
| 42 | +) -> list[str]: |
42 | 43 | return [f'cli:{package_name}:{package_version}'] |
43 | 44 |
|
44 | 45 |
|
|
0 commit comments