react-native-update-cli 1.46.2 → 2.0.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.
Files changed (64) hide show
  1. package/README.md +578 -1
  2. package/README.zh-CN.md +576 -0
  3. package/cli.json +18 -0
  4. package/lib/api.js +5 -5
  5. package/lib/app.js +1 -1
  6. package/lib/bundle.js +30 -28
  7. package/lib/exports.js +65 -0
  8. package/lib/index.js +100 -9
  9. package/lib/module-manager.js +125 -0
  10. package/lib/modules/app-module.js +223 -0
  11. package/lib/modules/bundle-module.js +188 -0
  12. package/lib/modules/index.js +42 -0
  13. package/lib/modules/package-module.js +16 -0
  14. package/lib/modules/user-module.js +402 -0
  15. package/lib/modules/version-module.js +16 -0
  16. package/lib/package.js +16 -6
  17. package/lib/provider.js +340 -0
  18. package/lib/user.js +3 -3
  19. package/lib/utils/app-info-parser/apk.js +1 -1
  20. package/lib/utils/app-info-parser/ipa.js +2 -2
  21. package/lib/utils/app-info-parser/resource-finder.js +35 -35
  22. package/lib/utils/app-info-parser/xml-parser/manifest.js +2 -2
  23. package/lib/utils/app-info-parser/zip.js +3 -6
  24. package/lib/utils/check-plugin.js +1 -1
  25. package/lib/utils/git.js +1 -1
  26. package/lib/utils/i18n.js +3 -1
  27. package/lib/utils/index.js +4 -4
  28. package/lib/utils/latest-version/cli.js +3 -3
  29. package/lib/utils/latest-version/index.js +4 -4
  30. package/lib/versions.js +2 -2
  31. package/package.json +4 -4
  32. package/src/api.ts +7 -7
  33. package/src/app.ts +2 -2
  34. package/src/bundle.ts +44 -32
  35. package/src/exports.ts +30 -0
  36. package/src/index.ts +118 -16
  37. package/src/module-manager.ts +149 -0
  38. package/src/modules/app-module.ts +205 -0
  39. package/src/modules/bundle-module.ts +202 -0
  40. package/src/modules/index.ts +19 -0
  41. package/src/modules/package-module.ts +11 -0
  42. package/src/modules/user-module.ts +406 -0
  43. package/src/modules/version-module.ts +8 -0
  44. package/src/package.ts +29 -16
  45. package/src/provider.ts +341 -0
  46. package/src/types.ts +125 -0
  47. package/src/user.ts +4 -3
  48. package/src/utils/app-info-parser/apk.js +62 -52
  49. package/src/utils/app-info-parser/app.js +5 -5
  50. package/src/utils/app-info-parser/ipa.js +69 -57
  51. package/src/utils/app-info-parser/resource-finder.js +50 -54
  52. package/src/utils/app-info-parser/utils.js +59 -54
  53. package/src/utils/app-info-parser/xml-parser/binary.js +366 -354
  54. package/src/utils/app-info-parser/xml-parser/manifest.js +145 -137
  55. package/src/utils/app-info-parser/zip.js +1 -1
  56. package/src/utils/check-plugin.ts +4 -2
  57. package/src/utils/dep-versions.ts +13 -6
  58. package/src/utils/git.ts +1 -1
  59. package/src/utils/i18n.ts +3 -1
  60. package/src/utils/index.ts +8 -10
  61. package/src/utils/latest-version/cli.ts +4 -4
  62. package/src/utils/latest-version/index.ts +17 -17
  63. package/src/utils/plugin-config.ts +3 -3
  64. package/src/versions.ts +3 -3
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "bundleModule", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return bundleModule;
9
+ }
10
+ });
11
+ const _bundle = require("../bundle");
12
+ const bundleModule = {
13
+ name: 'bundle',
14
+ version: '1.0.0',
15
+ commands: [],
16
+ workflows: [
17
+ {
18
+ name: 'incremental-build',
19
+ description: 'Incremental build workflow - generate diff packages',
20
+ steps: [
21
+ {
22
+ name: 'detect-base-version',
23
+ description: 'Detect base version',
24
+ execute: async (context)=>{
25
+ console.log('🔍 Detecting base version...');
26
+ const { baseVersion, platform } = context.options;
27
+ if (baseVersion) {
28
+ console.log(`✅ Using specified base version: ${baseVersion}`);
29
+ return {
30
+ baseVersion,
31
+ specified: true
32
+ };
33
+ }
34
+ console.log('Auto detecting latest version...');
35
+ await new Promise((resolve)=>setTimeout(resolve, 800));
36
+ const autoDetectedVersion = `v${Math.floor(Math.random() * 3) + 1}.${Math.floor(Math.random() * 10)}.${Math.floor(Math.random() * 10)}`;
37
+ console.log(`✅ Auto detected base version: ${autoDetectedVersion}`);
38
+ return {
39
+ baseVersion: autoDetectedVersion,
40
+ specified: false
41
+ };
42
+ }
43
+ },
44
+ {
45
+ name: 'build-current-version',
46
+ description: 'Build current version',
47
+ execute: async (context, previousResult)=>{
48
+ console.log('🏗️ Building current version...');
49
+ const { platform, dev = false, sourcemap = false, bundleName = 'index.bundlejs', entryFile = 'index.js', intermediaDir, taro = false, expo = false, rncli = false, disableHermes = false, output } = context.options;
50
+ console.log(`Building ${platform} platform...`);
51
+ console.log(` Entry file: ${entryFile}`);
52
+ console.log(` Bundle name: ${bundleName}`);
53
+ console.log(` Development mode: ${dev}`);
54
+ console.log(` Source maps: ${sourcemap}`);
55
+ try {
56
+ const buildOptions = {
57
+ platform,
58
+ dev,
59
+ sourcemap,
60
+ bundleName,
61
+ entryFile,
62
+ taro,
63
+ expo,
64
+ rncli,
65
+ disableHermes,
66
+ intermediaDir: '${tempDir}/intermedia/${platform}',
67
+ output: '${tempDir}/output/${platform}.${time}.ppk'
68
+ };
69
+ if (intermediaDir) {
70
+ buildOptions.intermediaDir = intermediaDir;
71
+ }
72
+ await _bundle.bundleCommands.bundle({
73
+ args: [],
74
+ options: buildOptions
75
+ });
76
+ const currentBuild = {
77
+ version: `v${Math.floor(Math.random() * 3) + 2}.0.0`,
78
+ platform,
79
+ bundlePath: `./build/current_${platform}.ppk`,
80
+ size: Math.floor(Math.random() * 15) + 10,
81
+ buildTime: Date.now()
82
+ };
83
+ console.log(`✅ Current version build completed: ${currentBuild.version}`);
84
+ return {
85
+ ...previousResult,
86
+ currentBuild
87
+ };
88
+ } catch (error) {
89
+ console.error('❌ Current version build failed:', error);
90
+ throw error;
91
+ }
92
+ }
93
+ }
94
+ ],
95
+ validate: (context)=>{
96
+ if (!context.options.platform) {
97
+ console.error('❌ Incremental build requires platform specification');
98
+ return false;
99
+ }
100
+ return true;
101
+ },
102
+ options: {
103
+ platform: {
104
+ hasValue: true,
105
+ description: 'Target platform (required)'
106
+ },
107
+ baseVersion: {
108
+ hasValue: true,
109
+ description: 'Base version (auto detect if not specified)'
110
+ },
111
+ skipValidation: {
112
+ hasValue: false,
113
+ default: false,
114
+ description: 'Skip diff package validation'
115
+ },
116
+ dev: {
117
+ hasValue: false,
118
+ default: false,
119
+ description: 'Development mode build'
120
+ },
121
+ bundleName: {
122
+ hasValue: true,
123
+ default: 'index.bundlejs',
124
+ description: 'Bundle file name'
125
+ },
126
+ entryFile: {
127
+ hasValue: true,
128
+ default: 'index.js',
129
+ description: 'Entry file'
130
+ },
131
+ sourcemap: {
132
+ hasValue: false,
133
+ default: false,
134
+ description: 'Generate source maps'
135
+ },
136
+ output: {
137
+ hasValue: true,
138
+ description: 'Custom output path for diff package'
139
+ },
140
+ intermediaDir: {
141
+ hasValue: true,
142
+ description: 'Intermediate directory'
143
+ },
144
+ taro: {
145
+ hasValue: false,
146
+ default: false,
147
+ description: 'Use Taro CLI'
148
+ },
149
+ expo: {
150
+ hasValue: false,
151
+ default: false,
152
+ description: 'Use Expo CLI'
153
+ },
154
+ rncli: {
155
+ hasValue: false,
156
+ default: false,
157
+ description: 'Use React Native CLI'
158
+ },
159
+ disableHermes: {
160
+ hasValue: false,
161
+ default: false,
162
+ description: 'Disable Hermes'
163
+ },
164
+ name: {
165
+ hasValue: true,
166
+ description: 'Version name for publishing'
167
+ },
168
+ description: {
169
+ hasValue: true,
170
+ description: 'Version description for publishing'
171
+ },
172
+ metaInfo: {
173
+ hasValue: true,
174
+ description: 'Meta information for publishing'
175
+ },
176
+ rollout: {
177
+ hasValue: true,
178
+ description: 'Rollout percentage'
179
+ },
180
+ dryRun: {
181
+ hasValue: false,
182
+ default: false,
183
+ description: 'Dry run mode'
184
+ }
185
+ }
186
+ }
187
+ ]
188
+ };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ appModule: function() {
13
+ return _appmodule.appModule;
14
+ },
15
+ builtinModules: function() {
16
+ return builtinModules;
17
+ },
18
+ bundleModule: function() {
19
+ return _bundlemodule.bundleModule;
20
+ },
21
+ packageModule: function() {
22
+ return _packagemodule.packageModule;
23
+ },
24
+ userModule: function() {
25
+ return _usermodule.userModule;
26
+ },
27
+ versionModule: function() {
28
+ return _versionmodule.versionModule;
29
+ }
30
+ });
31
+ const _appmodule = require("./app-module");
32
+ const _bundlemodule = require("./bundle-module");
33
+ const _packagemodule = require("./package-module");
34
+ const _usermodule = require("./user-module");
35
+ const _versionmodule = require("./version-module");
36
+ const builtinModules = [
37
+ _bundlemodule.bundleModule,
38
+ _versionmodule.versionModule,
39
+ _appmodule.appModule,
40
+ _usermodule.userModule,
41
+ _packagemodule.packageModule
42
+ ];
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "packageModule", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return packageModule;
9
+ }
10
+ });
11
+ const packageModule = {
12
+ name: 'package',
13
+ version: '1.0.0',
14
+ commands: [],
15
+ workflows: []
16
+ };
@@ -0,0 +1,402 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "userModule", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return userModule;
9
+ }
10
+ });
11
+ const _api = require("../api");
12
+ const _user = require("../user");
13
+ function _getRequireWildcardCache(nodeInterop) {
14
+ if (typeof WeakMap !== "function") return null;
15
+ var cacheBabelInterop = new WeakMap();
16
+ var cacheNodeInterop = new WeakMap();
17
+ return (_getRequireWildcardCache = function(nodeInterop) {
18
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
19
+ })(nodeInterop);
20
+ }
21
+ function _interop_require_wildcard(obj, nodeInterop) {
22
+ if (!nodeInterop && obj && obj.__esModule) {
23
+ return obj;
24
+ }
25
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
26
+ return {
27
+ default: obj
28
+ };
29
+ }
30
+ var cache = _getRequireWildcardCache(nodeInterop);
31
+ if (cache && cache.has(obj)) {
32
+ return cache.get(obj);
33
+ }
34
+ var newObj = {
35
+ __proto__: null
36
+ };
37
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
38
+ for(var key in obj){
39
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
40
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
41
+ if (desc && (desc.get || desc.set)) {
42
+ Object.defineProperty(newObj, key, desc);
43
+ } else {
44
+ newObj[key] = obj[key];
45
+ }
46
+ }
47
+ }
48
+ newObj.default = obj;
49
+ if (cache) {
50
+ cache.set(obj, newObj);
51
+ }
52
+ return newObj;
53
+ }
54
+ const userModule = {
55
+ name: 'user',
56
+ version: '1.0.0',
57
+ commands: [],
58
+ workflows: [
59
+ {
60
+ name: 'auth-check',
61
+ description: 'Check authentication status and user information',
62
+ options: {
63
+ autoLogin: {
64
+ default: false,
65
+ description: 'Automatically login if not authenticated'
66
+ },
67
+ showDetails: {
68
+ default: true,
69
+ description: 'Show detailed user information'
70
+ }
71
+ },
72
+ steps: [
73
+ {
74
+ name: 'load-session',
75
+ description: 'Load existing session from local storage',
76
+ execute: async (context)=>{
77
+ console.log('Loading session from local storage...');
78
+ try {
79
+ await (0, _api.loadSession)();
80
+ const session = (0, _api.getSession)();
81
+ if (session && session.token) {
82
+ console.log('✓ Session found in local storage');
83
+ return {
84
+ sessionLoaded: true,
85
+ hasToken: true,
86
+ session
87
+ };
88
+ } else {
89
+ console.log('✗ No valid session found in local storage');
90
+ return {
91
+ sessionLoaded: true,
92
+ hasToken: false,
93
+ session: null
94
+ };
95
+ }
96
+ } catch (error) {
97
+ console.log('✗ Failed to load session:', error instanceof Error ? error.message : 'Unknown error');
98
+ return {
99
+ sessionLoaded: false,
100
+ hasToken: false,
101
+ session: null,
102
+ error: error instanceof Error ? error.message : 'Unknown error'
103
+ };
104
+ }
105
+ }
106
+ },
107
+ {
108
+ name: 'validate-session',
109
+ description: 'Validate session by calling API',
110
+ execute: async (context, previousResult)=>{
111
+ if (!previousResult.hasToken) {
112
+ console.log('No token available, skipping validation');
113
+ return {
114
+ ...previousResult,
115
+ validated: false,
116
+ reason: 'No token available'
117
+ };
118
+ }
119
+ console.log('Validating session with server...');
120
+ try {
121
+ await _user.userCommands.me();
122
+ console.log('✓ Session is valid');
123
+ return {
124
+ ...previousResult,
125
+ validated: true,
126
+ reason: 'Session validated successfully'
127
+ };
128
+ } catch (error) {
129
+ console.log('✗ Session validation failed:', error instanceof Error ? error.message : 'Unknown error');
130
+ return {
131
+ ...previousResult,
132
+ validated: false,
133
+ reason: error instanceof Error ? error.message : 'Unknown error'
134
+ };
135
+ }
136
+ }
137
+ },
138
+ {
139
+ name: 'get-user-info',
140
+ description: 'Get current user information',
141
+ execute: async (context, previousResult)=>{
142
+ if (!previousResult.validated) {
143
+ console.log('Session not valid, cannot get user info');
144
+ return {
145
+ ...previousResult,
146
+ userInfo: null,
147
+ reason: 'Session not valid'
148
+ };
149
+ }
150
+ console.log('Getting user information...');
151
+ try {
152
+ const { get } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../api")));
153
+ const userInfo = await get('/user/me');
154
+ console.log('✓ User information retrieved successfully');
155
+ if (context.options.showDetails !== false) {
156
+ console.log('\n=== User Information ===');
157
+ for (const [key, value] of Object.entries(userInfo)){
158
+ if (key !== 'ok') {
159
+ console.log(`${key}: ${value}`);
160
+ }
161
+ }
162
+ console.log('========================\n');
163
+ }
164
+ return {
165
+ ...previousResult,
166
+ userInfo,
167
+ reason: 'User info retrieved successfully'
168
+ };
169
+ } catch (error) {
170
+ console.log('✗ Failed to get user info:', error instanceof Error ? error.message : 'Unknown error');
171
+ return {
172
+ ...previousResult,
173
+ userInfo: null,
174
+ reason: error instanceof Error ? error.message : 'Unknown error'
175
+ };
176
+ }
177
+ }
178
+ },
179
+ {
180
+ name: 'handle-auth-failure',
181
+ description: 'Handle authentication failure',
182
+ execute: async (context, previousResult)=>{
183
+ if (previousResult.validated) {
184
+ console.log('✓ Authentication check completed successfully');
185
+ return {
186
+ ...previousResult,
187
+ authCheckComplete: true,
188
+ status: 'authenticated'
189
+ };
190
+ }
191
+ console.log('✗ Authentication check failed');
192
+ if (context.options.autoLogin) {
193
+ console.log('Attempting automatic login...');
194
+ try {
195
+ await _user.userCommands.login({
196
+ args: []
197
+ });
198
+ console.log('✓ Automatic login successful');
199
+ return {
200
+ ...previousResult,
201
+ authCheckComplete: true,
202
+ status: 'auto-logged-in',
203
+ autoLoginSuccess: true
204
+ };
205
+ } catch (error) {
206
+ console.log('✗ Automatic login failed:', error instanceof Error ? error.message : 'Unknown error');
207
+ return {
208
+ ...previousResult,
209
+ authCheckComplete: true,
210
+ status: 'failed',
211
+ autoLoginSuccess: false,
212
+ autoLoginError: error instanceof Error ? error.message : 'Unknown error'
213
+ };
214
+ }
215
+ } else {
216
+ console.log('Please run login command to authenticate');
217
+ return {
218
+ ...previousResult,
219
+ authCheckComplete: true,
220
+ status: 'unauthenticated',
221
+ suggestion: 'Run login command to authenticate'
222
+ };
223
+ }
224
+ }
225
+ }
226
+ ]
227
+ },
228
+ {
229
+ name: 'login-flow',
230
+ description: 'Complete login flow with validation',
231
+ options: {
232
+ email: {
233
+ hasValue: true,
234
+ description: 'User email'
235
+ },
236
+ password: {
237
+ hasValue: true,
238
+ description: 'User password'
239
+ },
240
+ validateAfterLogin: {
241
+ default: true,
242
+ description: 'Validate session after login'
243
+ }
244
+ },
245
+ steps: [
246
+ {
247
+ name: 'check-existing-session',
248
+ description: 'Check if user is already logged in',
249
+ execute: async (context)=>{
250
+ console.log('Checking existing session...');
251
+ try {
252
+ await (0, _api.loadSession)();
253
+ const session = (0, _api.getSession)();
254
+ if (session && session.token) {
255
+ try {
256
+ await _user.userCommands.me();
257
+ console.log('✓ User is already logged in');
258
+ return {
259
+ alreadyLoggedIn: true,
260
+ session: session,
261
+ status: 'authenticated'
262
+ };
263
+ } catch (error) {
264
+ console.log('✗ Existing session is invalid, proceeding with login');
265
+ return {
266
+ alreadyLoggedIn: false,
267
+ session: null,
268
+ status: 'session-expired'
269
+ };
270
+ }
271
+ } else {
272
+ console.log('No existing session found');
273
+ return {
274
+ alreadyLoggedIn: false,
275
+ session: null,
276
+ status: 'no-session'
277
+ };
278
+ }
279
+ } catch (error) {
280
+ console.log('Error checking existing session:', error instanceof Error ? error.message : 'Unknown error');
281
+ return {
282
+ alreadyLoggedIn: false,
283
+ session: null,
284
+ status: 'error',
285
+ error: error instanceof Error ? error.message : 'Unknown error'
286
+ };
287
+ }
288
+ }
289
+ },
290
+ {
291
+ name: 'perform-login',
292
+ description: 'Perform user login',
293
+ execute: async (context, previousResult)=>{
294
+ if (previousResult.alreadyLoggedIn) {
295
+ console.log('Skipping login - user already authenticated');
296
+ return {
297
+ ...previousResult,
298
+ loginPerformed: false,
299
+ loginSuccess: true
300
+ };
301
+ }
302
+ console.log('Performing login...');
303
+ try {
304
+ const loginArgs = [];
305
+ if (context.options.email) {
306
+ loginArgs.push(context.options.email);
307
+ }
308
+ if (context.options.password) {
309
+ loginArgs.push(context.options.password);
310
+ }
311
+ await _user.userCommands.login({
312
+ args: loginArgs
313
+ });
314
+ console.log('✓ Login successful');
315
+ return {
316
+ ...previousResult,
317
+ loginPerformed: true,
318
+ loginSuccess: true
319
+ };
320
+ } catch (error) {
321
+ console.log('✗ Login failed:', error instanceof Error ? error.message : 'Unknown error');
322
+ return {
323
+ ...previousResult,
324
+ loginPerformed: true,
325
+ loginSuccess: false,
326
+ loginError: error instanceof Error ? error.message : 'Unknown error'
327
+ };
328
+ }
329
+ }
330
+ },
331
+ {
332
+ name: 'validate-login',
333
+ description: 'Validate login by getting user info',
334
+ execute: async (context, previousResult)=>{
335
+ if (!previousResult.loginSuccess && !previousResult.alreadyLoggedIn) {
336
+ console.log('Login failed, skipping validation');
337
+ return {
338
+ ...previousResult,
339
+ validationPerformed: false,
340
+ validationSuccess: false
341
+ };
342
+ }
343
+ if (context.options.validateAfterLogin === false) {
344
+ console.log('Skipping validation as requested');
345
+ return {
346
+ ...previousResult,
347
+ validationPerformed: false,
348
+ validationSuccess: true
349
+ };
350
+ }
351
+ console.log('Validating login by getting user information...');
352
+ try {
353
+ const userInfo = await _user.userCommands.me();
354
+ console.log('✓ Login validation successful');
355
+ return {
356
+ ...previousResult,
357
+ validationPerformed: true,
358
+ validationSuccess: true,
359
+ userInfo
360
+ };
361
+ } catch (error) {
362
+ console.log('✗ Login validation failed:', error instanceof Error ? error.message : 'Unknown error');
363
+ return {
364
+ ...previousResult,
365
+ validationPerformed: true,
366
+ validationSuccess: false,
367
+ validationError: error instanceof Error ? error.message : 'Unknown error'
368
+ };
369
+ }
370
+ }
371
+ },
372
+ {
373
+ name: 'login-summary',
374
+ description: 'Provide login flow summary',
375
+ execute: async (context, previousResult)=>{
376
+ console.log('\n=== Login Flow Summary ===');
377
+ if (previousResult.alreadyLoggedIn) {
378
+ console.log('Status: Already logged in');
379
+ console.log('Session: Valid');
380
+ } else if (previousResult.loginSuccess) {
381
+ console.log('Status: Login successful');
382
+ if (previousResult.validationSuccess) {
383
+ console.log('Validation: Passed');
384
+ } else {
385
+ console.log('Validation: Failed');
386
+ }
387
+ } else {
388
+ console.log('Status: Login failed');
389
+ console.log('Error:', previousResult.loginError || 'Unknown error');
390
+ }
391
+ console.log('==========================\n');
392
+ return {
393
+ ...previousResult,
394
+ flowComplete: true,
395
+ finalStatus: previousResult.alreadyLoggedIn || previousResult.loginSuccess ? 'success' : 'failed'
396
+ };
397
+ }
398
+ }
399
+ ]
400
+ }
401
+ ]
402
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "versionModule", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return versionModule;
9
+ }
10
+ });
11
+ const versionModule = {
12
+ name: 'version',
13
+ version: '1.0.0',
14
+ commands: [],
15
+ workflows: []
16
+ };