Kiểm tra Semver online
Phân tích, kiểm tra phiên bản theo Semantic Versioning, so sánh, kiểm tra range kiểu npm (^, ~, x, ||), sắp xếp danh sách và tính phiên bản major / minor / patch / pre-release tiếp theo.
Kết quả
Bấm “Chạy” để xem kết quả.
API semver áp dụng đúng quy tắc của thư viện semver của npm, bản cài đặt tham chiếu của Semantic Versioning 2.0.0. Với version, API phân tích phiên bản (major, minor, patch, phần pre-release và build), so sánh với compare= (thấp hơn / cao hơn / bằng và khác ở phần nào), kiểm tra với range như ^1.2.0, ~3.4, >=2 <3, 1.x || 2.x hay 1.2.3 - 2.0.0, và liệt kê phiên bản tiếp theo cho mọi kiểu phát hành.
Với versions (mảng hoặc danh sách phân cách bằng dấu phẩy), API sắp xếp, báo các mục không hợp lệ, trả về phiên bản mới nhất và mới nhất ổn định, và khi có range thì liệt kê các phiên bản thoả mãn cùng phiên bản cao nhất, thấp nhất khớp, đúng cách trình quản lý gói chọn phiên bản.
coerce=true chuyển các chuỗi lỏng như v2, 1.2 hay release-3.4.1 thành phiên bản hợp lệ; bản pre-release chỉ khớp với range có nhắc tới chúng, trừ khi include_prerelease=true.
Dùng trong code của bạn
curl "https://apibox.io.vn/v1/semver?versions=1.0.0,2.0.0-rc.1,1.10.0,1.2.0&range=>=1.2 <2" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/semver?versions=1.0.0,2.0.0-rc.1,1.10.0,1.2.0&range=>=1.2 <2', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/semver?versions=1.0.0,2.0.0-rc.1,1.10.0,1.2.0&range=>=1.2 <2",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/semver?versions=1.0.0,2.0.0-rc.1,1.10.0,1.2.0&range=>=1.2 <2');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
^1.2.3 cho phép những phiên bản nào?
Mọi phiên bản >=1.2.3 và <2.0.0. Với 0.x thì chặt hơn: ^0.2.3 nghĩa là >=0.2.3 <0.3.0.
Vì sao 2.0.0-rc.1 không thoả >=1.0.0?
Theo quy tắc npm, pre-release chỉ khớp với điều kiện có pre-release trên cùng phiên bản. Dùng include_prerelease=true để tính cả chúng.
Vì sao 1.10.0 đứng sau 1.9.0?
Mỗi phần được so sánh như số, khác với sắp xếp chuỗi thông thường.