react-native-update-cli 1.43.3 → 1.43.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/bundle.js CHANGED
@@ -434,7 +434,8 @@ const ignorePackingFileNames = [
434
434
  'index.bundlejs.map'
435
435
  ];
436
436
  const ignorePackingExtensions = [
437
- 'DS_Store'
437
+ 'DS_Store',
438
+ 'txt.map'
438
439
  ];
439
440
  async function pack(dir, output) {
440
441
  console.log('Packing');
package/lib/versions.js CHANGED
@@ -19,15 +19,19 @@ async function showVersion(appId, offset) {
19
19
  const { data, count } = await (0, _api.get)(`/app/${appId}/version/list`);
20
20
  console.log(`Offset ${offset}`);
21
21
  for (const version of data){
22
- let packageInfo = version.packages.slice(0, 3).map((v)=>v.name).join(', ');
23
- const pkgCount = version.packages.length;
24
- if (pkgCount > 3) {
25
- packageInfo += `...and ${pkgCount - 3} more`;
26
- }
22
+ var _version_packages;
23
+ const pkgCount = ((_version_packages = version.packages) == null ? void 0 : _version_packages.length) || 0;
24
+ let packageInfo = '';
27
25
  if (pkgCount === 0) {
28
26
  packageInfo = 'no package';
29
27
  } else {
30
- packageInfo = `[${packageInfo}]`;
28
+ var _version_packages1;
29
+ packageInfo = (_version_packages1 = version.packages) == null ? void 0 : _version_packages1.slice(0, 3).map((pkg)=>pkg.name).join(', ');
30
+ if (pkgCount > 3) {
31
+ packageInfo += `...and ${pkgCount - 3} more`;
32
+ } else {
33
+ packageInfo = `[${packageInfo}]`;
34
+ }
31
35
  }
32
36
  console.log(`${version.id}) ${version.hash.slice(0, 8)} ${version.name} ${packageInfo}`);
33
37
  }
@@ -70,7 +74,8 @@ async function chooseVersion(appId) {
70
74
  break;
71
75
  default:
72
76
  {
73
- const v = data.find((v)=>v.id === (cmd | 0));
77
+ const versionId = Number.parseInt(cmd, 10);
78
+ const v = data.find((version)=>version.id === String(versionId));
74
79
  if (v) {
75
80
  return v;
76
81
  }
@@ -122,18 +127,16 @@ const commands = {
122
127
  const { appId } = await (0, _app.getSelectedApp)(platform);
123
128
  let versionId = options.versionId || (await chooseVersion(appId)).id;
124
129
  if (versionId === 'null') {
125
- versionId = null;
130
+ versionId = undefined;
126
131
  }
127
132
  let pkgId;
128
133
  let pkgVersion = options.packageVersion;
129
134
  let minPkgVersion = options.minPackageVersion;
130
135
  let maxPkgVersion = options.maxPackageVersion;
131
- let rollout = options.rollout;
132
- if (rollout === undefined) {
133
- rollout = null;
134
- } else {
136
+ let rollout = undefined;
137
+ if (options.rollout !== undefined) {
135
138
  try {
136
- rollout = Number.parseInt(rollout);
139
+ rollout = Number.parseInt(options.rollout);
137
140
  } catch (e) {
138
141
  throw new Error('rollout 必须是 1-100 的整数');
139
142
  }
@@ -144,11 +147,11 @@ const commands = {
144
147
  if (minPkgVersion) {
145
148
  minPkgVersion = String(minPkgVersion).trim();
146
149
  const { data } = await (0, _api.get)(`/app/${appId}/package/list?limit=1000`);
147
- const pkgs = data.filter((d)=>(0, _compareversions.compare)(d.name, minPkgVersion, '>='));
150
+ const pkgs = data.filter((pkg)=>(0, _compareversions.compare)(pkg.name, minPkgVersion, '>='));
148
151
  if (pkgs.length === 0) {
149
152
  throw new Error(`未查询到 >= ${minPkgVersion} 的原生版本`);
150
153
  }
151
- if (rollout) {
154
+ if (rollout !== undefined) {
152
155
  const rolloutConfig = {};
153
156
  for (const pkg of pkgs){
154
157
  rolloutConfig[pkg.name] = rollout;
@@ -158,7 +161,7 @@ const commands = {
158
161
  rollout: rolloutConfig
159
162
  }
160
163
  });
161
- console.log(`已在原生版本 ${pkgs.map((p)=>p.name).join(', ')} 上设置灰度发布 ${rollout}% 热更版本 ${versionId}`);
164
+ console.log(`已在原生版本 ${pkgs.map((pkg)=>pkg.name).join(', ')} 上设置灰度发布 ${rollout}% 热更版本 ${versionId}`);
162
165
  }
163
166
  for (const pkg of pkgs){
164
167
  await (0, _api.put)(`/app/${appId}/package/${pkg.id}`, {
@@ -172,11 +175,11 @@ const commands = {
172
175
  if (maxPkgVersion) {
173
176
  maxPkgVersion = String(maxPkgVersion).trim();
174
177
  const { data } = await (0, _api.get)(`/app/${appId}/package/list?limit=1000`);
175
- const pkgs = data.filter((d)=>(0, _compareversions.compare)(d.name, maxPkgVersion, '<='));
178
+ const pkgs = data.filter((pkg)=>(0, _compareversions.compare)(pkg.name, maxPkgVersion, '<='));
176
179
  if (pkgs.length === 0) {
177
180
  throw new Error(`未查询到 <= ${maxPkgVersion} 的原生版本`);
178
181
  }
179
- if (rollout) {
182
+ if (rollout !== undefined) {
180
183
  const rolloutConfig = {};
181
184
  for (const pkg of pkgs){
182
185
  rolloutConfig[pkg.name] = rollout;
@@ -186,7 +189,7 @@ const commands = {
186
189
  rollout: rolloutConfig
187
190
  }
188
191
  });
189
- console.log(`已在原生版本 ${pkgs.map((p)=>p.name).join(', ')} 上设置灰度发布 ${rollout}% 热更版本 ${versionId}`);
192
+ console.log(`已在原生版本 ${pkgs.map((pkg)=>pkg.name).join(', ')} 上设置灰度发布 ${rollout}% 热更版本 ${versionId}`);
190
193
  }
191
194
  for (const pkg of pkgs){
192
195
  await (0, _api.put)(`/app/${appId}/package/${pkg.id}`, {
@@ -200,7 +203,7 @@ const commands = {
200
203
  const { data } = await (0, _api.get)(`/app/${appId}/package/list?limit=1000`);
201
204
  if (pkgVersion) {
202
205
  pkgVersion = pkgVersion.trim();
203
- const pkg = data.find((d)=>d.name === pkgVersion);
206
+ const pkg = data.find((pkg)=>pkg.name === pkgVersion);
204
207
  if (pkg) {
205
208
  pkgId = pkg.id;
206
209
  } else {
@@ -214,12 +217,12 @@ const commands = {
214
217
  throw new Error('请提供 packageId 或 packageVersion 参数');
215
218
  }
216
219
  if (!pkgVersion) {
217
- const pkg = data.find((d)=>d.id === pkgId);
220
+ const pkg = data.find((pkg)=>String(pkg.id) === String(pkgId));
218
221
  if (pkg) {
219
222
  pkgVersion = pkg.name;
220
223
  }
221
224
  }
222
- if (rollout) {
225
+ if (rollout !== undefined && pkgVersion) {
223
226
  await (0, _api.put)(`/app/${appId}/version/${versionId}`, {
224
227
  config: {
225
228
  rollout: {
@@ -229,19 +232,21 @@ const commands = {
229
232
  });
230
233
  console.log(`已将在原生版本 ${pkgVersion} (id: ${pkgId}) 上设置灰度发布 ${rollout}% 热更版本 ${versionId} `);
231
234
  }
232
- await (0, _api.put)(`/app/${appId}/package/${pkgId}`, {
233
- versionId
234
- });
235
- console.log(`已将热更版本 ${versionId} 绑定到原生版本 ${pkgVersion} (id: ${pkgId})`);
235
+ if (versionId !== undefined) {
236
+ await (0, _api.put)(`/app/${appId}/package/${pkgId}`, {
237
+ versionId
238
+ });
239
+ console.log(`已将热更版本 ${versionId} 绑定到原生版本 ${pkgVersion} (id: ${pkgId})`);
240
+ }
236
241
  },
237
242
  updateVersionInfo: async ({ args, options })=>{
238
243
  const platform = (0, _app.checkPlatform)(options.platform || await (0, _utils.question)('平台(ios/android/harmony):'));
239
244
  const { appId } = await (0, _app.getSelectedApp)(platform);
240
245
  const versionId = options.versionId || (await chooseVersion(appId)).id;
241
246
  const updateParams = {};
242
- options.name && (updateParams.name = options.name);
243
- options.description && (updateParams.description = options.description);
244
- options.metaInfo && (updateParams.metaInfo = options.metaInfo);
247
+ if (options.name) updateParams.name = options.name;
248
+ if (options.description) updateParams.description = options.description;
249
+ if (options.metaInfo) updateParams.metaInfo = options.metaInfo;
245
250
  await (0, _api.put)(`/app/${appId}/version/${versionId}`, updateParams);
246
251
  console.log('操作成功');
247
252
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-update-cli",
3
- "version": "1.43.3",
3
+ "version": "1.43.5",
4
4
  "description": "command line tool for react-native-update (remote updates for react native)",
5
5
  "main": "index.js",
6
6
  "bin": {
package/src/bundle.ts CHANGED
@@ -477,7 +477,7 @@ async function uploadSourcemapForSentry(
477
477
  }
478
478
 
479
479
  const ignorePackingFileNames = ['.', '..', 'index.bundlejs.map'];
480
- const ignorePackingExtensions = ['DS_Store'];
480
+ const ignorePackingExtensions = ['DS_Store','txt.map'];
481
481
  async function pack(dir: string, output: string) {
482
482
  console.log('Packing');
483
483
  fs.ensureDirSync(path.dirname(output));
package/src/versions.ts CHANGED
@@ -6,24 +6,51 @@ import { choosePackage } from './package';
6
6
  import { compare } from 'compare-versions';
7
7
  import { depVersions } from './utils/dep-versions';
8
8
  import { getCommitInfo } from './utils/git';
9
- import { Platform } from 'types';
9
+ import type { Platform } from 'types';
10
+
11
+ interface Package {
12
+ id: string;
13
+ name: string;
14
+ }
15
+
16
+ interface Version {
17
+ id: string;
18
+ hash: string;
19
+ name: string;
20
+ packages?: Package[];
21
+ }
22
+
23
+ interface CommandOptions {
24
+ name?: string;
25
+ description?: string;
26
+ metaInfo?: string;
27
+ platform?: Platform;
28
+ versionId?: string;
29
+ packageId?: string;
30
+ packageVersion?: string;
31
+ minPackageVersion?: string;
32
+ maxPackageVersion?: string;
33
+ rollout?: string;
34
+ }
10
35
 
11
36
  async function showVersion(appId: string, offset: number) {
12
37
  const { data, count } = await get(`/app/${appId}/version/list`);
13
38
  console.log(`Offset ${offset}`);
14
39
  for (const version of data) {
15
- let packageInfo = version.packages
16
- .slice(0, 3)
17
- .map((v) => v.name)
18
- .join(', ');
19
- const pkgCount = version.packages.length;
20
- if (pkgCount > 3) {
21
- packageInfo += `...and ${pkgCount - 3} more`;
22
- }
40
+ const pkgCount = version.packages?.length || 0;
41
+ let packageInfo = '';
23
42
  if (pkgCount === 0) {
24
43
  packageInfo = 'no package';
25
44
  } else {
26
- packageInfo = `[${packageInfo}]`;
45
+ packageInfo = version.packages
46
+ ?.slice(0, 3)
47
+ .map((pkg: Package) => pkg.name)
48
+ .join(', ');
49
+ if (pkgCount > 3) {
50
+ packageInfo += `...and ${pkgCount - 3} more`;
51
+ } else {
52
+ packageInfo = `[${packageInfo}]`;
53
+ }
27
54
  }
28
55
  console.log(
29
56
  `${version.id}) ${version.hash.slice(0, 8)} ${
@@ -73,7 +100,10 @@ async function chooseVersion(appId: string) {
73
100
  offset = 0;
74
101
  break;
75
102
  default: {
76
- const v = data.find((v) => v.id === (cmd | 0));
103
+ const versionId = Number.parseInt(cmd, 10);
104
+ const v = data.find(
105
+ (version: Version) => version.id === String(versionId),
106
+ );
77
107
  if (v) {
78
108
  return v;
79
109
  }
@@ -83,12 +113,13 @@ async function chooseVersion(appId: string) {
83
113
  }
84
114
 
85
115
  export const commands = {
86
- publish: async function ({ args, options }: { args: string[]; options: {
87
- name: string;
88
- description?: string;
89
- metaInfo?: string;
90
- platform?: Platform;
91
- } }) {
116
+ publish: async function ({
117
+ args,
118
+ options,
119
+ }: {
120
+ args: string[];
121
+ options: CommandOptions;
122
+ }) {
92
123
  const fn = args[0];
93
124
  const { name, description, metaInfo } = options;
94
125
 
@@ -99,7 +130,8 @@ export const commands = {
99
130
  }
100
131
 
101
132
  const platform = checkPlatform(
102
- options.platform || (await question('平台(ios/android/harmony):')),
133
+ options.platform ||
134
+ ((await question('平台(ios/android/harmony):')) as Platform),
103
135
  );
104
136
  const { appId } = await getSelectedApp(platform);
105
137
 
@@ -125,33 +157,40 @@ export const commands = {
125
157
  }
126
158
  return versionName;
127
159
  },
128
- versions: async ({ options }) => {
160
+ versions: async ({ options }: { options: CommandOptions }) => {
129
161
  const platform = checkPlatform(
130
- options.platform || (await question('平台(ios/android/harmony):')),
162
+ options.platform ||
163
+ ((await question('平台(ios/android/harmony):')) as Platform),
131
164
  );
132
165
  const { appId } = await getSelectedApp(platform);
133
166
  await listVersions(appId);
134
167
  },
135
- update: async ({ args, options }) => {
168
+ update: async ({
169
+ args,
170
+ options,
171
+ }: {
172
+ args: string[];
173
+ options: CommandOptions;
174
+ }) => {
136
175
  const platform = checkPlatform(
137
- options.platform || (await question('平台(ios/android/harmony):')),
176
+ options.platform ||
177
+ ((await question('平台(ios/android/harmony):')) as Platform),
138
178
  );
139
179
  const { appId } = await getSelectedApp(platform);
140
180
  let versionId = options.versionId || (await chooseVersion(appId)).id;
141
181
  if (versionId === 'null') {
142
- versionId = null;
182
+ versionId = undefined;
143
183
  }
144
184
 
145
185
  let pkgId: string | undefined;
146
186
  let pkgVersion = options.packageVersion;
147
187
  let minPkgVersion = options.minPackageVersion;
148
188
  let maxPkgVersion = options.maxPackageVersion;
149
- let rollout = options.rollout;
150
- if (rollout === undefined) {
151
- rollout = null;
152
- } else {
189
+ let rollout: number | undefined = undefined;
190
+
191
+ if (options.rollout !== undefined) {
153
192
  try {
154
- rollout = Number.parseInt(rollout);
193
+ rollout = Number.parseInt(options.rollout);
155
194
  } catch (e) {
156
195
  throw new Error('rollout 必须是 1-100 的整数');
157
196
  }
@@ -159,15 +198,18 @@ export const commands = {
159
198
  throw new Error('rollout 必须是 1-100 的整数');
160
199
  }
161
200
  }
201
+
162
202
  if (minPkgVersion) {
163
203
  minPkgVersion = String(minPkgVersion).trim();
164
204
  const { data } = await get(`/app/${appId}/package/list?limit=1000`);
165
- const pkgs = data.filter((d) => compare(d.name, minPkgVersion, '>='));
205
+ const pkgs = data.filter((pkg: Package) =>
206
+ compare(pkg.name, minPkgVersion, '>='),
207
+ );
166
208
  if (pkgs.length === 0) {
167
209
  throw new Error(`未查询到 >= ${minPkgVersion} 的原生版本`);
168
210
  }
169
- if (rollout) {
170
- const rolloutConfig = {};
211
+ if (rollout !== undefined) {
212
+ const rolloutConfig: Record<string, number> = {};
171
213
  for (const pkg of pkgs) {
172
214
  rolloutConfig[pkg.name] = rollout;
173
215
  }
@@ -178,7 +220,7 @@ export const commands = {
178
220
  });
179
221
  console.log(
180
222
  `已在原生版本 ${pkgs
181
- .map((p) => p.name)
223
+ .map((pkg: Package) => pkg.name)
182
224
  .join(', ')} 上设置灰度发布 ${rollout}% 热更版本 ${versionId}`,
183
225
  );
184
226
  }
@@ -196,12 +238,14 @@ export const commands = {
196
238
  if (maxPkgVersion) {
197
239
  maxPkgVersion = String(maxPkgVersion).trim();
198
240
  const { data } = await get(`/app/${appId}/package/list?limit=1000`);
199
- const pkgs = data.filter((d) => compare(d.name, maxPkgVersion, '<='));
241
+ const pkgs = data.filter((pkg: Package) =>
242
+ compare(pkg.name, maxPkgVersion, '<='),
243
+ );
200
244
  if (pkgs.length === 0) {
201
245
  throw new Error(`未查询到 <= ${maxPkgVersion} 的原生版本`);
202
246
  }
203
- if (rollout) {
204
- const rolloutConfig = {};
247
+ if (rollout !== undefined) {
248
+ const rolloutConfig: Record<string, number> = {};
205
249
  for (const pkg of pkgs) {
206
250
  rolloutConfig[pkg.name] = rollout;
207
251
  }
@@ -212,7 +256,7 @@ export const commands = {
212
256
  });
213
257
  console.log(
214
258
  `已在原生版本 ${pkgs
215
- .map((p) => p.name)
259
+ .map((pkg: Package) => pkg.name)
216
260
  .join(', ')} 上设置灰度发布 ${rollout}% 热更版本 ${versionId}`,
217
261
  );
218
262
  }
@@ -231,7 +275,7 @@ export const commands = {
231
275
  const { data } = await get(`/app/${appId}/package/list?limit=1000`);
232
276
  if (pkgVersion) {
233
277
  pkgVersion = pkgVersion.trim();
234
- const pkg = data.find((d) => d.name === pkgVersion);
278
+ const pkg = data.find((pkg: Package) => pkg.name === pkgVersion);
235
279
  if (pkg) {
236
280
  pkgId = pkg.id;
237
281
  } else {
@@ -247,13 +291,13 @@ export const commands = {
247
291
  }
248
292
 
249
293
  if (!pkgVersion) {
250
- const pkg = data.find((d) => d.id === pkgId);
294
+ const pkg = data.find((pkg: Package) => String(pkg.id) === String(pkgId));
251
295
  if (pkg) {
252
296
  pkgVersion = pkg.name;
253
297
  }
254
298
  }
255
299
 
256
- if (rollout) {
300
+ if (rollout !== undefined && pkgVersion) {
257
301
  await put(`/app/${appId}/version/${versionId}`, {
258
302
  config: {
259
303
  rollout: {
@@ -265,24 +309,35 @@ export const commands = {
265
309
  `已将在原生版本 ${pkgVersion} (id: ${pkgId}) 上设置灰度发布 ${rollout}% 热更版本 ${versionId} `,
266
310
  );
267
311
  }
268
- await put(`/app/${appId}/package/${pkgId}`, {
269
- versionId,
270
- });
271
- console.log(
272
- `已将热更版本 ${versionId} 绑定到原生版本 ${pkgVersion} (id: ${pkgId})`,
273
- );
312
+
313
+ if (versionId !== undefined) {
314
+ await put(`/app/${appId}/package/${pkgId}`, {
315
+ versionId,
316
+ });
317
+ console.log(
318
+ `已将热更版本 ${versionId} 绑定到原生版本 ${pkgVersion} (id: ${pkgId})`,
319
+ );
320
+ }
274
321
  },
275
- updateVersionInfo: async ({ args, options }) => {
322
+ updateVersionInfo: async ({
323
+ args,
324
+ options,
325
+ }: {
326
+ args: string[];
327
+ options: CommandOptions;
328
+ }) => {
276
329
  const platform = checkPlatform(
277
- options.platform || (await question('平台(ios/android/harmony):')),
330
+ options.platform ||
331
+ ((await question('平台(ios/android/harmony):')) as Platform),
278
332
  );
279
333
  const { appId } = await getSelectedApp(platform);
280
334
  const versionId = options.versionId || (await chooseVersion(appId)).id;
281
335
 
282
- const updateParams = {};
283
- options.name && (updateParams.name = options.name);
284
- options.description && (updateParams.description = options.description);
285
- options.metaInfo && (updateParams.metaInfo = options.metaInfo);
336
+ const updateParams: Record<string, string> = {};
337
+ if (options.name) updateParams.name = options.name;
338
+ if (options.description) updateParams.description = options.description;
339
+ if (options.metaInfo) updateParams.metaInfo = options.metaInfo;
340
+
286
341
  await put(`/app/${appId}/version/${versionId}`, updateParams);
287
342
  console.log('操作成功');
288
343
  },