1
0
mirror of https://gitcode.com/github-mirrors/react-native-update-cli.git synced 2025-11-08 10:15:47 +08:00
Code Issues Packages Projects Releases Wiki Activity GitHub Gitee

add min/max packageverion

This commit is contained in:
sunnylqm
2024-07-21 23:12:15 +08:00
parent feb1128748
commit 4a11a4118f
4 changed files with 2140 additions and 1784 deletions

View File

@@ -3,6 +3,7 @@ import { question, saveToLocal } from './utils';
import { checkPlatform, getSelectedApp } from './app';
import { choosePackage } from './package';
import { compare } from 'compare-versions';
async function showVersion(appId, offset) {
const { data, count } = await get(`/app/${appId}/version/list`);
@@ -127,6 +128,8 @@ export const commands = {
let pkgId;
let pkgVersion = options.packageVersion;
let minPkgVersion = options.minPackageVersion;
let maxPkgVersion = options.maxPackageVersion;
if (pkgVersion) {
pkgVersion = pkgVersion.trim();
const { data } = await get(`/app/${appId}/package/list?limit=1000`);
@@ -137,6 +140,42 @@ export const commands = {
throw new Error(`未查询到匹配原生版本:${pkgVersion}`);
}
}
if (minPkgVersion) {
minPkgVersion = String(minPkgVersion).trim();
const { data } = await get(`/app/${appId}/package/list?limit=1000`);
const pkgs = data.filter((d) => compare(d.name, minPkgVersion, '>='));
if (pkgs.length === 0) {
throw new Error(
`未查询到 >= ${minPkgVersion} 的原生版本`,
);
}
for (const pkg of pkgs) {
await put(`/app/${appId}/package/${pkg.id}`, {
versionId,
});
console.log(`已将版本 ${versionId} 绑定到原生版本 ${pkg.name}`);
}
console.log(`操作完成,共已绑定 ${pkgs.length} 个原生版本`);
return;
}
if (maxPkgVersion) {
maxPkgVersion = String(maxPkgVersion).trim();
const { data } = await get(`/app/${appId}/package/list?limit=1000`);
const pkgs = data.filter((d) => compare(d.name, maxPkgVersion, '<='));
if (pkgs.length === 0) {
throw new Error(
`未查询到 <= ${maxPkgVersion} 的原生版本`,
);
}
for (const pkg of pkgs) {
await put(`/app/${appId}/package/${pkg.id}`, {
versionId,
});
console.log(`已将版本 ${versionId} 绑定到原生版本 ${pkg.name}`);
}
console.log(`操作完成,共已绑定 ${pkgs.length} 个原生版本`);
return;
}
if (!pkgId) {
pkgId = options.packageId || (await choosePackage(appId)).id;
}