Langsung ke konten

📦 bundle

📦 Kelola bundle aplikasi untuk deployment di Capgo Cloud, termasuk upload, pemeriksaan kompatibilitas, dan enkripsi.

Alias: u

Jendela terminal
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:

Jendela terminal
npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,beta

Auto-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:

Jendela terminal
npx @capgo/cli@latest bundle upload --channel=production --auto-bump
npx @capgo/cli@latest bundle upload --auto-bump major
npx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no value
npx @capgo/cli@latest bundle upload --auto-bump patch # alias: fix
npx @capgo/cli@latest bundle upload --auto-bump metadata
npx @capgo/cli@latest bundle upload --channel=production --auto-bump ai

Dengan --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:

ParameterTipeDeskripsi
-astringkey API untuk menautkan ke akun Anda
-pstringPath folder yang akan di-upload; jika tidak diberikan, akan menggunakan webDir yang di-set di capacitor.config
-cstringChannel yang akan dihubungkan. Gunakan koma untuk beberapa channel, misalnya production,beta
—rolloutstringJadikan bundle yang di-upload sebagai target rollout channel ini dengan persentase 0 hingga 100
—stablebooleanPada channel dengan konfigurasi rollout, ganti fallback stable alih-alih mengatur target rollout
—rollout-percentage-bpsstringAtur persentase rollout bundle yang di-upload dalam basis points dari 0 hingga 10000
—rollout-cache-ttl-secondsstringTTL cache keputusan rollout Cloudflare dalam detik
-estringTautkan ke URL eksternal alih-alih upload ke Capgo Cloud
—iv-session-keystringAtur IV dan session key untuk URL bundle eksternal
—s3-regionstringRegion untuk bucket S3 Anda
—s3-apikeystringAPI key untuk endpoint S3 Anda
—s3-apisecretstringAPI secret untuk endpoint S3 Anda
—s3-endpointstringURL endpoint S3
—s3-bucket-namestringNama bucket AWS S3 Anda
—s3-portstringPort untuk endpoint S3 Anda
—no-s3-sslbooleanNonaktifkan SSL untuk upload S3
—key-v2stringPath kustom untuk private signing key (sistem v2)
—key-data-v2stringPrivate signing key (sistem v2)
—bundle-urlbooleanMencetak bundle URL ke stdout
—no-keybooleanAbaikan signing key dan kirim update tanpa enkripsi
—no-code-checkbooleanAbaikan pengecekan apakah notifyAppReady() dipanggil di source code dan index ada di root folder
—display-iv-sessionbooleanTampilkan IV dan session key yang dipakai untuk enkripsi update di konsol
-bstringNomor versi bundle yang akan di-upload
—auto-bumpstringAuto-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)
—linkstringTautkan ke resource eksternal (misal: GitHub release)
—commentstringKomentar tentang versi ini, bisa berupa release note, commit hash, commit message, dll.
—min-update-versionstringVersi minimal yang diperlukan untuk memperbarui ke versi ini. Hanya digunakan jika disable auto update diset ke metadata di channel
—auto-min-update-versionbooleanSet min update version berdasarkan native packages
—ignore-metadata-checkbooleanMengabaikan pemeriksaan metadata (node_modules) saat upload
—fail-on-incompatiblebooleanGagal 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-checkbooleanMengabaikan pemeriksaan checksum saat upload
—force-crc32-checksumbooleanPaksa checksum CRC32 untuk upload (timpa deteksi otomatis)
—timeoutstringTimeout proses upload dalam detik
—multipartboolean[DEPRECATED] Gunakan —tus sebagai gantinya. Menggunakan protokol multipart untuk upload S3
—zipbooleanUpload bundle menggunakan zip ke cloud Capgo (legacy)
—tusbooleanUpload bundle menggunakan TUS ke cloud Capgo
—tus-chunk-sizestringUkuran chunk dalam byte untuk upload resumable TUS (default: auto)
—partialboolean[DEPRECATED] Gunakan —delta. Upload update inkremental
—partial-onlyboolean[DEPRECATED] Gunakan —delta-only. Upload hanya update inkremental, lewati full bundle
—deltabooleanUpload delta updates (hanya file yang berubah) untuk update instan dan super cepat, bukan download zip besar
—delta-onlybooleanUpload hanya delta updates tanpa full bundle untuk kecepatan maksimal (berguna untuk aplikasi besar)
—no-deltabooleanNonaktifkan delta updates meskipun instant updates diaktifkan
—encrypted-checksumstringChecksum terenkripsi (signature). Hanya digunakan saat mengunggah bundle eksternal.
—auto-set-bundlebooleanAtur bundle di capacitor.config.json
—dry-uploadbooleanSimulasi proses upload bundle: tambahkan baris di database tanpa upload file atau update channel (Dipakai Capgo untuk testing internal)
—package-jsonstringPath ke file package.json untuk monorepo (pisahkan dengan koma)
—node-modulesstringPath ke direktori node_modules untuk monorepo (pisahkan dengan koma)
—encrypt-partialbooleanEnkripsi file delta update (otomatis aktif untuk updater > 6.14.4)
—delete-linked-bundle-on-uploadbooleanMencari bundle yang saat ini terhubung di channel tujuan upload, lalu menghapusnya
—no-brotli-patternsstringFile yang dikecualikan dari kompresi Brotli (globs dipisahkan koma, mis., “.jpg,.png”)
—disable-brotlibooleanMatikan kompresi brotli sepenuhnya meskipun versi updater mendukungnya
—version-exists-okbooleanBerhenti dengan sukses jika versi bundle sudah ada, berguna untuk workflow CI/CD dengan monorepo
—self-assignbooleanIzinkan perangkat bergabung otomatis ke channel ini (mengubah pengaturan channel)
—qr-previewbooleanCetak QR terminal code untuk pratinjau bundle ini setelah upload
—send-update-notificationbooleanKirim notifikasi pemeriksaan update native ke perangkat setelah memperbarui bundle channel terkait
—supa-hoststringURL host Supabase kustom (untuk self-hosting atau pengembangan Capgo)
—supa-anonstringAnon key Supabase kustom (untuk self-hosting)
—verbosebooleanAktifkan output verbose dengan logging mendetail
Jendela terminal
npx @capgo/cli@latest bundle compatibility

