Vai al contenuto

📦 bundle

📦 Gestisci i bundle dell'app per il deployment su Capgo Cloud, inclusi upload, controlli di compatibilità e crittografia.

Alias: u

Finestra del terminale
npx @capgo/cli@latest bundle upload

⬆️ Carica un nuovo bundle dell'app su Capgo Cloud per la distribuzione. La versione deve essere > 0.0.0 e univoca. Le versioni eliminate non possono essere riutilizzate per motivi di sicurezza. Opzione External: salva solo un link URL (utile per app >200MB o per requisiti di privacy). Capgo non ispeziona mai il contenuto esterno. Aggiungi la crittografia per una sicurezza senza fiducia.

Esempio:

Finestra del terminale
npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,beta

Incrementa automaticamente la prossima versione semver libera dal canale (o dall'ultima versione remota dell'app) se non specifichi --bundle. Utile in CI quando package.json corrisponde già a una versione presente in Capgo:

Finestra del terminale
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

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

ParametroTipoDescrizione
-astringchiave API per collegarti al tuo account
-pstringPercorso della cartella da caricare; se non specificato, userà il webDir impostato in capacitor.config
-cstringCanale da collegare. Usa le virgole per più canali, ad esempio production,beta
—rolloutstringImposta il bundle caricato come target di rollout di questo canale a una percentuale da 0 a 100
—stablebooleanSu un canale con rollout configurato, sostituisce il fallback stable invece di impostare il target di rollout
—rollout-percentage-bpsstringImposta la percentuale di rollout del bundle caricato in punti base da 0 a 10000
—rollout-cache-ttl-secondsstringTTL della cache delle decisioni di rollout di Cloudflare in secondi
-estringCollega a un URL esterno invece di caricare su Capgo Cloud
—iv-session-keystringImposta l'IV e la session key per l'URL esterno del bundle
—s3-regionstringRegione per il tuo bucket S3
—s3-apikeystringChiave API per il tuo endpoint S3
—s3-apisecretstringSecret API per il tuo endpoint S3
—s3-endpointstringURL dell'endpoint S3
—s3-bucket-namestringNome del bucket AWS S3
—s3-portstringPorta per il tuo endpoint S3
—no-s3-sslbooleanDisabilita SSL per l'upload S3
—key-v2stringPercorso personalizzato per la chiave di firma privata (sistema v2)
—key-data-v2stringChiave di firma privata (sistema v2)
—bundle-urlbooleanStampa l'URL del bundle su stdout
—no-keybooleanIgnora la chiave di firma e invia l'update in chiaro
—no-code-checkbooleanIgnora il controllo che notifyAppReady() sia chiamato nel sorgente code e che index sia nella cartella root
—display-iv-sessionbooleanMostra in console l'IV e la session key usati per criptare l'update
-bstringNumero di versione del bundle da caricare
—auto-bumpstringIncrementa 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 manifest delta locale rispetto al precedente; ricade su patch se non c'è una versione Capgo precedente). Incrementa finché non trova un nome libero (i nomi eliminati restano occupati). Non combinabile con —bundle (-b)
—linkstringCollega a una risorsa esterna (es. release di GitHub)
—commentstringCommento su questa versione, può essere una release note, un hash di commit, un messaggio di commit, ecc.
—min-update-versionstringVersione minima richiesta per aggiornare a questa versione. Usata solo se disable auto update è impostato su metadata nel channel
—auto-min-update-versionbooleanImposta la min update version in base ai pacchetti nativi
—ignore-metadata-checkbooleanIgnora il controllo dei metadata (node_modules) durante l'upload
—fail-on-incompatiblebooleanFallisce l'upload (exit non-zero) invece di caricare quando il bundle non è compatibile con i pacchetti nativi correnti del channel. In un terminale interattivo puoi comunque scegliere un native build; rifiutare causa il fallimento. Non può essere combinato con —ignore-metadata-check.
—ignore-checksum-checkbooleanIgnora il controllo del checksum durante l'upload
—force-crc32-checksumbooleanForza il checksum CRC32 per l'upload (sovrascrive il rilevamento automatico)
—timeoutstringTimeout del processo di upload in secondi
—multipartboolean[DEPRECATED] Usa —tus invece. Utilizza il protocollo multipart per gli upload S3
—zipbooleanCarica il bundle usando zip su Capgo cloud (legacy)
—tusbooleanCarica il bundle usando TUS su Capgo cloud
—tus-chunk-sizestringDimensione del chunk in byte per gli upload riprendibili TUS (predefinito: auto)
—partialboolean[DEPRECATO] Usa —delta invece. Carica aggiornamenti incrementali
—partial-onlyboolean[DEPRECATO] Usa —delta-only invece. Carica solo aggiornamenti incrementali, salta il bundle completo
—deltabooleanCarica aggiornamenti delta (solo file modificati) per aggiornamenti istantanei e velocissimi, al posto di grandi download zip
—delta-onlybooleanCarica solo aggiornamenti delta senza bundle completo per la massima velocità (utile per app grandi)
—no-deltabooleanDisable delta updates even if instant updates are enabled
—encrypted-checksumstringUn checksum crittografato (firma). Usato solo quando si carica un bundle esterno.
—auto-set-bundlebooleanImposta il bundle in capacitor.config.json
—dry-uploadbooleanEsegue il dry upload del bundle: aggiunge la riga nel database senza caricare file né aggiornare i channel (usato da Capgo per test interni)
—package-jsonstringPercorsi dei file package.json per i monorepo (separati da virgola)
—node-modulesstringPercorsi delle directory node_modules per i monorepo (separati da virgola)
—encrypt-partialbooleanCripta i file degli aggiornamenti delta (abilitato automaticamente per updater > 6.14.4)
—delete-linked-bundle-on-uploadbooleanIndividua il bundle attualmente collegato al channel in cui stai cercando di fare upload e lo elimina
—no-brotli-patternsstringFile da escludere dalla compressione Brotli (glob separati da virgola, es: “.jpg,.png”)
—disable-brotlibooleanDisabilita completamente la compressione Brotli anche se la versione dell'updater la supporta
—version-exists-okbooleanTermina con successo se la versione del bundle esiste già, utile per workflow CI/CD con monorepo
—self-assignbooleanConsenti ai dispositivi di unirsi automaticamente al channel (aggiorna l'impostazione)
—qr-previewbooleanStampa un QR code nel terminale per l'anteprima di questo bundle dopo l'upload
—send-update-notificationbooleanInvia una notifica nativa di controllo aggiornamenti ai dispositivi dopo aver aggiornato i bundle dei canali collegati
—supa-hoststringURL host Supabase personalizzato (per self-hosting o sviluppo Capgo)
—supa-anonstringChiave anon Supabase personalizzata (per self-hosting)
—verbosebooleanAttiva l'output verbose con log dettagliati
Finestra del terminale
npx @capgo/cli@latest bundle compatibility

🧪 Verifica la compatibilità di un bundle con un canale specifico in Capgo Cloud per garantire aggiornamenti sicuri.

Esempio:

Finestra del terminale
npx @capgo/cli@latest bundle compatibility com.example.app --channel production

Opzioni:

ParametroTipoDescrizione
-astringchiave API per collegarti al tuo account
-cstringCanale per verificare la compatibilità
—textbooleanOutputta testo invece di emoji
—package-jsonstringPercorsi dei file package.json per i monorepo (separati da virgola)
—node-modulesstringPercorsi delle directory node_modules per i monorepo (separati da virgola)
—supa-hoststringURL host Supabase personalizzato (per self-hosting o sviluppo Capgo)
—supa-anonstringChiave anon Supabase personalizzata (per self-hosting)
Finestra del terminale
npx @capgo/cli@latest bundle releaseType

🧭 Stampa “native” o “OTA” in base alla compatibilità con gli ultimi metadati di un canale.

Esempio:

Finestra del terminale
npx @capgo/cli@latest bundle releaseType com.example.app --channel production

Opzioni:

ParametroTipoDescrizione
-astringchiave API per collegarti al tuo account
-cstringCanale da confrontare
—package-jsonstringPercorsi dei file package.json per i monorepo (separati da virgola)
—node-modulesstringPercorsi delle directory node_modules per i monorepo (separati da virgola)
—supa-hoststringURL host Supabase personalizzato (per self-hosting o sviluppo Capgo)
—supa-anonstringChiave anon Supabase personalizzata (per self-hosting)

Alias: d

Finestra del terminale
npx @capgo/cli@latest bundle delete

🗑️ Elimina un bundle specifico da Capgo Cloud, opzionalmente per una singola versione.

Esempio:

Finestra del terminale
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app

Opzioni:

ParametroTipoDescrizione
-astringchiave API per collegarti al tuo account
—supa-hoststringURL host Supabase personalizzato (per self-hosting o sviluppo Capgo)
—supa-anonstringChiave anon Supabase personalizzata (per self-hosting)

Alias: l

Finestra del terminale
npx @capgo/cli@latest bundle list

📋 Elenca tutti i bundle caricati per un'app su Capgo Cloud.

Esempio:

Finestra del terminale
npx @capgo/cli@latest bundle list com.example.app

Opzioni:

ParametroTipoDescrizione
-astringchiave API per collegarti al tuo account
—supa-hoststringURL host Supabase personalizzato (per self-hosting o sviluppo Capgo)
—supa-anonstringChiave anon Supabase personalizzata (per self-hosting)

Alias: c

Finestra del terminale
npx @capgo/cli@latest bundle cleanup

🧹 Elimina i vecchi bundle in Capgo Cloud, mantenendo un numero specifico di versioni recenti. I bundle collegati ai canali vengono preservati, a meno che non si usi —ignore-channel.

Esempio:

Finestra del terminale
npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3

Opzioni:

ParametroTipoDescrizione
-bstringNumero di versione del bundle dell'app da eliminare
-astringchiave API per collegarti al tuo account
-kstringNumero di versioni da mantenere
-fbooleanForza la rimozione
—ignore-channelbooleanElimina i bundle anche se collegati a canali (ATTENZIONE: elimina anche i canali)
—supa-hoststringURL host Supabase personalizzato (per self-hosting o sviluppo Capgo)
—supa-anonstringChiave anon Supabase personalizzata (per self-hosting)
Finestra del terminale
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:

Finestra del terminale
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM

Opzioni:

ParametroTipoDescrizione
—keystringPercorso personalizzato per la chiave di firma
—key-datastringChiave di firma privata
-jbooleanOutput in formato JSON
—package-jsonstringPercorsi dei file package.json per i monorepo (separati da virgola)
Finestra del terminale
npx @capgo/cli@latest bundle decrypt

🔓 Decrypt di un bundle cifrato (principalmente per test). Stampa la chiave di sessione base64 per verifica.

Esempio:

Finestra del terminale
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM

Opzioni:

ParametroTipoDescrizione
—keystringPercorso personalizzato per la chiave di firma
—key-datastringChiave di firma privata
—checksumstringChecksum del bundle, per verificarne l'integrità
—package-jsonstringPercorsi dei file package.json per i monorepo (separati da virgola)
Finestra del terminale
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:

Finestra del terminale
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

Opzioni:

ParametroTipoDescrizione
-pstringPercorso della cartella da caricare; se non specificato, userà il webDir impostato in capacitor.config
-bstringNumero di versione del bundle per nominare lo zip
-nstringNome del file zip
-jbooleanOutput in formato JSON
—no-code-checkbooleanIgnora il controllo che notifyAppReady() sia chiamato nel sorgente code e che index sia nella cartella root
—key-v2booleanUsa la crittografia v2
—package-jsonstringPercorsi dei file package.json per i monorepo (separati da virgola)