1
0
mirror of https://gitcode.com/github-mirrors/react-native-update-cli.git synced 2025-09-16 09:41:38 +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

@@ -84,6 +84,12 @@
"packageVersion": {
"hasValue": true
},
"minPackageVersion": {
"hasValue": true
},
"maxPackageVersion": {
"hasValue": true
}
}
},

View File

@@ -1,6 +1,6 @@
{
"name": "react-native-update-cli",
"version": "1.26.0",
"version": "1.27.0",
"description": "Command tools for javaScript updater with `pushy` service for react native apps.",
"main": "index.js",
"bin": {
@@ -12,7 +12,7 @@
"cli.json"
],
"scripts": {
"prepublish": "babel src --out-dir lib"
"prepublish": "babel src --out-dir lib && chmod +x lib/index.js"
},
"repository": {
"type": "git",
@@ -36,6 +36,7 @@
"cgbi-to-png": "^1.0.7",
"cli-arguments": "^0.2.1",
"commander": "^7.2.0",
"compare-versions": "^6.1.1",
"filesize-parser": "^1.5.0",
"fs-extra": "8",
"gradle-to-js": "^2.0.1",

3722
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

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;
}