📦 bundle
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
📦 Gestisci i pacchetti dell'applicazione per la distribuzione in Capgo Cloud, inclusa l'upload, le verifiche di compatibilità e l'encryption.
⬆️ Upload
Sezione intitolata “ ⬆️ Upload”Alias: u
npx @capgo/cli@latest bundle upload⬆️ Carica un nuovo pacchetto dell'applicazione in Capgo Cloud per la distribuzione. La versione deve essere > 0.0.0 e univoca. Le versioni cancellate non possono essere riutilizzate per motivi di sicurezza. Opzione esterna: Memorizza solo un collegamento URL (utile per app >200MB o requisiti di privacy). Capgo non esamina mai il contenuto esterno. Aggiungi l'encryption per una sicurezza senza fiducia.
Esempio:
npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,betaAggiorna il prossimo semver libero dal canale (o ultima versione remota dell'app) quando non viene fornito --bundle. Utile in CI quando package.json già corrisponde a una versione Capgo ha:
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 I lavoratori AI confrontano i file del pacchetto locali con il precedente Capgo/canale manifesto delta, inferiscono major | minor | patch | metadata, e stampa una breve ragione nel CLI log. Se non esiste alcuna versione precedente Capgo, l'AI viene saltato e l'aggiornamento predefinito è patch.
Opzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | API chiave per collegarsi al tuo account |
| -p | string | Percorso del folder da caricare, se non fornito utilizzerà il webDir impostato in capacitor.config |
| -c | string | Canale da collegare. Utilizza virgole per più canali, ad esempio production,beta |
| —rollout | string | Imposta il bundle caricato come obiettivo di rollout per questo canale a un percentuale da 0 a 100 |
| —rollout-percentage-bps | string | Imposta la percentuale di rollout del bundle caricato in basis point da 0 a 10000 |
| —cache-ttl-secondi | string | Cloudflare decisione di distribuzione cache TTL in secondi |
| -e | string | Collegamento all'URL esterno al posto dell'upload su Capgo Cloud |
| —chiave-sessione-iv | string | Imposta la chiave IV e di sessione per l'URL del pacchetto esterno |
| —regione-s3 | string | Regione per il tuo bucket S3 |
| —chiave-s3-api | string | API chiave per il tuo endpoint S3 |
| —segreto-s3-apis | string | API segreto per il tuo endpoint S3 |
| —s3-endpoint | string | URL del punto di fine endpoint S3 |
| —s3-bucket-name | string | Nome per il tuo bucket AWS S3 |
| —s3-port | string | Porta per il tuo punto di fine endpoint S3 |
| —no-s3-ssl | boolean | Disabilita SSL per l'upload 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 pacchetto nella console |
| –no-key | boolean | Ignota la chiave di firma e invia l'aggiornamento in chiaro |
| –no-code-check | boolean | Ignota il controllo se notifyAppReady() è chiamato nel pacchetto code e l'indice presente nella cartella radice |
| –display-iv-session | boolean | Mostra nella console la chiave IV e di sessione utilizzate per cifrare l'aggiornamento |
| -b | string | Numero di versione del pacchetto da caricare |
| –auto-bump | string | Incrementa automaticamente dalla versione del pacchetto collegata al canale, altrimenti la versione più recente dell'app remota. Livello: maggiore, minore (predefinito), patch (alias riparo), metadati o ai (Workers AI inferisce il livello dal locale vs precedente manifesto delta; ricade sul patch con nessuna versione precedente Capgo). Incrementa fino a quando non viene trovato un nome libero (i nomi eliminati restano occupati). Non può essere combinato con –bundle (-b) |
| —link | string | Collegamento a risorsa esterna (ad esempio GitHub rilascio) |
| —comment | string | Commento su questa versione, potrebbe essere un nota di rilascio, un hash di commit, un messaggio di commit, ecc. |
| —min-update-version | string | Versione minima richiesta per aggiornarsi a questa versione. Utilizzato solo se l'aggiornamento automatico è disabilitato nel canale |
| —auto-min-update-version | boolean | Imposta la versione di aggiornamento minima in base ai pacchetti nativi |
| —ignore-metadata-check | boolean | Ignora il controllo dei metadati (node_modules) durante l'upload |
| —fail-on-incompatible | boolean | Fallisce l'upload (uscita non zero) al posto di caricare quando il bundle è incompatibile con i pacchetti nativi del canale corrente. In un terminale interattivo puoi ancora scegliere una costruzione nativa; rifiutare fallisce. Non può essere combinato con —ignore-metadata-check. |
| —ignora il controllo del checksum | boolean | Ignora il controllo del checksum durante l'upload |
| —forza il controllo del checksum CRC32 per l'upload (sovrascrive la detezione automatica) | boolean | Forza il controllo del checksum CRC32 per l'upload (sovrascrive la detezione automatica) |
| —timeout | string | Timeout per il processo di upload in secondi |
| —multipart | boolean | [DEPRECATED] Utilizza —tus invece. Utilizza il protocollo multipart per gli upload su S3 |
| —zip | boolean | Carica il bundle utilizzando zip a Capgo cloud (legacy) |
| —tus | boolean | Carica il bundle utilizzando TUS a Capgo cloud |
| —dimensione-del-blocco | string | Dimensione del blocco in byte per upload ripristinabile TUS (predefinito: auto) |
| —parziale | boolean | [DEPRECATO] Utilizza —differenza invece. Carica aggiornamenti incrementali |
| —parziale-solo | boolean | [DEPRECATO] Utilizza —differenza-solo invece. Carica solo aggiornamenti incrementali, saltare bundle completo |
| —differenza | boolean | Carica aggiornamenti delta (solo file modificati) per aggiornamenti istantanei, velocissimi al posto di download zip grandi |
| —differenza-solo | boolean | Carica solo aggiornamenti delta senza bundle completo per massima velocità (utile per app grandi) |
| —nessuna-differenza | boolean | Disabilita aggiornamenti delta anche se gli aggiornamenti istantanei sono abilitati |
| —checksum crittografato | string | Un checksum crittografato (firma). Utilizzato solo quando si carica un bundle esterno. |
| —impostazione bundle automatica | boolean | Imposta il bundle in capacitor.config.json |
| —caricamento secco del bundle | boolean | Carica in modo secco il processo del bundle: aggiungi la riga nel database senza caricare file o aggiornare canali (Usato da Capgo per test interni) |
| —file package.json | string | Percorsi ai file package.json per progetti monorepo (separati da virgole) |
| —directory node_modules | string | Per corsi ai directory node_modules per progetti monorepo (separati da virgole) |
| —crittografia parziale | boolean | Crittografa i file di aggiornamento delta (abilitato automaticamente per aggiornatore > 6.14.4) |
| —elimina-bundle-collegato-all'upload | boolean | Cerca il bundle attualmente collegato nel canale a cui si sta cercando di caricare, e lo elimina |
| —nessun-modello-brotli | string | File da escludere dalla compressione Brotli (glob separati da virgole, ad esempio “.jpg,.png”) |
| —disabilita-brotli | boolean | Disabilita completamente la compressione Brotli anche se la versione dell'aggiornatore lo supporta |
| —esiste-versione-ok | boolean | Esegui con successo se la versione del bundle già esiste, utile per i flussi di lavoro CI/CD con monorepos |
| —auto-assegna | boolean | Consenti ai dispositivi di unirsi automaticamente a questo canale (aggiorna le impostazioni del canale) |
| —anteprima-qrcode | boolean | Stampa un QR code del terminale per questa anteprima del pacchetto dopo l'upload |
| —invia-notifica-aggiornamento | boolean | Invia una notifica di controllo dell'aggiornamento nativo ai dispositivi dopo l'aggiornamento dei pacchetti dei canali collegati |
| —host-supabase | string | URL host personalizzato di Supabase (per l'auto-hosting o lo Capgo sviluppo) |
| —chiave-anon-supabase | string | Chiave anonima personalizzata di Supabase (per l'auto-hosting) |
| —verboso | boolean | Abilita l'output verboso con registrazione dettagliata |
🧪 Compatibilità
Sezione intitolata “ 🧪 Compatibilità”npx @capgo/cli@latest bundle compatibility🧪 Verifica la compatibilità di un bundle con un canale specifico in Capgo Cloud per assicurarti che gli aggiornamenti siano sicuri.
Esempio:
npx @capgo/cli@latest bundle compatibility com.example.app --channel productionOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | API chiave per collegarsi al tuo account |
| -c | string | Canale per verificare la compatibilità con |
| —text | boolean | Testo di output al posto degli emoji |
| —package-json | string | Periferiche per file package.json per progetti monorepo (separate da virgole) |
| —node-modules | string | Periferiche per directory node_modules per progetti monorepo (separate da virgole) |
| —supa-host | string | URL host personalizzato di Supabase (per hosting self o Capgo sviluppo) |
| —supa-anon | string | Chiave anonima personalizzata di Supabase (per hosting self) |
🔹 Tipo di rilascio
Sottosezione intitolata “ 🔹 Tipo di rilascio”npx @capgo/cli@latest bundle releaseType🧭 Stampa “nativo” o “OTA” in base alla compatibilità con i metadati più recenti di un canale.
Esempio:
npx @capgo/cli@latest bundle releaseType com.example.app --channel productionOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | chiave API per collegarsi al proprio account |
| -c | string | Canale da confrontare |
| —package-json | string | Periferiche per file package.json per progetti monorepo (separate da virgole) |
| —node-modules | string | Periferiche per directory node_modules per progetti monorepo (separate da virgole) |
| —supa-host | string | URL host personalizzato di Supabase (per auto-hosting o Capgo sviluppo) |
| —supa-anon | string | Chiave anonima personalizzata di Supabase (per auto-hosting) |
🗑️ Elimina
Sezione intitolata “ 🗑️ Elimina”Alias: d
npx @capgo/cli@latest bundle delete🗑️ Elimina un bundle specifico da Capgo Cloud, facoltativamente con un riferimento a una versione singola.
Esempio:
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.appOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -a | string | API chiave per collegarsi al tuo account |
| —supa-host | string | URL host personalizzato di Supabase (per hosting self o Capgo sviluppo) |
| —supa-anon | string | Chiave anon personalizzata di Supabase (per hosting self) |
📋 Elenco
Sezione intitolata “ 📋 Elenco”Alias: l
npx @capgo/cli@latest bundle list📋 Elenco di 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 | API chiave per collegarsi al proprio account |
| —supa-host | string | URL del host Supabase personalizzato (per l'auto-hosting o lo sviluppo Capgo) |
| —supa-anon | string | Chiave anonima personalizzata di Supabase (per l'hosting self-service) |
🧹 Pulizia
Sottosezione intitolata “ 🧹 Pulizia”Alias: c
npx @capgo/cli@latest bundle cleanup🧹 Elimina gli archivi vecchi in Capgo Cloud, mantenendo il numero specificato di versioni recenti. Gli archivi collegati ai canali sono preservati a meno che non si utilizzi —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'applicazione da eliminare |
| -a | string | API chiave per collegarsi al tuo account |
| -k | string | Numero di versioni da mantenere |
| -f | boolean | Forzare la rimozione |
| —ignore-channel | boolean | Elimina i bundle anche se collegati a canali (AVVISO: elimina anche i canali) |
| —supa-host | string | URL host personalizzato di Supabase (per hosting self o Capgo sviluppo) |
| —supa-anon | string | Chiave anon personalizzata di Supabase (per hosting self) |
🔒 Crittografa
Sezione intitolata “ 🔒 Crittografa”npx @capgo/cli@latest bundle encryptCrittografa un bundle zip per un archiviazione esterna sicura. Restituisce ivSessionKey per l'upload/decrittografia. Ottieni checksum utilizzando ‘bundle zip —json’.
Esempio:
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUMOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| —chiave | string | Percorso personalizzato per la chiave di firma privata |
| —chiave-dati | string | Chiave di firma privata |
| -j | boolean | Output in formato JSON |
| —package-json | string | Perimetri dei file package.json per i monorepos (separati da virgole) |
🔓 Decrittografare
Sezione intitolata “ 🔓 Decrittografare”npx @capgo/cli@latest bundle decrypt🔓 Decrittografa un bundle crittografato (principalmente per le prove). Stampa la chiave di sessione base64 per la verifica.
Esempio:
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUMOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| —chiave | string | Percorso personalizzato per la chiave di firma privata |
| —chiave-dati | string | Chiave di firma privata |
| —checksum | string | Checksum del pacchetto, per verificare l'integrità del pacchetto |
| —package-json | string | Permessi per i file package.json nei progetti monorepo (separati da virgole) |
npx @capgo/cli@latest bundle zip🗜️ Crea un file zip del tuo bundle dell'applicazione. Restituisce il checksum per l'uso con l'encryption. Utilizza —json per l'output leggibile da macchina.
Esempio:
npx @capgo/cli@latest bundle zip com.example.app --path ./distOpzioni:
| Parametro | Tipo | Descrizione |
|---|---|---|
| -p | string | Percorso del folder da caricare, se non fornito utilizzerà il webDir impostato in capacitor.config |
| -b | string | Numero di versione del bundle per denominare il file zip |
| -n | string | Nome del file zip |
| -j | boolean | Esegui in formato JSON |
| —no-code-check | boolean | Ignora la verifica se notifyAppReady() viene chiamato nel file sorgente code e l'indice presente nella cartella radice |
| —key-v2 | boolean | Utilizza la crittografia v2 |
| —package-json | string | Percorso dei file package.json per i monorepos (separati da virgole) |