🧪 Cek kompatibilitas bundle dengan channel tertentu di Capgo Cloud untuk memastikan update aman.

Contoh:

Jendela terminal
npx @capgo/cli@latest bundle compatibility com.example.app --channel production

Opsi:

ParameterTipeDeskripsi
-astringkey API untuk menautkan ke akun Anda
-cstringChannel untuk memeriksa kompatibilitas dengan
—textbooleanTampilkan teks, bukan emoji
—package-jsonstringPath ke file package.json untuk monorepo (pisahkan dengan koma)
—node-modulesstringPath ke direktori node_modules untuk monorepo (pisahkan dengan koma)
—supa-hoststringURL host Supabase kustom (untuk self-hosting atau pengembangan Capgo)
—supa-anonstringAnon key Supabase kustom (untuk self-hosting)
Jendela terminal
npx @capgo/cli@latest bundle releaseType

🧭 Cetak “native” atau “OTA” berdasarkan kompatibilitas dengan metadata terbaru channel.

Contoh:

Jendela terminal
npx @capgo/cli@latest bundle releaseType com.example.app --channel production

Opsi:

ParameterTipeDeskripsi
-astringkey API untuk menautkan ke akun Anda
-cstringChannel untuk dibandingkan
—package-jsonstringPath ke file package.json untuk monorepo (pisahkan dengan koma)
—node-modulesstringPath ke direktori node_modules untuk monorepo (pisahkan dengan koma)
—supa-hoststringURL host Supabase kustom (untuk self-hosting atau pengembangan Capgo)
—supa-anonstringAnon key Supabase kustom (untuk self-hosting)

Alias: d

Jendela terminal
npx @capgo/cli@latest bundle delete

🗑️ Hapus bundle tertentu dari Capgo Cloud, dengan opsi menargetkan satu versi tertentu.

Contoh:

Jendela terminal
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app

Opsi:

ParameterTipeDeskripsi
-astringkey API untuk menautkan ke akun Anda
—supa-hoststringURL host Supabase kustom (untuk self-hosting atau pengembangan Capgo)
—supa-anonstringAnon key Supabase kustom (untuk self-hosting)

Alias: l

Jendela terminal
npx @capgo/cli@latest bundle list

📋 Daftar semua bundle yang diunggah untuk aplikasi di Capgo Cloud.

Contoh:

Jendela terminal
npx @capgo/cli@latest bundle list com.example.app

Opsi:

ParameterTipeDeskripsi
-astringkey API untuk menautkan ke akun Anda
—supa-hoststringURL host Supabase kustom (untuk self-hosting atau pengembangan Capgo)
—supa-anonstringAnon key Supabase kustom (untuk self-hosting)

Alias: c

Jendela terminal
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:

Jendela terminal
npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3

Opsi:

ParameterTipeDeskripsi
-bstringNomor versi bundle aplikasi yang akan dihapus
-astringkey API untuk menautkan ke akun Anda
-kstringJumlah versi yang disimpan
-fbooleanHapus paksa
—ignore-channelbooleanHapus bundle meskipun terhubung ke channel (PERINGATAN: channel juga akan dihapus)
—supa-hoststringURL host Supabase kustom (untuk self-hosting atau pengembangan Capgo)
—supa-anonstringAnon key Supabase kustom (untuk self-hosting)
Jendela terminal
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:

Jendela terminal
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM

Opsi:

ParameterTipeDeskripsi
—keystringPath kustom untuk private signing key
—key-datastringKunci penandatanganan privat
-jbooleanOutput dalam JSON
—package-jsonstringPath ke file package.json untuk monorepo (pisahkan dengan koma)
Jendela terminal
npx @capgo/cli@latest bundle decrypt

🔓 Dekripsi bundle yang terenkripsi (terutama untuk testing). Menampilkan base64 session key untuk verifikasi.

Contoh:

Jendela terminal
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM

Opsi:

ParameterTipeDeskripsi
—keystringPath kustom untuk private signing key
—key-datastringKunci penandatanganan privat
—checksumstringChecksum bundle untuk memverifikasi integritas bundle
—package-jsonstringPath ke file package.json untuk monorepo (pisahkan dengan koma)
Jendela terminal
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:

Jendela terminal
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

Opsi:

ParameterTipeDeskripsi
-pstringPath folder yang akan di-upload; jika tidak diberikan, akan menggunakan webDir yang di-set di capacitor.config
-bstringNomor versi bundle untuk penamaan file zip
-nstringName of the zip file
-jbooleanOutput dalam JSON
—no-code-checkbooleanAbaikan pengecekan apakah notifyAppReady() dipanggil di source code dan index ada di root folder
—key-v2booleanGunakan enkripsi v2
—package-jsonstringPath ke file package.json untuk monorepo (pisahkan dengan koma)