react-native-update-cli 2.0.1 → 2.1.0

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/cli.json CHANGED
@@ -62,6 +62,13 @@
62
62
  }
63
63
  }
64
64
  },
65
+ "deletePackage": {
66
+ "options": {
67
+ "appId": {
68
+ "hasValue": true
69
+ }
70
+ }
71
+ },
65
72
  "publish": {
66
73
  "options": {
67
74
  "platform": {
package/lib/locales/en.js CHANGED
@@ -114,5 +114,9 @@ This can reduce the risk of inconsistent dependencies and supply chain attacks.
114
114
  updateNativePackageQuestion: 'Bind to native package now?(Y/N)',
115
115
  unnamed: '(Unnamed)',
116
116
  dryRun: 'Below is the dry-run result, no actual operation will be performed:',
117
- usingCustomVersion: 'Using custom version: {{version}}'
117
+ usingCustomVersion: 'Using custom version: {{version}}',
118
+ confirmDeletePackage: 'Confirm delete native package {{packageId}}? This operation cannot be undone (Y/N):',
119
+ deletePackageSuccess: 'Native package {{packageId}} deleted successfully',
120
+ deletePackageError: 'Failed to delete native package {{packageId}}: {{error}}',
121
+ usageDeletePackage: 'Usage: cresc deletePackage [packageId] --appId [appId]'
118
122
  };
package/lib/locales/zh.js CHANGED
@@ -113,5 +113,9 @@ const _default = {
113
113
  updateNativePackageQuestion: '是否现在将此热更应用到原生包上?(Y/N)',
114
114
  unnamed: '(未命名)',
115
115
  dryRun: '以下是 dry-run 模拟运行结果,不会实际执行任何操作:',
116
- usingCustomVersion: '使用自定义版本:{{version}}'
116
+ usingCustomVersion: '使用自定义版本:{{version}}',
117
+ confirmDeletePackage: '确认删除原生包 {{packageId}}? 此操作不可撤销 (Y/N):',
118
+ deletePackageSuccess: '原生包 {{packageId}} 删除成功',
119
+ deletePackageError: '删除原生包 {{packageId}} 失败: {{error}}',
120
+ usageDeletePackage: '使用方法: pushy deletePackage [packageId] --appId [appId]'
117
121
  };
package/lib/package.js CHANGED
@@ -239,5 +239,40 @@ const packageCommands = {
239
239
  const platform = await (0, _app.getPlatform)(options.platform);
240
240
  const { appId } = await (0, _app.getSelectedApp)(platform);
241
241
  await listPackage(appId);
242
+ },
243
+ deletePackage: async ({ args, options })=>{
244
+ let packageId = args[0];
245
+ let { appId } = options;
246
+ if (!appId) {
247
+ const platform = await (0, _app.getPlatform)();
248
+ appId = (await (0, _app.getSelectedApp)(platform)).appId;
249
+ }
250
+ // If no packageId provided as argument, let user choose from list
251
+ if (!packageId) {
252
+ const selectedPackage = await choosePackage(appId);
253
+ packageId = selectedPackage.id;
254
+ }
255
+ // Confirm deletion
256
+ // const confirmDelete = await question(
257
+ // t('confirmDeletePackage', { packageId }),
258
+ // );
259
+ // if (
260
+ // confirmDelete.toLowerCase() !== 'y' &&
261
+ // confirmDelete.toLowerCase() !== 'yes'
262
+ // ) {
263
+ // console.log(t('cancelled'));
264
+ // return;
265
+ // }
266
+ try {
267
+ await (0, _api.doDelete)(`/app/${appId}/package/${packageId}`);
268
+ console.log((0, _i18n.t)('deletePackageSuccess', {
269
+ packageId
270
+ }));
271
+ } catch (error) {
272
+ throw new Error((0, _i18n.t)('deletePackageError', {
273
+ packageId,
274
+ error: error.message
275
+ }));
276
+ }
242
277
  }
243
278
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-update-cli",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
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/locales/en.ts CHANGED
@@ -131,4 +131,10 @@ This can reduce the risk of inconsistent dependencies and supply chain attacks.
131
131
  unnamed: '(Unnamed)',
132
132
  dryRun: 'Below is the dry-run result, no actual operation will be performed:',
133
133
  usingCustomVersion: 'Using custom version: {{version}}',
134
+ confirmDeletePackage:
135
+ 'Confirm delete native package {{packageId}}? This operation cannot be undone (Y/N):',
136
+ deletePackageSuccess: 'Native package {{packageId}} deleted successfully',
137
+ deletePackageError:
138
+ 'Failed to delete native package {{packageId}}: {{error}}',
139
+ usageDeletePackage: 'Usage: cresc deletePackage [packageId] --appId [appId]',
134
140
  };
package/src/locales/zh.ts CHANGED
@@ -124,4 +124,9 @@ export default {
124
124
  unnamed: '(未命名)',
125
125
  dryRun: '以下是 dry-run 模拟运行结果,不会实际执行任何操作:',
126
126
  usingCustomVersion: '使用自定义版本:{{version}}',
127
+ confirmDeletePackage: '确认删除原生包 {{packageId}}? 此操作不可撤销 (Y/N):',
128
+ deletePackageSuccess: '原生包 {{packageId}} 删除成功',
129
+ deletePackageError: '删除原生包 {{packageId}} 失败: {{error}}',
130
+ usageDeletePackage:
131
+ '使用方法: pushy deletePackage [packageId] --appId [appId]',
127
132
  };
package/src/package.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { get, getAllPackages, post, uploadFile } from './api';
1
+ import { get, getAllPackages, post, uploadFile, doDelete } from './api';
2
2
  import { question, saveToLocal } from './utils';
3
3
  import { t } from './utils/i18n';
4
4
 
@@ -212,4 +212,47 @@ export const packageCommands = {
212
212
  const { appId } = await getSelectedApp(platform);
213
213
  await listPackage(appId);
214
214
  },
215
+ deletePackage: async ({
216
+ args,
217
+ options,
218
+ }: {
219
+ args: string[];
220
+ options: { appId?: string };
221
+ }) => {
222
+ let packageId = args[0];
223
+ let { appId } = options;
224
+
225
+ if (!appId) {
226
+ const platform = await getPlatform();
227
+ appId = (await getSelectedApp(platform)).appId as string;
228
+ }
229
+
230
+ // If no packageId provided as argument, let user choose from list
231
+ if (!packageId) {
232
+ const selectedPackage = await choosePackage(appId);
233
+ packageId = selectedPackage.id;
234
+ }
235
+
236
+ // Confirm deletion
237
+ // const confirmDelete = await question(
238
+ // t('confirmDeletePackage', { packageId }),
239
+ // );
240
+
241
+ // if (
242
+ // confirmDelete.toLowerCase() !== 'y' &&
243
+ // confirmDelete.toLowerCase() !== 'yes'
244
+ // ) {
245
+ // console.log(t('cancelled'));
246
+ // return;
247
+ // }
248
+
249
+ try {
250
+ await doDelete(`/app/${appId}/package/${packageId}`);
251
+ console.log(t('deletePackageSuccess', { packageId }));
252
+ } catch (error: any) {
253
+ throw new Error(
254
+ t('deletePackageError', { packageId, error: error.message }),
255
+ );
256
+ }
257
+ },
215
258
  };