@capgo/cli 7.4.6 β†’ 7.4.8

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/README.md CHANGED
@@ -55,7 +55,7 @@ Follow the documentation here : "https://capacitorjs.com/docs/getting-started/
55
55
  - [Account](#account)
56
56
  - [Id](#account-id)
57
57
 
58
- ### <a id="init"></a> πŸš€ **Init**
58
+ ## <a id="init"></a> πŸš€ **Init**
59
59
 
60
60
  **Alias:** `i`
61
61
 
@@ -64,17 +64,15 @@ npx @capgo/cli@latest init
64
64
  ```
65
65
 
66
66
  πŸš€ Initialize a new app in Capgo Cloud with step-by-step guidance.
67
-
68
67
  This includes adding code for updates, building, uploading your app, and verifying update functionality.
69
68
 
70
-
71
69
  **Example:**
72
70
 
73
71
  ```bash
74
72
  npx @capgo/cli@latest init YOUR_API_KEY com.example.app
75
73
  ```
76
74
 
77
- **Options:**
75
+ ## <a id="options"></a> Options
78
76
 
79
77
  | Param | Type | Description |
80
78
  | -------------- | ------------- | -------------------- |
@@ -84,31 +82,29 @@ npx @capgo/cli@latest init YOUR_API_KEY com.example.app
84
82
  | **--supa-anon** | <code>string</code> | Supabase anon token for custom setups |
85
83
 
86
84
 
87
- ### <a id="doctor"></a> πŸ‘¨β€βš•οΈ **Doctor**
85
+ ## <a id="doctor"></a> πŸ‘¨β€βš•οΈ **Doctor**
88
86
 
89
87
  ```bash
90
88
  npx @capgo/cli@latest doctor
91
89
  ```
92
90
 
93
91
  πŸ‘¨β€βš•οΈ Check if your Capgo app installation is up-to-date and gather information useful for bug reports.
94
-
95
92
  This command helps diagnose issues with your setup.
96
93
 
97
-
98
94
  **Example:**
99
95
 
100
96
  ```bash
101
97
  npx @capgo/cli@latest doctor
102
98
  ```
103
99
 
104
- **Options:**
100
+ ## <a id="options"></a> Options
105
101
 
106
102
  | Param | Type | Description |
107
103
  | -------------- | ------------- | -------------------- |
108
104
  | **--package-json** | <code>string</code> | A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json) |
109
105
 
110
106
 
111
- ### <a id="login"></a> πŸ”‘ **Login**
107
+ ## <a id="login"></a> πŸ”‘ **Login**
112
108
 
113
109
  **Alias:** `l`
114
110
 
@@ -117,34 +113,26 @@ npx @capgo/cli@latest login
117
113
  ```
118
114
 
119
115
  πŸ”‘ Save your Capgo API key to your machine or local folder for easier access to Capgo Cloud services.
120
-
121
116
  Use --apikey=******** in any command to override it.
122
117
 
123
-
124
118
  **Example:**
125
119
 
126
120
  ```bash
127
121
  npx @capgo/cli@latest login YOUR_API_KEY
128
122
  ```
129
123
 
130
- **Options:**
124
+ ## <a id="options"></a> Options
131
125
 
132
126
  | Param | Type | Description |
133
127
  | -------------- | ------------- | -------------------- |
134
128
  | **--local** | <code>boolean</code> | Only save in local folder, git ignored for security. |
135
129
 
136
130
 
137
- ### <a id="bundle"></a> πŸ“¦ **Bundle**
138
-
139
- ```bash
140
- npx @capgo/cli@latest bundle
141
- ```
131
+ ## <a id="bundle"></a> πŸ“¦ **Bundle**
142
132
 
143
133
  πŸ“¦ Manage app bundles for deployment in Capgo Cloud, including upload, compatibility checks, and encryption.
144
134
 
145
- #### BUNDLE Subcommands:
146
-
147
- #### <a id="bundle-upload"></a> ⬆️ **Upload**
135
+ ### <a id="bundle-upload"></a> ⬆️ **Upload**
148
136
 
149
137
  **Alias:** `u`
150
138
 
@@ -153,26 +141,18 @@ npx @capgo/cli@latest bundle upload
153
141
  ```
154
142
 
155
143
  ⬆️ Upload a new app bundle to Capgo Cloud for distribution, optionally linking to a channel or external URL.
156
-
157
144
  External option supports privacy concerns or large apps (>200MB) by storing only the link.
158
-
159
145
  Capgo never inspects external content. Encryption adds a trustless security layer.
160
-
161
146
  Version must be > 0.0.0 and unique.
162
-
163
147
  > ℹ️ External option helps with corporate privacy concerns and apps larger than 200MB by storing only the link.
164
148
 
165
-
166
149
  > ℹ️ Capgo Cloud never looks at the content in the link for external options or in the code when stored.
167
150
 
168
-
169
151
  > ℹ️ You can add a second layer of security with encryption, making Capgo trustless.
170
152
 
171
-
172
153
  > ℹ️ Version should be greater than "0.0.0" and cannot be overridden or reused after deletion for security reasons.
173
154
 
174
155
 
175
-
176
156
  **Example:**
177
157
 
178
158
  ```bash
@@ -227,7 +207,7 @@ npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel prod
227
207
  | **--supa-host** | <code>string</code> | Supabase host URL, for self-hosted Capgo or testing |
228
208
  | **--supa-anon** | <code>string</code> | Supabase anon token, for self-hosted Capgo or testing |
229
209
 
230
- #### <a id="bundle-compatibility"></a> πŸ§ͺ **Compatibility**
210
+ ### <a id="bundle-compatibility"></a> πŸ§ͺ **Compatibility**
231
211
 
232
212
  ```bash
233
213
  npx @capgo/cli@latest bundle compatibility
@@ -235,7 +215,6 @@ npx @capgo/cli@latest bundle compatibility
235
215
 
236
216
  πŸ§ͺ Check compatibility of a bundle with a specific channel in Capgo Cloud to ensure updates are safe.
237
217
 
238
-
239
218
  **Example:**
240
219
 
241
220
  ```bash
@@ -252,7 +231,7 @@ npx @capgo/cli@latest bundle compatibility com.example.app --channel production
252
231
  | **--package-json** | <code>string</code> | A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json) |
253
232
  | **--node-modules** | <code>string</code> | A list of paths to node_modules. Useful for monorepos (comma separated ex: ../../node_modules,./node_modules) |
254
233
 
255
- #### <a id="bundle-delete"></a> πŸ—‘οΈ **Delete**
234
+ ### <a id="bundle-delete"></a> πŸ—‘οΈ **Delete**
256
235
 
257
236
  **Alias:** `d`
258
237
 
@@ -262,7 +241,6 @@ npx @capgo/cli@latest bundle delete
262
241
 
263
242
  πŸ—‘οΈ Delete a specific bundle from Capgo Cloud, optionally targeting a single version.
264
243
 
265
-
266
244
  **Example:**
267
245
 
268
246
  ```bash
@@ -275,7 +253,7 @@ npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app
275
253
  | -------------- | ------------- | -------------------- |
276
254
  | **-a,** | <code>string</code> | API key to link to your account |
277
255
 
278
- #### <a id="bundle-list"></a> πŸ“‹ **List**
256
+ ### <a id="bundle-list"></a> πŸ“‹ **List**
279
257
 
280
258
  **Alias:** `l`
281
259
 
@@ -285,7 +263,6 @@ npx @capgo/cli@latest bundle list
285
263
 
286
264
  πŸ“‹ List all bundles uploaded for an app in Capgo Cloud.
287
265
 
288
-
289
266
  **Example:**
290
267
 
291
268
  ```bash
@@ -298,7 +275,7 @@ npx @capgo/cli@latest bundle list com.example.app
298
275
  | -------------- | ------------- | -------------------- |
299
276
  | **-a,** | <code>string</code> | API key to link to your account |
300
277
 
301
- #### <a id="bundle-cleanup"></a> 🧹 **Cleanup**
278
+ ### <a id="bundle-cleanup"></a> 🧹 **Cleanup**
302
279
 
303
280
  **Alias:** `c`
304
281
 
@@ -307,10 +284,8 @@ npx @capgo/cli@latest bundle cleanup
307
284
  ```
308
285
 
309
286
  🧹 Cleanup old bundles in Capgo Cloud, keeping a specified number of recent versions or those linked to channels.
310
-
311
287
  Ignores bundles in use.
312
288
 
313
-
314
289
  **Example:**
315
290
 
316
291
  ```bash
@@ -327,17 +302,15 @@ npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3
327
302
  | **-f,** | <code>string</code> | Force removal |
328
303
  | **--ignore-channel** | <code>boolean</code> | Delete all versions even if linked to a channel, this will delete channel as well |
329
304
 
330
- #### <a id="bundle-encrypt"></a> πŸ”’ **Encrypt**
305
+ ### <a id="bundle-encrypt"></a> πŸ”’ **Encrypt**
331
306
 
332
307
  ```bash
333
308
  npx @capgo/cli@latest bundle encrypt
334
309
  ```
335
310
 
336
311
  πŸ”’ Encrypt a zip bundle using the new encryption method for secure external storage or testing.
337
-
338
312
  Used with external sources or for testing, prints ivSessionKey for upload or decryption.
339
313
 
340
-
341
314
  **Example:**
342
315
 
343
316
  ```bash
@@ -352,17 +325,15 @@ npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
352
325
  | **--key-data** | <code>string</code> | Private signing key |
353
326
  | **-j,** | <code>string</code> | Output in JSON |
354
327
 
355
- #### <a id="bundle-decrypt"></a> πŸ”“ **Decrypt**
328
+ ### <a id="bundle-decrypt"></a> πŸ”“ **Decrypt**
356
329
 
357
330
  ```bash
358
331
  npx @capgo/cli@latest bundle decrypt
359
332
  ```
360
333
 
361
334
  πŸ”“ Decrypt a zip bundle using the new encryption method, mainly for testing purposes.
362
-
363
335
  Prints the base64 decrypted session key for verification.
364
336
 
365
-
366
337
  **Example:**
367
338
 
368
339
  ```bash
@@ -377,17 +348,15 @@ npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM
377
348
  | **--key-data** | <code>string</code> | Private signing key |
378
349
  | **--checksum** | <code>string</code> | Checksum of the bundle, to verify the integrity of the bundle |
379
350
 
380
- #### <a id="bundle-zip"></a> πŸ”Ή **Zip**
351
+ ### <a id="bundle-zip"></a> πŸ”Ή **Zip**
381
352
 
382
353
  ```bash
383
354
  npx @capgo/cli@latest bundle zip
384
355
  ```
385
356
 
386
357
  πŸ—œοΈ Create a zip file of your app bundle for upload or local storage.
387
-
388
358
  Useful for preparing bundles before encryption or upload.
389
359
 
390
-
391
360
  **Example:**
392
361
 
393
362
  ```bash
@@ -407,17 +376,11 @@ npx @capgo/cli@latest bundle zip com.example.app --path ./dist
407
376
  | **--package-json** | <code>string</code> | A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json) |
408
377
 
409
378
 
410
- ### <a id="app"></a> πŸ“± **App**
411
-
412
- ```bash
413
- npx @capgo/cli@latest app
414
- ```
379
+ ## <a id="app"></a> πŸ“± **App**
415
380
 
416
381
  πŸ“± Manage your Capgo app settings and configurations in Capgo Cloud.
417
382
 
418
- #### APP Subcommands:
419
-
420
- #### <a id="app-add"></a> βž• **Add**
383
+ ### <a id="app-add"></a> βž• **Add**
421
384
 
422
385
  **Alias:** `a`
423
386
 
@@ -426,10 +389,8 @@ npx @capgo/cli@latest app add
426
389
  ```
427
390
 
428
391
  βž• Add a new app to Capgo Cloud with a unique app ID in the format com.test.app.
429
-
430
392
  All options can be guessed from config if not provided.
431
393
 
432
-
433
394
  **Example:**
434
395
 
435
396
  ```bash
@@ -444,7 +405,7 @@ npx @capgo/cli@latest app add com.example.app --name "My App" --icon ./icon.png
444
405
  | **-i,** | <code>string</code> | App icon path for display in Capgo Cloud |
445
406
  | **-a,** | <code>string</code> | API key to link to your account |
446
407
 
447
- #### <a id="app-delete"></a> πŸ—‘οΈ **Delete**
408
+ ### <a id="app-delete"></a> πŸ—‘οΈ **Delete**
448
409
 
449
410
  ```bash
450
411
  npx @capgo/cli@latest app delete
@@ -452,7 +413,6 @@ npx @capgo/cli@latest app delete
452
413
 
453
414
  πŸ—‘οΈ Delete an app from Capgo Cloud, optionally specifying a version to delete only that bundle.
454
415
 
455
-
456
416
  **Example:**
457
417
 
458
418
  ```bash
@@ -465,7 +425,7 @@ npx @capgo/cli@latest app delete com.example.app
465
425
  | -------------- | ------------- | -------------------- |
466
426
  | **-a,** | <code>string</code> | API key to link to your account |
467
427
 
468
- #### <a id="app-list"></a> πŸ“‹ **List**
428
+ ### <a id="app-list"></a> πŸ“‹ **List**
469
429
 
470
430
  **Alias:** `l`
471
431
 
@@ -475,7 +435,6 @@ npx @capgo/cli@latest app list
475
435
 
476
436
  πŸ“‹ List all apps registered under your account in Capgo Cloud.
477
437
 
478
-
479
438
  **Example:**
480
439
 
481
440
  ```bash
@@ -488,17 +447,15 @@ npx @capgo/cli@latest app list
488
447
  | -------------- | ------------- | -------------------- |
489
448
  | **-a,** | <code>string</code> | API key to link to your account |
490
449
 
491
- #### <a id="app-debug"></a> 🐞 **Debug**
450
+ ### <a id="app-debug"></a> 🐞 **Debug**
492
451
 
493
452
  ```bash
494
453
  npx @capgo/cli@latest app debug
495
454
  ```
496
455
 
497
456
  🐞 Listen for live update events in Capgo Cloud to debug your app.
498
-
499
457
  Optionally target a specific device for detailed diagnostics.
500
458
 
501
-
502
459
  **Example:**
503
460
 
504
461
  ```bash
@@ -512,17 +469,15 @@ npx @capgo/cli@latest app debug com.example.app --device DEVICE_ID
512
469
  | **-a,** | <code>string</code> | API key to link to your account |
513
470
  | **-d,** | <code>string</code> | The specific device ID to debug |
514
471
 
515
- #### <a id="app-setting"></a> βš™οΈ **Setting**
472
+ ### <a id="app-setting"></a> βš™οΈ **Setting**
516
473
 
517
474
  ```bash
518
475
  npx @capgo/cli@latest app setting
519
476
  ```
520
477
 
521
478
  βš™οΈ Modify Capacitor configuration programmatically by specifying the path to the setting.
522
-
523
479
  (e.g., plugins.CapacitorUpdater.defaultChannel). You MUST provide either --string or --bool.
524
480
 
525
-
526
481
  **Example:**
527
482
 
528
483
  ```bash
@@ -536,7 +491,7 @@ npx @capgo/cli@latest app setting plugins.CapacitorUpdater.defaultChannel --stri
536
491
  | **--bool** | <code>string</code> | A value for the setting to modify as a boolean, ex: --bool true |
537
492
  | **--string** | <code>string</code> | A value for the setting to modify as a string, ex: --string "Production" |
538
493
 
539
- #### <a id="app-set"></a> βš™οΈ **Set**
494
+ ### <a id="app-set"></a> βš™οΈ **Set**
540
495
 
541
496
  **Alias:** `s`
542
497
 
@@ -545,10 +500,8 @@ npx @capgo/cli@latest app set
545
500
  ```
546
501
 
547
502
  βš™οΈ Update settings for an existing app in Capgo Cloud, such as name, icon, or retention period for bundles.
548
-
549
503
  Retention of 0 means infinite storage.
550
504
 
551
-
552
505
  **Example:**
553
506
 
554
507
  ```bash
@@ -565,17 +518,11 @@ npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 3
565
518
  | **-r,** | <code>string</code> | Retention period of app bundle in days, 0 by default = infinite |
566
519
 
567
520
 
568
- ### <a id="channel"></a> πŸ“’ **Channel**
569
-
570
- ```bash
571
- npx @capgo/cli@latest channel
572
- ```
521
+ ## <a id="channel"></a> πŸ“’ **Channel**
573
522
 
574
523
  πŸ“’ Manage distribution channels for app updates in Capgo Cloud, controlling how updates are delivered to devices.
575
524
 
576
- #### CHANNEL Subcommands:
577
-
578
- #### <a id="channel-add"></a> βž• **Add**
525
+ ### <a id="channel-add"></a> βž• **Add**
579
526
 
580
527
  **Alias:** `a`
581
528
 
@@ -585,7 +532,6 @@ npx @capgo/cli@latest channel add
585
532
 
586
533
  βž• Create a new channel for app distribution in Capgo Cloud to manage update delivery.
587
534
 
588
-
589
535
  **Example:**
590
536
 
591
537
  ```bash
@@ -599,7 +545,7 @@ npx @capgo/cli@latest channel add production com.example.app --default
599
545
  | **-d,** | <code>string</code> | Set the channel as default |
600
546
  | **-a,** | <code>string</code> | API key to link to your account |
601
547
 
602
- #### <a id="channel-delete"></a> πŸ—‘οΈ **Delete**
548
+ ### <a id="channel-delete"></a> πŸ—‘οΈ **Delete**
603
549
 
604
550
  **Alias:** `d`
605
551
 
@@ -609,7 +555,6 @@ npx @capgo/cli@latest channel delete
609
555
 
610
556
  πŸ—‘οΈ Delete a channel from Capgo Cloud, optionally removing associated bundles to free up resources.
611
557
 
612
-
613
558
  **Example:**
614
559
 
615
560
  ```bash
@@ -623,7 +568,7 @@ npx @capgo/cli@latest channel delete production com.example.app
623
568
  | **-a,** | <code>string</code> | API key to link to your account |
624
569
  | **--delete-bundle** | <code>boolean</code> | Delete the bundle associated with the channel |
625
570
 
626
- #### <a id="channel-list"></a> πŸ“‹ **List**
571
+ ### <a id="channel-list"></a> πŸ“‹ **List**
627
572
 
628
573
  **Alias:** `l`
629
574
 
@@ -633,7 +578,6 @@ npx @capgo/cli@latest channel list
633
578
 
634
579
  πŸ“‹ List all channels configured for an app in Capgo Cloud to review distribution settings.
635
580
 
636
-
637
581
  **Example:**
638
582
 
639
583
  ```bash
@@ -646,7 +590,7 @@ npx @capgo/cli@latest channel list com.example.app
646
590
  | -------------- | ------------- | -------------------- |
647
591
  | **-a,** | <code>string</code> | API key to link to your account |
648
592
 
649
- #### <a id="channel-currentBundle"></a> πŸ“¦ **CurrentBundle**
593
+ ### <a id="channel-currentBundle"></a> πŸ“¦ **CurrentBundle**
650
594
 
651
595
  ```bash
652
596
  npx @capgo/cli@latest channel currentBundle
@@ -654,7 +598,6 @@ npx @capgo/cli@latest channel currentBundle
654
598
 
655
599
  πŸ“¦ Get the current bundle linked to a specific channel in Capgo Cloud for update tracking.
656
600
 
657
-
658
601
  **Example:**
659
602
 
660
603
  ```bash
@@ -669,7 +612,7 @@ npx @capgo/cli@latest channel currentBundle production com.example.app
669
612
  | **-a,** | <code>string</code> | API key to link to your account |
670
613
  | **--quiet** | <code>boolean</code> | Only print the bundle version |
671
614
 
672
- #### <a id="channel-set"></a> βš™οΈ **Set**
615
+ ### <a id="channel-set"></a> βš™οΈ **Set**
673
616
 
674
617
  **Alias:** `s`
675
618
 
@@ -678,10 +621,8 @@ npx @capgo/cli@latest channel set
678
621
  ```
679
622
 
680
623
  βš™οΈ Configure settings for a channel, such as linking a bundle, setting update strategies (major, minor, metadata, patch, none), or device targeting (iOS, Android, dev, emulator).
681
-
682
624
  One channel must be default.
683
625
 
684
-
685
626
  **Example:**
686
627
 
687
628
  ```bash
@@ -714,27 +655,19 @@ npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --st
714
655
  | **--package-json** | <code>string</code> | A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json) |
715
656
 
716
657
 
717
- ### <a id="key"></a> πŸ” **Key**
718
-
719
- ```bash
720
- npx @capgo/cli@latest key
721
- ```
658
+ ## <a id="key"></a> πŸ” **Key**
722
659
 
723
660
  πŸ” Manage encryption keys for secure bundle distribution in Capgo Cloud, supporting end-to-end encryption with RSA and AES combination.
724
661
 
725
- #### KEY Subcommands:
726
-
727
- #### <a id="key-save"></a> πŸ”Ή **Save**
662
+ ### <a id="key-save"></a> πŸ”Ή **Save**
728
663
 
729
664
  ```bash
730
665
  npx @capgo/cli@latest key save
731
666
  ```
732
667
 
733
668
  πŸ’Ύ Save a base64 encryption key in the Capacitor config, useful for CI environments.
734
-
735
669
  Recommended not to commit the key for security.
736
670
 
737
-
738
671
  **Example:**
739
672
 
740
673
  ```bash
@@ -749,17 +682,15 @@ npx @capgo/cli@latest key save --key ./path/to/key
749
682
  | **--key** | <code>string</code> | Key path to save in Capacitor config |
750
683
  | **--key-data** | <code>string</code> | Key data to save in Capacitor config |
751
684
 
752
- #### <a id="key-create"></a> πŸ”¨ **Create**
685
+ ### <a id="key-create"></a> πŸ”¨ **Create**
753
686
 
754
687
  ```bash
755
688
  npx @capgo/cli@latest key create
756
689
  ```
757
690
 
758
691
  πŸ”¨ Create a new encryption key pair for end-to-end encryption in Capgo Cloud.
759
-
760
692
  Do not commit or share the private key; save it securely.
761
693
 
762
-
763
694
  **Example:**
764
695
 
765
696
  ```bash
@@ -772,7 +703,7 @@ npx @capgo/cli@latest key create
772
703
  | -------------- | ------------- | -------------------- |
773
704
  | **-f,** | <code>string</code> | Force generate a new one |
774
705
 
775
- #### <a id="key-delete_old"></a> πŸ—‘οΈ **Delete_old**
706
+ ### <a id="key-delete_old"></a> πŸ—‘οΈ **Delete_old**
776
707
 
777
708
  ```bash
778
709
  npx @capgo/cli@latest key delete_old
@@ -780,7 +711,6 @@ npx @capgo/cli@latest key delete_old
780
711
 
781
712
  🧹 Delete the old encryption key from the Capacitor config to ensure only the current key is used.
782
713
 
783
-
784
714
  **Example:**
785
715
 
786
716
  ```bash
@@ -788,17 +718,11 @@ npx @capgo/cli@latest key delete_old
788
718
  ```
789
719
 
790
720
 
791
- ### <a id="account"></a> πŸ‘€ **Account**
792
-
793
- ```bash
794
- npx @capgo/cli@latest account
795
- ```
721
+ ## <a id="account"></a> πŸ‘€ **Account**
796
722
 
797
723
  πŸ‘€ Manage your Capgo account details and retrieve information for support or collaboration.
798
724
 
799
- #### ACCOUNT Subcommands:
800
-
801
- #### <a id="account-id"></a> πŸ”Ή **Id**
725
+ ### <a id="account-id"></a> πŸ”Ή **Id**
802
726
 
803
727
  ```bash
804
728
  npx @capgo/cli@latest account id
@@ -806,7 +730,6 @@ npx @capgo/cli@latest account id
806
730
 
807
731
  πŸͺͺ Retrieve your account ID, safe to share for collaboration or support purposes in Discord or other platforms.
808
732
 
809
-
810
733
  **Example:**
811
734
 
812
735
  ```bash
@@ -822,534 +745,3 @@ npx @capgo/cli@latest account id
822
745
 
823
746
 
824
747
  <!-- AUTO-GENERATED-DOCS-END -->
825
-
826
- ### **Init**
827
-
828
- `npx @capgo/cli@latest init [apikey]`
829
-
830
- This method is here to onboard you step by step.
831
-
832
- It will add your app to Capgo. It will add the code to your app to validate the update. Likewise, it will build your app. Furthermore, it will upload your app to Capgo. And it will help you to check if the update works.
833
-
834
- ### **Login**
835
-
836
- `npx @capgo/cli login [apikey]`
837
-
838
- This method is here to remember the `apikey` for you.
839
-
840
- :::note
841
- use `--apikey=********` in any command to override it
842
- :::
843
-
844
- **Optionaly you can give:**
845
-
846
- `--local` This will store your **apikey** in the local repo and git ignore it.
847
-
848
- ## **Doctor**
849
-
850
- `npx @capgo/cli doctor`
851
-
852
- Command to check if you are up-to-date with Capgo packages.
853
-
854
- This command will also be useful for bug report.
855
-
856
- ## App
857
-
858
- ### **Add**
859
-
860
- `npx @capgo/cli app add [appId]`
861
-
862
- `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
863
-
864
- > πŸ’‘ All option will be guessed in your config if not provided.
865
-
866
- Optionally, you can give:
867
-
868
- * `--icon [/path/to/my/icon]` to have a custom icon display in Capgo web app.
869
- * `--name [test]` to have a custom name in the list.
870
- * `--apikey [key]` API key to link to your account.
871
- * `--retention [retention]` retention period of app bundle in days, 0 by default = infinite.
872
-
873
- Example of `capacitor.config.json` for appId and AppName, the icon is guess in the resources folder
874
-
875
- ```json
876
- {
877
- "appId": "ee.forgr.capacitor_go",
878
- "appName": "Capgo",
879
- "webDir": "dist"
880
- }
881
- ```
882
-
883
- ### **Set**
884
-
885
- `npx @capgo/cli app set [appId]`
886
-
887
- `[appId]` is your app ID, the format is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
888
-
889
- Optionally, you can give:
890
-
891
- * `--icon [/path/to/my/icon]` to have a custom icon display in Capgo web app.
892
- * `--name [test]` to have a custom name in the list.
893
- * `--retention [retention]` retention period of app bundle in days, 0 by default = infinite.
894
- * `--apikey [key]` API key to link to your account.
895
-
896
- ### **List**
897
-
898
- `npx @capgo/cli app list [appId]`
899
-
900
- `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
901
-
902
- Optionally, you can give:
903
-
904
- * `--apikey [key]` API key to link to your account.
905
-
906
- ### **Delete**
907
-
908
- `npx @capgo/cli app delete [appId]`
909
-
910
- `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
911
-
912
- Optionally, you can give:
913
-
914
- * `--apikey [key]` API key to link to your account.
915
- * `--bundle` with the version number will only delete this version.
916
-
917
- ### Debug
918
-
919
- `npx @capgo/cli app debug [appId]`
920
-
921
- `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
922
-
923
- Optionally, you can give:
924
-
925
- * `--apikey [key]` API key to link to your account.
926
- * `--device` with the specific device you want to debug
927
-
928
- ### Setting
929
-
930
- `npx @capgo/cli app setting [path]`
931
-
932
- Edit the Capacitor config.
933
-
934
- `[path]` - path of the setting that you would like to change. For example, to change the `appId`, provide `appId`.
935
- If you wish to disable auto update in the `capacitor-updater` provide `plugins.CapacitorUpdater.autoUpdate`
936
-
937
- You MUST provide either `--string` or `--bool`!
938
-
939
- Options:
940
- - `--string <string>` - sets the setting to a string
941
- - `--bool <true | false>` - sets the setting to a boolean
942
-
943
- ## Bundle
944
-
945
- ### Upload
946
-
947
- `npx @capgo/cli bundle upload [appId]`
948
-
949
- `[appId]` is your app ID, the format is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
950
-
951
- Options:
952
-
953
- * `--apikey <apikey>` API key to link to your account.
954
- * `--path <path>` Path of the folder to upload.
955
- * `--channel <channel>` Channel to link to.
956
- * `--external <url>` Link to external URL instead of uploading to Capgo Cloud.
957
- * `--iv-session-key <key>` Set the IV and session key for bundle URL external.
958
- * `--s3-endpoint <s3Endpoint>` URL of S3 endpoint. Do not work with Partial upload, or external option.
959
- * `--s3-region <region>` Region for your S3 bucket.
960
- * `--s3-apikey <apikey>` API key for your S3 endpoint.
961
- * `--s3-apisecret <apisecret>` API secret for your S3 endpoint.
962
- * `--s3-bucket-name <bucketName>` Name for your AWS S3 bucket.
963
- * `--s3-port <port>` Port for your S3 endpoint.
964
- * `--no-s3-ssl` Disable SSL for S3 upload.
965
- * `--key <key>` Custom path for public signing key (v1 system).
966
- * `--key-data <keyData>` Public signing key (v1 system).
967
- * `--key-v2 <key>` Custom path for private signing key (v2 system).
968
- * `--key-data-v2 <keyData>` Private signing key (v2 system).
969
- * `--bundle-url` Prints bundle URL into stdout.
970
- * `--no-key` Ignore signing key and send clear update.
971
- * `--no-code-check` Ignore checking if notifyAppReady() is called in source code and index present in root folder.
972
- * `--display-iv-session` Show in the console the IV and session key used to encrypt the update.
973
- * `--bundle <bundle>` Bundle version number of the bundle to upload.
974
- * `--min-update-version <minUpdateVersion>` Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel.
975
- * `--auto-min-update-version` Set the min update version based on native packages.
976
- * `--ignore-metadata-check` Ignores the metadata (node_modules) check when uploading.
977
- * `--ignore-checksum-check` Ignores the checksum check when uploading.
978
- * `--timeout <timeout>` Timeout for the upload process in seconds.
979
- * `--partial` Does not upload partial files to Capgo cloud.
980
- * `--tus` Upload the bundle using tus protocol.
981
- * `--multipart` Uses multipart protocol to upload data to S3, Deprecated, use TUS instead.
982
- * `--encrypted-checksum <encryptedChecksum>` An encrypted checksum (signature). Used only when uploading an external bundle.
983
- * `--package-json <packageJson>` A path to package.json. Usefull for monorepos.
984
- * `--auto-set-bundle` Set the bundle in capacitor.config.json.
985
- * `--node-modules <nodeModules>` A list of path to node_modules. Usefull for monorepos (comma separated ex: ../../node_modules,./node_modules).
986
-
987
- > ⭐️ External option helps to unlock 2 cases: corporate with privacy concern, don't send the code to a third part and app bigger than 200 MB. With this setting, Capgo store only the link to the zip and sends the link to all apps.
988
-
989
- > πŸ‘€ Capgo cloud never looks at what is in the link (for external option), or in the code when stored.
990
-
991
- > πŸ”‘ You can add a second layer of security by using encryption, then Capgo will not be able to look or modify anything, it becomes β€œtrustless”.
992
-
993
- Example of `package.json` for version
994
-
995
- ```json
996
- {
997
- "version": "1.0.2"
998
- }
999
- ```
1000
-
1001
- > β›” Version should be greater than β€œ0.0.0”.
1002
-
1003
- > πŸ’‘ Don't forget to update the version number each time you send one, version number cannot be overrode, or reused after deletion for security reason.
1004
-
1005
- ### **List**
1006
-
1007
- `npx @capgo/cli bundle list [appId]`
1008
-
1009
- `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1010
-
1011
- Optionally, you can give:
1012
-
1013
- * `--apikey [key]` API key to link to your account.
1014
-
1015
- ### **Delete**
1016
-
1017
- `npx @capgo/cli bundle delete [bundleId] [appId]`
1018
-
1019
- `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1020
-
1021
- Optionally, you can give:
1022
-
1023
- * `--apikey [key]` API key to link to your account.
1024
- * `--bundle` with the version number will only delete this version.
1025
-
1026
- ### Cleanup
1027
-
1028
- in a SemVer range for a major version to Cloud
1029
-
1030
- `npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]`
1031
-
1032
- `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1033
-
1034
- Optionally, you can give:
1035
-
1036
- * `--apikey [key]` API key to link to your account.
1037
- * `--bundle [majorVersion]` a version you wish to remove previous packages for, it will keep the last one + `numberToKeep`.
1038
- * `--keep [numberToKeep]` the number of packages you wish to keep (default 4).
1039
-
1040
- For example: If you have 10 versions from 10.0.1 to 10.0.11, and you use `npx @capgo/cli cleanup [appId] --bundle=10.0.0` it will remove 10.0.1 to 10.0.6. 10.0.7 until 10.0.11 will be kept.
1041
-
1042
- If you have 20 versions in total, and you don't provide a bundle number like this: `npx @capgo/cli cleanup [appId] --keep=2` It will remove 18 versions, and keep the last 2.
1043
-
1044
- > This command will ask for confirmation, it shows a table of what it will be keeping and removing.
1045
-
1046
- :::note
1047
- This command will ignore bundles which are currently in use in any channel.
1048
- :::
1049
-
1050
- ### **Encrypt**
1051
-
1052
- > **Warning**: This command is deprecated and will be removed in the next major release. Please use the new encryption system.
1053
- `npx @capgo/cli bundle encrypt [path/to/zip]`
1054
-
1055
- This command is used when you use external source to store your code or for test purpose.
1056
-
1057
- Optionally, you can give:
1058
-
1059
- `--key [/path/to/my/private_key]` the path of your private key.
1060
- `--key-data [privateKey]` the private key data, if you want to use inline.
1061
- The command will print your `ivSessionKey`y and generate an encrypted zip, to use it with the upload command or decryt command.
1062
-
1063
- ### **Encrypt V2**
1064
-
1065
- `npx @capgo/cli bundle encryptV2 [path/to/zip] [checksum]`
1066
-
1067
- This command is used when you use external source to store your code or for test purpose.
1068
- The checksum is the sha256 of the bundle (generated by --key-v2), it is used to verify the integrity of the file after decryption.
1069
- It will be enncrypted with the private key and sent along with the bundle.
1070
- In encryption v2 the checksum is upgraded to become a "signature" of the bundle.
1071
-
1072
- Optionally, you can give:
1073
-
1074
- `--key [/path/to/my/private_key]` the path of your private key.
1075
- `--key-data [privateKey]` the private key data, if you want to use inline.
1076
- `--json` to output info as json.
1077
- The command will print your `ivSessionKey`y and generate an encrypted zip, to use it with the upload command or decryt command.
1078
-
1079
- ### **Decrypt**
1080
-
1081
- `npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]`
1082
-
1083
- Optionally, you can give:
1084
-
1085
- `--key [/path/to/my/private_key]` the path of your private key.
1086
-
1087
- `--key-data [privateKey]` the private key data, if you want to use inline. This command is mainly used for test purpose, it will decrypt the zip and print the base64 decrypted session key in the console.
1088
-
1089
- ### **Decrypt V2**
1090
-
1091
- `npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]`
1092
-
1093
- Optionally, you can give:
1094
-
1095
- `--key [/path/to/my/private_key]` the path of your private key.
1096
- `--key-data [privateKey]` the private key data, if you want to use inline. This command is mainly used for test purpose, it will decrypt the zip and print the base64 decrypted session key in the console.
1097
- `--checksum [checksum]` the checksum of the file, it will verify the checksum after decryption.
1098
-
1099
- ### **Zip**
1100
-
1101
- `npx @capgo/cli bundle zip [appId]`
1102
-
1103
- `[appId]` is your app ID, the format is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1104
-
1105
- Optionally, you can give:
1106
-
1107
- * `--path [/path/to/my/bundle]` to upload a specific folder.
1108
- * `--bundle [1.0.0]` to set the bundle version number of the filename.
1109
- * `--name [myapp]` to override the filename.
1110
- * `--json` to output info as json.
1111
- * `--no-code-check` to ignore the code check and send the bundle anyway.
1112
- * `--key-v2` to use the new encryption system. This is required as new encryption system use better checksums to verify the integrity of the file.
1113
-
1114
- ### **Compatibility**
1115
-
1116
- `npx @capgo/cli bundle compatibility [appId] -c [channelId]`
1117
-
1118
- `[appId]` is your app ID, the format is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1119
- `[channelId]` the name of your new channel.
1120
-
1121
- Optionally, you can give:
1122
-
1123
- * `--apikey [key]` API key to link to your account.
1124
- * `--text` use text instead of emojis in the table
1125
- * `--channel [channel]` the channel to check the compatibility with.
1126
- * `--package-json <packageJson>` A path to package.json. Usefull for monorepos
1127
- * `--node-modules <nodeModules>` A list of path to node_modules. Usefull for monorepos (comma separated ex: ../../node_modules,./node_modules)
1128
-
1129
- ## Channel
1130
-
1131
- ### **Add**
1132
-
1133
- `npx @capgo/cli channel add [channelId] [appId]`
1134
-
1135
- `[channelId]` the name of your new channel. `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1136
-
1137
- ### **Delete**
1138
-
1139
- `npx @capgo/cli channel delete [channelId] [appId]`
1140
-
1141
- `[channelId]` the name of your channel you want to delete. `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1142
-
1143
- Optionally, you can give:
1144
-
1145
- * `--delete-bundle` Deletes the bundle associated with the channel.
1146
-
1147
- ### **List**
1148
-
1149
- `npx @capgo/cli channel list [appId]`
1150
-
1151
- `[appId]` your app ID the format `com.test.app` is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1152
-
1153
- Optionally, you can give:
1154
-
1155
- * `--apikey [key]` API key to link to your account.
1156
-
1157
- ### **Set**
1158
-
1159
- `npx @capgo/cli channel set [channelId] [appId]`
1160
-
1161
- `[appId]` is your app ID, the format is explained [here](https://capacitorjs.com/docs/cli/commands/init/).
1162
-
1163
- Optionally, you can give:
1164
-
1165
- * `--bundle [1.2.3]` your app bundle already sent to the cloud, to link it to a channel.
1166
- * `--latest` get the bundle version from `package.json:version`, cannot be used with `--bundle`.
1167
- * `--state [ normal | default ]` set the channel state, can be `normal` or `default`. One channel needs to be `default`.
1168
- * `--downgrade` allows the channel to send downgrade version to devices.
1169
- * `--no-downgrade` disallows the channel to send downgrade version to devices.
1170
- * `--upgrade` allows the channel to send upgrade (major) version to devices.
1171
- * `--no-upgrade` disallow the channel to send upgrade (major) version to devices.
1172
- * `--ios` allows the channel to send version to iOS devices.
1173
- * `--no-ios` disallows the channel to send version to iOS devices.
1174
- * `--android` allows the channel to send version to android devices.
1175
- * `--no-android` disallows the channel to send version to android devices.
1176
- * `--self-assign` allows devices to self assign to this channel.
1177
- * `--no-self-assign` disallows devices to self assign to this channel.
1178
- * `--disable-auto-update STRATEGY` Disable auto update strategy for this channel. The possible options are: major, minor, metadata, none.
1179
- * `--apikey [key]` API key to link to your account.
1180
-
1181
- ## Disable updates strategy
1182
-
1183
- There are a few ways to handle disabling updates for too old versions.\
1184
- Capgo cannot update native code thus an update from a version with the old native code to a version with the updated native code should not be possible.
1185
- There are a couple of ways to achieve that.
1186
-
1187
- First, the `major` strategy. It prevents an update from `0.0.0` -> `1.0.0`. The major is the highlighted number (**1**.0.0 and **0**.0.0).\
1188
- Second is the `minor` strategy. It prevents an update from `0.0.0` -> `1.1.0` or an update from `1.1.0` to `1.2.0`.
1189
- **BE AWARE** this strategy does not prevent an update from `0.1.0` -> `1.1.0`
1190
-
1191
- Third, the `patch` strategy. It was added into capgo as a very strict mode. It's not recomended to be used unless you fully understand how it works.
1192
- In order for it to accept a update the following conditions must be meet:
1193
- - The major is the same between the new and the old version
1194
- - The minor is the same between the new and the old version
1195
- - The patch of the new version if greater then the patch of the old version
1196
-
1197
- Here is an example of which scenarios the update is allowed or denied
1198
-
1199
- - 0.0.311 -> 0.0.314 βœ…
1200
- - 0.0.0 -> 0.0.314 βœ…
1201
- - 0.0.316 -> 0.0.314 ❌
1202
- - 0.1.312 -> 0.0.314 ❌
1203
- - 1.0.312 -> 0.0.314 ❌
1204
-
1205
- Lastly the most complicated strategy. The `metadata` strategy.\
1206
- First you need to know that initially after you enable it the updates **WILL** fail as the channel is lacking the required metadata.\
1207
- If the channel is lacking metadata you will see a message like this:
1208
- <img src="/fail-metadata.webp" alt="Cannot find metadata"/>
1209
-
1210
- If you see something like this you know that you have to go to the current bundle for the failing channel and set the metadata.\
1211
- First, figure out what channel is failing. You can do that by looking at the `misconfigured` column
1212
- <img src="/misconfigured-table.webp" alt="Misconfigured table"/>
1213
-
1214
- Then go to the failing channel and click on `Bundle number`. This should take you to the bundle page.
1215
- <img src="/fail-channel-show.webp" alt="Locate failing channel"/>
1216
-
1217
- Once there fill the `Minimal update version` field. This should be a [semver](https://devhints.io/semver/).\
1218
- If the value you pass is not a semver you will get an error, but if everything goes correctly you should see something like this:
1219
- <img src="/set-min-update-version.webp" alt="Set min version"/>
1220
-
1221
- Now, you likely do not want to set this data manually every time you update. Fortunately, the CLI will prevent you from sending an update without this metadata
1222
- <img src="/cli-fail-no-metadata.webp" alt="CLI fail no metadata"/>
1223
-
1224
- To properly upload a bundle when using the `metadata` option you need to pass the `--min-update-version` with the valid semver. Something like this:
1225
- <img src="/cli-upload-with-metadata.webp" alt="CLI upload with metadata"/>
1226
-
1227
- The `--min-update-version` is not the ONLY way to do compatibility.
1228
- There also exists the `--auto-min-update-version`. Here is how it works.
1229
-
1230
- First, it takes a look at the version curently uploaded to the channel. It checks compatibility same as `bundle compatibility` command would.
1231
- Second, if the new version is 100% compatible it reuses the `min_update_version` from the latest version in the channel.
1232
- If not, then it sets the `min_update_version` to the bundle number of the newly uploaded version.
1233
-
1234
- You will always get an information what is the `min_update_version` when using this option. It will look something like this:
1235
- <img src="/min_update_version_info.webp" alt="Min update version"/>
1236
-
1237
- If the new version is not compatible it should look something like this
1238
- <img src="/min_update_version_not_compatible.webp" alt="Min update version not compatible"/>
1239
-
1240
- ## End-to-End encryption (Trustless)
1241
-
1242
- Capgo supports end-to-end encryption, this means that your bundle(code) is encrypted before sent to the cloud and decrypted on the device. For that, you need to generate an RSA key pair, you can use the following command to generate it.
1243
-
1244
- The encryption system is a combination of RSA and AES, the RSA key is used to encrypt the AES key, and the AES key is used to encrypt the file.
1245
-
1246
- See below for more information about the encryption system.
1247
-
1248
- <figure><img src="/crypto_explained.png" alt=""><figcaption><p>Ecryption schema</p></figcaption></figure>
1249
-
1250
- Ecryption schema
1251
-
1252
- ### Create key for your app
1253
-
1254
- `npx @capgo/cli key create`
1255
-
1256
- Optionally, you can give: `--force` to overwrite the existing key. This command will create for you a key pair in your app, and will ask you to save the private key in a safe place. It's recommended to not git commit the private key, and to not share it with anyone.
1257
-
1258
- > After your local test, remove the key from the config file and add it on the CI step with `key save`
1259
-
1260
- ### Save key in your app config
1261
-
1262
- `npx @capgo/cli key save`
1263
-
1264
- Optionally, you can give:
1265
-
1266
- `--key [/path/to/my/private_key]` the path of your private key.
1267
-
1268
- `--key-data [privateKey]` the private key data, if you want to use inline. This command is useful if you followed the recommendation and didn't commit the key in your app, and in the config.
1269
-
1270
- ## Ci integration
1271
-
1272
- To automate your work, I recommend you make GitHub action do the job of pushing to our server
1273
-
1274
- [GitHub action tutorial](https://capgo.app/blog/automatic-build-and-release-with-github-actions/)
1275
-
1276
- ## Our demo app
1277
-
1278
- [GitHub - Cap-go/demo-app](https://github.com/Cap-go/demo-app/)
1279
-
1280
- Don’t forget to configure CI env variable with your API key
1281
-
1282
- ## Dev contribution
1283
-
1284
- 1. Install development dependencies
1285
-
1286
- ```shell
1287
- rm -rf node_modules
1288
- npm i
1289
- ```
1290
-
1291
- 2. Set `"sourceMap": true,` in `tsconfig.json`
1292
-
1293
- 3. Run webpack development server
1294
-
1295
- ```shell
1296
- npm run dev
1297
- ```
1298
-
1299
- 4. Attach debugger to the process started with `npm run dev`
1300
-
1301
- > VS Code:
1302
-
1303
- - Run `Debug on fixtures` launch configuration
1304
- - Edit configuration to debug on different files
1305
-
1306
- > Other IDEs:
1307
-
1308
- - Attach debugger of your choice to the running process, use `.vscode/launch.json` `Debug on fixtures` configuration as the example
1309
-
1310
- ## Production build
1311
-
1312
- 1. Set `"sourceMap": false,` in `tsconfig.json`
1313
-
1314
- > TODO: add separate build config
1315
-
1316
- 2. Run
1317
-
1318
- ```shell
1319
- npm install && set NODE_ENV=production&& npx webpack --config webpack.config.js && rm -rf node_modules && npm i --only=prod && npm prune --production && npm shrinkwrap
1320
- ```
1321
-
1322
- ## Publish to NPM
1323
-
1324
- To release a new package version:
1325
-
1326
- 1. Bump version in `package.json` manually
1327
- 2. Run commands from **Production build** section
1328
- 3. Run `npm publish --dry-run`:
1329
-
1330
- - ensure that only necessary files are listed in package preview
1331
-
1332
- - ensure that `npm-shrinkwrap.json` **does not include development dependencies**
1333
-
1334
- 4. Run `npm publish` or `npm publish --tag beta`
1335
-
1336
- ## Pack executable
1337
-
1338
- **prerequisite**: perform production build
1339
-
1340
- > Pkg will not resolve dynamic module imports, so avoid these at all costs. (Basically, just use plain ordinary static `import Something from 'somewhere'` and no issue should arise)
1341
-
1342
- Build for all supported platforms
1343
-
1344
- ```shell
1345
- pkg ./dist/index.js
1346
- ```
1347
-
1348
- > You can specify targets with `-t` option (refer to `pkg --help` and examples on [pkg's npm](https://www.npmjs.com/package/pkg))
1349
- > e.g. use `pkg -t node14-win-x64 ./dist/index.js` to build for Node14, Windows x64
1350
-
1351
- Build for Node14 Windows x64
1352
-
1353
- ```shell
1354
- pkg -t node14-win-x64 ./dist/index.js
1355
- ```