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

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

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

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 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 tuo bucket AWS S3
—s3-portstringPorta per il tuo endpoint S3
—no-s3-sslbooleanDisabilita SSL per l'upload su 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 non criptato
—no-code-checkbooleanIgnora il controllo su notifyAppReady() nel codice code e sulla presenza di index nella root folder
—display-iv-sessionbooleanMostra in console l'IV e la session key usati per criptare l'update
-bstringNumero di versione del bundle da uploadare
—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 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)
—linkstringCollega a una risorsa esterna (es. release di GitHub)
—commentstringCommento su questa versione: può essere una release note, un commit hash, un messaggio di commit, ecc.
—min-update-versionstringVersione minima richiesta per aggiornare a questa versione. Usata solo se l'auto-update è impostato su metadata nel canale.
—auto-min-update-versionbooleanImposta la versione minima di aggiornamento basandosi sui pacchetti nativi.
—ignore-metadata-checkbooleanIgnora il controllo dei metadati (node_modules) durante l'upload.
—fail-on-incompatiblebooleanInterrompe 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-checkbooleanIgnora il controllo del checksum durante l'upload.
—force-crc32-checksumbooleanForza il checksum CRC32 per l'upload (ignora l'auto-rilevamento)
—timeoutstringTimeout per il processo di upload in secondi
—multipartboolean[DEPRECATED] Usa —tus. Utilizza il protocollo multipart per gli upload su S3
—zipbooleanCarica il bundle via zip sul cloud Capgo (legacy)
—tusbooleanCarica il bundle tramite TUS sul cloud Capgo
—tus-chunk-sizestringDimensione chunk in byte per gli upload TUS riprendibili (default: auto)
—partialboolean[DEPRECATED] Usa —delta invece. Carica aggiornamenti incrementali
—partial-onlyboolean[DEPRECATED] Usa —delta-only invece. Carica solo aggiornamenti incrementali, salta il bundle completo
—deltabooleanCarica aggiornamenti delta (solo file modificati) per update istantanei e velocissimi invece di pesanti download zip
—delta-onlybooleanCarica solo aggiornamenti delta senza il bundle completo per la massima velocità (utile per app grandi)
—no-deltabooleanDisabilita gli aggiornamenti delta anche se gli update istantanei sono attivi
—encrypted-checksumstringUn checksum crittografato (firma). Usato solo quando si carica un bundle esterno.
—auto-set-bundlebooleanImposta il bundle in capacitor.config.json
—dry-uploadbooleanSimula l'upload del bundle: aggiunge la riga nel database senza caricare file o aggiornare i channel (usato da Capgo per test interni)
—package-jsonstringPercorsi dei file package.json per monorepo (separati da virgola)
—node-modulesstringPercorsi delle directory node_modules per monorepo (separati da virgola)
—encrypt-partialbooleanCripta i file dell'update delta (abilitato automaticamente per updater > 6.14.4)
—delete-linked-bundle-on-uploadbooleanIndividua il bundle attualmente collegato al canale di 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-assignbooleanAllow devices to auto-join this channel (updates channel setting)
—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 del canale collegato
—supa-hoststringURL host Supabase personalizzato (per self-hosting o sviluppo Capgo)
—supa-anonstringChiave anon Supabase personalizzata (per self-hosting)
—verbosebooleanAbilita 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 il controllo della compatibilità
—textbooleanMostra testo invece delle emoji
—package-jsonstringPercorsi dei file package.json per monorepo (separati da virgola)
—node-modulesstringPercorsi delle directory node_modules per 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 del 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 di confronto
—package-jsonstringPercorsi dei file package.json per monorepo (separati da virgola)
—node-modulesstringPercorsi delle directory node_modules per 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 selezionando 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 in 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 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:

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
-fbooleanRimozione forzata
—ignore-channelbooleanElimina i bundle anche se collegati ai channel (ATTENZIONE: elimina anche i channel)
—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
—keystringCustom path for private signing key
—key-datastringChiave di firma privata
-jbooleanOutput in formato JSON
—package-jsonstringPercorsi dei file package.json per monorepo (separati da virgola)
Finestra del terminale
npx @capgo/cli@latest bundle decrypt

🔓 Decripta un bundle criptato (principalmente per test). Stampa la session key in base64 per la verifica.

Esempio:

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

Opzioni:

ParametroTipoDescrizione
—keystringCustom path for private signing key
—key-datastringChiave di firma privata
—checksumstringChecksum del bundle, per verificarne l'integrità
—package-jsonstringPercorsi dei file package.json per 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 JSON
—no-code-checkbooleanIgnora il controllo su notifyAppReady() nel codice code e sulla presenza di index nella root
—key-v2booleanUsa la crittografia v2
—package-jsonstringPercorsi dei file package.json per monorepo (separati da virgola)