📦 bundle
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
📦 Gestisci i bundle dell'app per il deployment su Capgo Cloud, inclusi upload, controlli di compatibilità e crittografia.
⬆️ Upload
Sezione intitolata “ ⬆️ Upload”Alias: u
npx @capgo/cli@latest bundle upload⬆️ Carica un nuovo bundle app su Capgo Cloud per la distribuzione. La versione deve essere > 0.0.0 e univoca. Per sicurezza, le versioni eliminate non possono essere riutilizzate. Opzione esterna: salva solo un link URL (utile per app >200MB o requisiti di privacy). Capgo non ispeziona mai i contenuti esterni. Aggiungi la crittografia per una sicurezza trustless.
Esempio:
npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,betaIncrementa automaticamente il prossimo semver disponibile dal canale (o l'ultima versione remota dell'app) quando non viene passato --bundle. Utile in CI quando package.json corrisponde già a una versione presente su 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 aiCon --auto-bump ai, Capgo Cloudflare Workers AI confronta i file del bundle locale con il manifest delta della precedente Capgo/channel, deduce major | minor | patch | metadata, e stampa una breve motivazione nel log CLI. Se non esiste una versione Capgo precedente, l'AI viene saltata e il bump predefinito è patch.
Opzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | chiave API per collegarti al tuo account |
| -p | string | Percorso della cartella da caricare; se non specificato, userà il webDir impostato in capacitor.config |
| -c | string | Canale da collegare. Usa le virgole per più canali, ad esempio production,beta |
| —rollout | string | Imposta il bundle caricato come target di rollout di questo canale a una percentuale da 0 a 100 |
| —stable | boolean | Su un canale con rollout configurato, sostituisce il fallback stable invece di impostare il target di rollout |
| —rollout-percentage-bps | string | Imposta la percentuale di rollout del bundle caricato in punti base da 0 a 10000 |
| —rollout-cache-ttl-seconds | string | TTL della cache delle decisioni di rollout di Cloudflare in secondi |
| -e | string | Collega un URL esterno invece di caricare su Capgo Cloud |
| —iv-session-key | string | Imposta l'IV e la session key per l'URL esterno del bundle |
| —s3-region | string | Regione per il tuo bucket S3 |
| —s3-apikey | string | Chiave API per il tuo endpoint S3 |
| —s3-apisecret | string | Secret API per il tuo endpoint S3 |
| —s3-endpoint | string | URL dell'endpoint S3 |
| —s3-bucket-name | string | Nome del tuo bucket AWS S3 |
| —s3-port | string | Porta per il tuo endpoint S3 |
| —no-s3-ssl | boolean | Disabilita SSL per l'upload su S3 |
| —key-v2 | string | Percorso personalizzato per la chiave di firma privata (sistema v2) |
| —key-data-v2 | string | Chiave di firma privata (sistema v2) |
| —bundle-url | boolean | Stampa l'URL del bundle su stdout |
| —no-key | boolean | Ignora la chiave di firma e invia l'update non criptato |
| —no-code-check | boolean | Ignora il controllo su notifyAppReady() nel codice code e sulla presenza di index nella root folder |
| —display-iv-session | boolean | Mostra in console l'IV e la session key usati per criptare l'update |
| -b | string | Numero di versione del bundle da uploadare |
| —auto-bump | string | Incrementa automaticamente dal bundle collegato al canale, o dall'ultima versione remota dell'app. Livelli: major, minor (default), patch (alias fix), metadata, o ai (Workers AI deduce il livello dal delta tra manifest locale e precedente; se non c'è una versione Capgo precedente, usa patch). Incrementa finché non trova un nome libero (i nomi eliminati restano occupati). Non combinabile con —bundle (-b) |
| —link | string | Collega a una risorsa esterna (es. release di GitHub) |
| —comment | string | Commento su questa versione: può essere una release note, un commit hash, un messaggio di commit, ecc. |
| —min-update-version | string | Versione minima richiesta per aggiornare a questa versione. Usata solo se l'auto-update è impostato su metadata nel canale. |
| —auto-min-update-version | boolean | Imposta la versione minima di aggiornamento basandosi sui pacchetti nativi. |
| —ignore-metadata-check | boolean | Ignora il controllo dei metadati (node_modules) durante l'upload. |
| —fail-on-incompatible | boolean | Interrompe l'upload (exit non-zero) se il bundle è incompatibile con i pacchetti nativi attuali del canale. In un terminale interattivo puoi comunque scegliere un Native Build; rifiutando, l'operazione fallisce. Non combinabile con —ignore-metadata-check. |
| —ignore-checksum-check | boolean | Ignora il controllo del checksum durante l'upload. |
| —force-crc32-checksum | boolean | Forza il checksum CRC32 per l'upload (ignora l'auto-rilevamento) |
| —timeout | string | Timeout per il processo di upload in secondi |
| —multipart | boolean | [DEPRECATED] Usa —tus. Utilizza il protocollo multipart per gli upload su S3 |
| —zip | boolean | Carica il bundle via zip sul cloud Capgo (legacy) |
| —tus | boolean | Carica il bundle tramite TUS sul cloud Capgo |
| —tus-chunk-size | string | Dimensione chunk in byte per gli upload TUS riprendibili (default: auto) |
| —partial | boolean | [DEPRECATED] Usa —delta invece. Carica aggiornamenti incrementali |
| —partial-only | boolean | [DEPRECATED] Usa —delta-only invece. Carica solo aggiornamenti incrementali, salta il bundle completo |
| —delta | boolean | Carica aggiornamenti delta (solo file modificati) per update istantanei e velocissimi invece di pesanti download zip |
| —delta-only | boolean | Carica solo aggiornamenti delta senza il bundle completo per la massima velocità (utile per app grandi) |
| —no-delta | boolean | Disabilita gli aggiornamenti delta anche se gli update istantanei sono attivi |
| —encrypted-checksum | string | Un checksum crittografato (firma). Usato solo quando si carica un bundle esterno. |
| —auto-set-bundle | boolean | Imposta il bundle in capacitor.config.json |
| —dry-upload | boolean | Simula l'upload del bundle: aggiunge la riga nel database senza caricare file o aggiornare i channel (usato da Capgo per test interni) |
| —package-json | string | Percorsi dei file package.json per monorepo (separati da virgola) |
| —node-modules | string | Percorsi delle directory node_modules per monorepo (separati da virgola) |
| —encrypt-partial | boolean | Cripta i file dell'update delta (abilitato automaticamente per updater > 6.14.4) |
| —delete-linked-bundle-on-upload | boolean | Individua il bundle attualmente collegato al canale di upload e lo elimina |
| —no-brotli-patterns | string | File da escludere dalla compressione Brotli (glob separati da virgola, es: “.jpg,.png”) |
| —disable-brotli | boolean | Disabilita completamente la compressione Brotli anche se la versione dell'updater la supporta |
| —version-exists-ok | boolean | Termina con successo se la versione del bundle esiste già, utile per workflow CI/CD con monorepo |
| —self-assign | boolean | Allow devices to auto-join this channel (updates channel setting) |
| —qr-preview | boolean | Stampa un QR code nel terminale per l'anteprima di questo bundle dopo l'upload |
| —send-update-notification | boolean | Invia una notifica nativa di controllo aggiornamenti ai dispositivi dopo aver aggiornato i bundle del canale collegato |
| —supa-host | string | URL host Supabase personalizzato (per self-hosting o sviluppo Capgo) |
| —supa-anon | string | Chiave anon Supabase personalizzata (per self-hosting) |
| —verbose | boolean | Abilita l'output verbose con log dettagliati |
🧪 Compatibilità
Sezione intitolata “ 🧪 Compatibilità”npx @capgo/cli@latest bundle compatibility🧪 Verifica la compatibilità di un bundle con un canale specifico in Capgo Cloud per garantire aggiornamenti sicuri.
Esempio:
npx @capgo/cli@latest bundle compatibility com.example.app --channel productionOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | chiave API per collegarti al tuo account |
| -c | string | Canale per il controllo della compatibilità |
| —text | boolean | Mostra testo invece delle emoji |
| —package-json | string | Percorsi dei file package.json per monorepo (separati da virgola) |
| —node-modules | string | Percorsi delle directory node_modules per monorepo (separati da virgola) |
| —supa-host | string | URL host Supabase personalizzato (per self-hosting o sviluppo Capgo) |
| —supa-anon | string | Chiave anon Supabase personalizzata (per self-hosting) |
🔹 ReleaseType
Sezione intitolata “ 🔹 ReleaseType”npx @capgo/cli@latest bundle releaseType🧭 Stampa “native” o “OTA” in base alla compatibilità con gli ultimi metadati del canale.
Esempio:
npx @capgo/cli@latest bundle releaseType com.example.app --channel productionOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | chiave API per collegarti al tuo account |
| -c | string | Canale di confronto |
| —package-json | string | Percorsi dei file package.json per monorepo (separati da virgola) |
| —node-modules | string | Percorsi delle directory node_modules per monorepo (separati da virgola) |
| —supa-host | string | URL host Supabase personalizzato (per self-hosting o sviluppo Capgo) |
| —supa-anon | string | Chiave anon Supabase personalizzata (per self-hosting) |
🗑️ Elimina
Sezione intitolata “ 🗑️ Elimina”Alias: d
npx @capgo/cli@latest bundle delete🗑️ Elimina un bundle specifico da Capgo Cloud, opzionalmente selezionando una singola versione.
Esempio:
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.appOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | chiave API per collegarti al tuo account |
| —supa-host | string | URL host Supabase personalizzato (per self-hosting o sviluppo Capgo) |
| —supa-anon | string | Chiave anon Supabase personalizzata (per self-hosting) |
📋 Elenco
Sezione intitolata “ 📋 Elenco”Alias: l
npx @capgo/cli@latest bundle list📋 Elenca tutti i bundle caricati per un'app in Capgo Cloud.
Esempio:
npx @capgo/cli@latest bundle list com.example.appOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | chiave API per collegarti al tuo account |
| —supa-host | string | URL host Supabase personalizzato (per self-hosting o sviluppo Capgo) |
| —supa-anon | string | Chiave anon Supabase personalizzata (per self-hosting) |
🧹 Cleanup
Sezione intitolata “ 🧹 Cleanup”Alias: c
npx @capgo/cli@latest bundle cleanup🧹 Elimina i vecchi bundle su Capgo Cloud, mantenendo un numero specifico di versioni recenti. I bundle collegati ai canali vengono preservati, a meno che non venga usato —ignore-channel.
Esempio:
npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3Opzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -b | string | Numero di versione del bundle dell'app da eliminare |
| -a | string | chiave API per collegarti al tuo account |
| -k | string | Numero di versioni da mantenere |
| -f | boolean | Rimozione forzata |
| —ignore-channel | boolean | Elimina i bundle anche se collegati ai channel (ATTENZIONE: elimina anche i channel) |
| —supa-host | string | URL host Supabase personalizzato (per self-hosting o sviluppo Capgo) |
| —supa-anon | string | Chiave anon Supabase personalizzata (per self-hosting) |
🔒 Encrypt
Sezione intitolata “ 🔒 Encrypt”npx @capgo/cli@latest bundle encrypt🔒 Crittografa un bundle zip per l'archiviazione esterna sicura. Restituisce ivSessionKey per l'upload/decifratura. Ottieni il checksum con ‘bundle zip —json’.
Esempio:
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUMOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| —key | string | Custom path for private signing key |
| —key-data | string | Chiave di firma privata |
| -j | boolean | Output in formato JSON |
| —package-json | string | Percorsi dei file package.json per monorepo (separati da virgola) |
🔓 Decripta
Sezione: “ 🔓 Decrypt”npx @capgo/cli@latest bundle decrypt🔓 Decripta un bundle criptato (principalmente per test). Stampa la session key in base64 per la verifica.
Esempio:
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUMOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| —key | string | Custom path for private signing key |
| —key-data | string | Chiave di firma privata |
| —checksum | string | Checksum del bundle, per verificarne l'integrità |
| —package-json | string | Percorsi dei file package.json per monorepo (separati da virgola) |
npx @capgo/cli@latest bundle zip🗜️ Crea un file zip del tuo bundle dell'app.\nRestituisce il checksum per la crittografia. Usa —json per un output leggibile dalle macchine.
Esempio:
npx @capgo/cli@latest bundle zip com.example.app --path ./distOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -p | string | Percorso della cartella da caricare; se non specificato, userà il webDir impostato in capacitor.config |
| -b | string | Numero di versione del bundle per nominare lo zip |
| -n | string | Nome del file zip |
| -j | boolean | Output in JSON |
| —no-code-check | boolean | Ignora il controllo su notifyAppReady() nel codice code e sulla presenza di index nella root |
| —key-v2 | boolean | Usa la crittografia v2 |
| —package-json | string | Percorsi dei file package.json per monorepo (separati da virgola) |