📦 bundle
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
📦 Kelola bundle aplikasi untuk deployment di Capgo Cloud, termasuk upload, pemeriksaan kompatibilitas, dan enkripsi.
⬆️ Unggah
Bagian berjudul “ ⬆️ Upload”Alias: u
npx @capgo/cli@latest bundle upload⬆️ Upload bundle aplikasi baru ke Capgo Cloud untuk distribusi. Versi harus > 0.0.0 dan unik. Versi yang sudah dihapus tidak bisa dipakai lagi demi keamanan. Opsi eksternal: Simpan hanya link URL (berguna untuk aplikasi >200MB atau kebutuhan privasi). Capgo tidak pernah memeriksa konten eksternal. Tambahkan enkripsi untuk keamanan trustless.
Contoh:
npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,betaAuto-bump semver berikutnya yang belum terpakai dari channel (atau versi aplikasi remote terbaru) saat Anda tidak menyertakan --bundle. Berguna di CI saat package.json sudah sama dengan versi yang ada di Capgo:
npx @capgo/cli@latest bundle upload --channel=production --auto-bumpnpx @capgo/cli@latest bundle upload --auto-bump majornpx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no valuenpx @capgo/cli@latest bundle upload --auto-bump patch # alias: fixnpx @capgo/cli@latest bundle upload --auto-bump metadatanpx @capgo/cli@latest bundle upload --channel=production --auto-bump aiDengan --auto-bump ai, Capgo Cloudflare Workers AI membandingkan file bundle lokal dengan manifest delta Capgo/channel sebelumnya, dan menyimpulkan major | minor | patch | metadata, dan mencetak alasan singkat di log CLI. Jika tidak ada versi Capgo sebelumnya, AI dilewati dan bump default ke patch.
Opsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| -a | string | key API untuk menautkan ke akun Anda |
| -p | string | Path folder yang akan di-upload; jika tidak diberikan, akan menggunakan webDir yang di-set di capacitor.config |
| -c | string | Channel yang akan dihubungkan. Gunakan koma untuk beberapa channel, misalnya production,beta |
| —rollout | string | Jadikan bundle yang di-upload sebagai target rollout channel ini dengan persentase 0 hingga 100 |
| —stable | boolean | Pada channel dengan konfigurasi rollout, ganti fallback stable alih-alih mengatur target rollout |
| —rollout-percentage-bps | string | Atur persentase rollout bundle yang di-upload dalam basis points dari 0 hingga 10000 |
| —rollout-cache-ttl-seconds | string | TTL cache keputusan rollout Cloudflare dalam detik |
| -e | string | Tautkan ke URL eksternal alih-alih upload ke Capgo Cloud |
| —iv-session-key | string | Atur IV dan session key untuk URL bundle eksternal |
| —s3-region | string | Region untuk bucket S3 Anda |
| —s3-apikey | string | API key untuk endpoint S3 Anda |
| —s3-apisecret | string | API secret untuk endpoint S3 Anda |
| —s3-endpoint | string | URL endpoint S3 |
| —s3-bucket-name | string | Nama bucket AWS S3 Anda |
| —s3-port | string | Port untuk endpoint S3 Anda |
| —no-s3-ssl | boolean | Nonaktifkan SSL untuk upload S3 |
| —key-v2 | string | Path kustom untuk private signing key (sistem v2) |
| —key-data-v2 | string | Private signing key (sistem v2) |
| —bundle-url | boolean | Mencetak bundle URL ke stdout |
| —no-key | boolean | Abaikan signing key dan kirim update tanpa enkripsi |
| —no-code-check | boolean | Abaikan pengecekan apakah notifyAppReady() dipanggil di source code dan index ada di root folder |
| —display-iv-session | boolean | Tampilkan IV dan session key yang dipakai untuk enkripsi update di konsol |
| -b | string | Nomor versi bundle yang akan di-upload |
| —auto-bump | string | Auto-increment dari bundle yang terhubung ke channel, atau versi app remote terbaru. Level: major, minor (default), patch (alias fix), metadata, atau ai (Workers AI menyimpulkan level dari delta manifest lokal vs sebelumnya; fallback ke patch jika tidak ada versi Capgo sebelumnya). Bump sampai dapat nama yang kosong (nama yang dihapus tetap terpakai). Tidak bisa digabung dengan —bundle (-b) |
| —link | string | Tautkan ke resource eksternal (misal: GitHub release) |
| —comment | string | Komentar tentang versi ini, bisa berupa release note, commit hash, commit message, dll. |
| —min-update-version | string | Versi minimal yang diperlukan untuk memperbarui ke versi ini. Hanya digunakan jika disable auto update diset ke metadata di channel |
| —auto-min-update-version | boolean | Set min update version berdasarkan native packages |
| —ignore-metadata-check | boolean | Mengabaikan pemeriksaan metadata (node_modules) saat upload |
| —fail-on-incompatible | boolean | Gagal saat upload (exit non-zero) alih-alih mengupload jika bundle tidak kompatibel dengan native packages channel saat ini. Di terminal interaktif, Anda masih bisa memilih native build; menolak akan menyebabkan kegagalan. Tidak bisa digabungkan dengan —ignore-metadata-check. |
| —ignore-checksum-check | boolean | Mengabaikan pemeriksaan checksum saat upload |
| —force-crc32-checksum | boolean | Paksa checksum CRC32 untuk upload (timpa deteksi otomatis) |
| —timeout | string | Timeout proses upload dalam detik |
| —multipart | boolean | [DEPRECATED] Gunakan —tus sebagai gantinya. Menggunakan protokol multipart untuk upload S3 |
| —zip | boolean | Upload bundle menggunakan zip ke cloud Capgo (legacy) |
| —tus | boolean | Upload bundle menggunakan TUS ke cloud Capgo |
| —tus-chunk-size | string | Ukuran chunk dalam byte untuk upload resumable TUS (default: auto) |
| —partial | boolean | [DEPRECATED] Gunakan —delta. Upload update inkremental |
| —partial-only | boolean | [DEPRECATED] Gunakan —delta-only. Upload hanya update inkremental, lewati full bundle |
| —delta | boolean | Upload delta updates (hanya file yang berubah) untuk update instan dan super cepat, bukan download zip besar |
| —delta-only | boolean | Upload hanya delta updates tanpa full bundle untuk kecepatan maksimal (berguna untuk aplikasi besar) |
| —no-delta | boolean | Nonaktifkan delta updates meskipun instant updates diaktifkan |
| —encrypted-checksum | string | Checksum terenkripsi (signature). Hanya digunakan saat mengunggah bundle eksternal. |
| —auto-set-bundle | boolean | Atur bundle di capacitor.config.json |
| —dry-upload | boolean | Simulasi proses upload bundle: tambahkan baris di database tanpa upload file atau update channel (Dipakai Capgo untuk testing internal) |
| —package-json | string | Path ke file package.json untuk monorepo (pisahkan dengan koma) |
| —node-modules | string | Path ke direktori node_modules untuk monorepo (pisahkan dengan koma) |
| —encrypt-partial | boolean | Enkripsi file delta update (otomatis aktif untuk updater > 6.14.4) |
| —delete-linked-bundle-on-upload | boolean | Mencari bundle yang saat ini terhubung di channel tujuan upload, lalu menghapusnya |
| —no-brotli-patterns | string | File yang dikecualikan dari kompresi Brotli (globs dipisahkan koma, mis., “.jpg,.png”) |
| —disable-brotli | boolean | Matikan kompresi brotli sepenuhnya meskipun versi updater mendukungnya |
| —version-exists-ok | boolean | Berhenti dengan sukses jika versi bundle sudah ada, berguna untuk workflow CI/CD dengan monorepo |
| —self-assign | boolean | Izinkan perangkat bergabung otomatis ke channel ini (mengubah pengaturan channel) |
| —qr-preview | boolean | Cetak QR terminal code untuk pratinjau bundle ini setelah upload |
| —send-update-notification | boolean | Kirim notifikasi pemeriksaan update native ke perangkat setelah memperbarui bundle channel terkait |
| —supa-host | string | URL host Supabase kustom (untuk self-hosting atau pengembangan Capgo) |
| —supa-anon | string | Anon key Supabase kustom (untuk self-hosting) |
| —verbose | boolean | Aktifkan output verbose dengan logging mendetail |
🧪 Kompatibilitas
Bagian berjudul “ 🧪 Compatibility”npx @capgo/cli@latest bundle compatibility🧪 Cek kompatibilitas bundle dengan channel tertentu di Capgo Cloud untuk memastikan update aman.
Contoh:
npx @capgo/cli@latest bundle compatibility com.example.app --channel productionOpsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| -a | string | key API untuk menautkan ke akun Anda |
| -c | string | Channel untuk memeriksa kompatibilitas dengan |
| —text | boolean | Tampilkan teks, bukan emoji |
| —package-json | string | Path ke file package.json untuk monorepo (pisahkan dengan koma) |
| —node-modules | string | Path ke direktori node_modules untuk monorepo (pisahkan dengan koma) |
| —supa-host | string | URL host Supabase kustom (untuk self-hosting atau pengembangan Capgo) |
| —supa-anon | string | Anon key Supabase kustom (untuk self-hosting) |
🔹 ReleaseType
Bagian berjudul “ 🔹 ReleaseType”npx @capgo/cli@latest bundle releaseType🧭 Cetak “native” atau “OTA” berdasarkan kompatibilitas dengan metadata terbaru channel.
Contoh:
npx @capgo/cli@latest bundle releaseType com.example.app --channel productionOpsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| -a | string | key API untuk menautkan ke akun Anda |
| -c | string | Channel untuk dibandingkan |
| —package-json | string | Path ke file package.json untuk monorepo (pisahkan dengan koma) |
| —node-modules | string | Path ke direktori node_modules untuk monorepo (pisahkan dengan koma) |
| —supa-host | string | URL host Supabase kustom (untuk self-hosting atau pengembangan Capgo) |
| —supa-anon | string | Anon key Supabase kustom (untuk self-hosting) |
🗑️ Hapus
Bagian berjudul “ 🗑️ Hapus”Alias: d
npx @capgo/cli@latest bundle delete🗑️ Hapus bundle tertentu dari Capgo Cloud, dengan opsi menargetkan satu versi tertentu.
Contoh:
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.appOpsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| -a | string | key API untuk menautkan ke akun Anda |
| —supa-host | string | URL host Supabase kustom (untuk self-hosting atau pengembangan Capgo) |
| —supa-anon | string | Anon key Supabase kustom (untuk self-hosting) |
📋 Daftar
Bagian berjudul “ 📋 List”Alias: l
npx @capgo/cli@latest bundle list📋 Daftar semua bundle yang diunggah untuk aplikasi di Capgo Cloud.
Contoh:
npx @capgo/cli@latest bundle list com.example.appOpsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| -a | string | key API untuk menautkan ke akun Anda |
| —supa-host | string | URL host Supabase kustom (untuk self-hosting atau pengembangan Capgo) |
| —supa-anon | string | Anon key Supabase kustom (untuk self-hosting) |
🧹 Pembersihan
Bagian berjudul “ 🧹 Cleanup”Alias: c
npx @capgo/cli@latest bundle cleanup🧹 Hapus bundle lama di Capgo Cloud, dengan menyimpan sejumlah versi terbaru yang ditentukan. Bundle yang terhubung ke channel akan dipertahankan kecuali —ignore-channel digunakan.
Contoh:
npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3Opsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| -b | string | Nomor versi bundle aplikasi yang akan dihapus |
| -a | string | key API untuk menautkan ke akun Anda |
| -k | string | Jumlah versi yang disimpan |
| -f | boolean | Hapus paksa |
| —ignore-channel | boolean | Hapus bundle meskipun terhubung ke channel (PERINGATAN: channel juga akan dihapus) |
| —supa-host | string | URL host Supabase kustom (untuk self-hosting atau pengembangan Capgo) |
| —supa-anon | string | Anon key Supabase kustom (untuk self-hosting) |
🔒 Enkripsi
Bagian berjudul “ 🔒 Enkripsi”npx @capgo/cli@latest bundle encrypt🔒 Enkripsi bundle zip untuk penyimpanan eksternal yang aman. Mengembalikan ivSessionKey untuk upload/dekripsi. Dapatkan checksum menggunakan ‘bundle zip —json’.
Contoh:
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUMOpsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| —key | string | Path kustom untuk private signing key |
| —key-data | string | Kunci penandatanganan privat |
| -j | boolean | Output dalam JSON |
| —package-json | string | Path ke file package.json untuk monorepo (pisahkan dengan koma) |
🔓 Dekripsi
Bagian berjudul “ 🔓 Decrypt”npx @capgo/cli@latest bundle decrypt🔓 Dekripsi bundle yang terenkripsi (terutama untuk testing). Menampilkan base64 session key untuk verifikasi.
Contoh:
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUMOpsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| —key | string | Path kustom untuk private signing key |
| —key-data | string | Kunci penandatanganan privat |
| —checksum | string | Checksum bundle untuk memverifikasi integritas bundle |
| —package-json | string | Path ke file package.json untuk monorepo (pisahkan dengan koma) |
npx @capgo/cli@latest bundle zip🗜️ Buat file zip dari app bundle Anda. Mengembalikan checksum untuk digunakan dengan enkripsi. Gunakan —json untuk output yang dapat dibaca mesin.
Contoh:
npx @capgo/cli@latest bundle zip com.example.app --path ./distOpsi:
| Parameter | Tipe | Deskripsi |
|---|---|---|
| -p | string | Path folder yang akan di-upload; jika tidak diberikan, akan menggunakan webDir yang di-set di capacitor.config |
| -b | string | Nomor versi bundle untuk penamaan file zip |
| -n | string | Name of the zip file |
| -j | boolean | Output dalam JSON |
| —no-code-check | boolean | Abaikan pengecekan apakah notifyAppReady() dipanggil di source code dan index ada di root folder |
| —key-v2 | boolean | Gunakan enkripsi v2 |
| —package-json | string | Path ke file package.json untuk monorepo (pisahkan dengan koma) |