Zum Inhalt springen

📦 Bundle

📦 Verwalte App-Bundles für das Deployment in der Capgo Cloud, inklusive Upload, Kompatibilitätsprüfungen und Verschlüsselung.

Alias: u

Terminalfenster
npx @capgo/cli@latest bundle upload

⬆️ Lade ein neues App-Bundle für die Distribution in die Capgo Cloud hoch. Die Version muss > 0.0.0 und eindeutig sein. Gelöschte Versionen können aus Sicherheitsgründen nicht wiederverwendet werden. Externe Option: Nur einen URL-Link speichern (praktisch für Apps > 200 MB oder Datenschutzanforderungen). Capgo inspiziert niemals externe Inhalte. Nutze Verschlüsselung für Trustless Security.

Beispiel:

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

Erhöht automatisch die nächste freie Semver des Channels (oder die neueste Remote-App-Version), wenn du keinen Wert übergibst --bundle. Nützlich in der CI, wenn package.json stimmt bereits mit der Version Capgo überein:

Terminalfenster
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

Mit --auto-bump ai, Capgo Cloudflare Workers AI vergleicht die lokalen Bundle-Dateien mit dem Delta-Manifest des vorherigen Capgo/Channels und leitet ab, major | minor | patch | metadata, und gibt einen kurzen Grund im CLI Log aus. Falls keine vorherige Capgo Version existiert, wird die KI übersprungen und der Bump wird auf patch.

Optionen:

ParameterTypBeschreibung
-astringAPI Key zum Verknüpfen mit deinem Account
-pstringPfad des Ordners zum Hochladen; falls nicht angegeben, wird das in capacitor.config gesetzte webDir verwendet
-cstringChannel zum Verknüpfen. Nutze Kommas für mehrere Channels, z. B. production,beta
—rolloutstringSetzt das hochgeladene Bundle als Rollout-Target für diesen Channel mit einem Prozentsatz von 0 bis 100
—stablebooleanErsetzt bei einem mit Rollout konfigurierten Channel den stable Fallback, statt das Rollout-Target zu setzen
—rollout-percentage-bpsstringSetzt die Rollout-Prozentzahl des hochgeladenen Bundles in Basispunkten von 0 bis 10000
—rollout-cache-ttl-secondsstringCloudflare Rollout-Entscheidungs-Cache TTL in Sekunden
-estringLink zu externer URL statt Upload in die Capgo Cloud
—iv-session-keystringIV und Session-Key für externe Bundle-URL setzen
—s3-regionstringRegion für deinen S3-Bucket
—s3-apikeystringAPI Key für deinen S3-Endpoint
—s3-apisecretstringAPI Secret für deinen S3-Endpoint
—s3-endpointstringURL des S3-Endpoints
—s3-bucket-namestringName für deinen AWS S3 Bucket
—s3-portstringPort für deinen S3 Endpoint
—no-s3-sslbooleanSSL für den S3 Upload deaktivieren
—key-v2stringEigener Pfad für den Private Signing Key (v2 System)
—key-data-v2stringPrivate Signing Key (v2 System)
—bundle-urlbooleanGibt die Bundle URL in stdout aus
—no-keybooleanSigning-Key ignorieren und unverschlüsseltes Update senden
—no-code-checkbooleanPrüfung ignorieren, ob notifyAppReady() im code Source aufgerufen wird und index in Root-Ordner vorhanden ist
—display-iv-sessionbooleanIV und Session-Key zur Verschlüsselung des Updates in der Konsole anzeigen
-bstringVersionsnummer des zu uploadenden Bundles
—auto-bumpstringAutomatisch erhöhen basierend auf dem Channel-Bundle oder der neuesten Remote-App-Version. Level: major, minor (Standard), patch (Alias: fix), metadata oder ai (Workers AI ermittelt Level aus Delta-Manifest; Fallback auf patch ohne vorherige Capgo Version). Erhöht, bis ein freier Name gefunden wird. Nicht kombinierbar mit —bundle (-b)
—linkstringVerlinkung zu externer Ressource (z. B. GitHub Release)
—commentstringKommentar zu dieser Version, z. B. Release Notes, Commit-Hash, Commit-Message usw.
—min-update-versionstringMinimale Version, die für ein Update auf diese Version erforderlich ist. Wird nur verwendet, wenn 'disable auto update' im Channel auf 'metadata' gesetzt ist.
—auto-min-update-versionbooleanSetzt die minimale Update-Version basierend auf den Native Packages.
—ignore-metadata-checkbooleanIgnoriert den Metadata-Check (node_modules) beim Upload.
—fail-on-incompatiblebooleanDer Upload schlägt fehl (Exit-Code ungleich Null), wenn das Bundle nicht mit den aktuellen Native Packages des Channels kompatibel ist. In einem interaktiven Terminal kannst du dennoch einen Native Build wählen; eine Ablehnung führt zum Abbruch. Nicht kombinierbar mit —ignore-metadata-check.
—ignore-checksum-checkbooleanIgnoriert den Checksum-Check beim Upload.
—force-crc32-checksumbooleanErzwingt die CRC32-Prüfsumme beim Upload (überschreibt die automatische Erkennung)
—timeoutstringTimeout für den Upload-Prozess in Sekunden
—multipartboolean[DEPRECATED] Nutze stattdessen —tus. Verwendet das Multipart-Protokoll für S3-Uploads
—zipbooleanLädt das Bundle per ZIP in die Capgo Cloud hoch (Legacy)
—tusbooleanLädt das Bundle via TUS in die Capgo Cloud hoch
—tus-chunk-sizestringChunk-Größe in Bytes für TUS-Resumable-Uploads (Standard: auto)
—partialboolean[DEPRECATED] Nutze stattdessen —delta. Upload von inkrementellen Updates
—partial-onlyboolean[DEPRECATED] Nutze stattdessen —delta-only. Nur inkrementelle Updates hochladen, Full Bundle überspringen
—deltabooleanDelta-Updates (nur geänderte Dateien) hochladen für sofortige, extrem schnelle Updates statt großer ZIP-Downloads
—delta-onlybooleanNur Delta-Updates ohne Full Bundle hochladen für maximale Geschwindigkeit (ideal für große Apps)
—no-deltabooleanDelta-Updates deaktivieren, auch wenn Instant Updates aktiviert sind
—encrypted-checksumstringEin verschlüsselter Checksum (Signatur). Wird nur beim Upload eines externen Bundles verwendet.
—auto-set-bundlebooleanSetzt das Bundle in capacitor.config.json
—dry-uploadbooleanSimuliert den Bundle-Upload: Fügt den Eintrag in der Datenbank hinzu, ohne Dateien hochzuladen oder Channels zu aktualisieren (wird von Capgo für interne Tests genutzt)
—package-jsonstringPfade zu package.json-Dateien für Monorepos (kommagetrennt)
—node-modulesstringPfade zu node_modules-Verzeichnissen für Monorepos (kommagetrennt)
—encrypt-partialbooleanVerschlüsselt Delta-Update-Dateien (automatisch aktiviert für Updater > 6.14.4)
—delete-linked-bundle-on-uploadbooleanLocates the currently linked bundle in the channel you are trying to upload to, and deletes it
—no-brotli-patternsstringDateien, die von der Brotli-Komprimierung ausgeschlossen werden sollen (kommagetrennte Globs, z. B. „.jpg,.png“)
—disable-brotlibooleanBrotli-Komprimierung komplett deaktivieren, auch wenn die Updater-Version dies unterstützt
—version-exists-okbooleanErfolgreich beenden, wenn die Bundle-Version bereits existiert; nützlich für CI/CD-Workflows mit Monorepos
—self-assignbooleanGeräten erlauben, diesem Channel automatisch beizutreten (aktualisiert die Channel-Einstellung)
—qr-previewbooleanNach dem Upload einen Terminal-QR code für diese Bundle-Vorschau ausgeben
—send-update-notificationbooleanSendet nach dem Update verknüpfter Channel-Bundles eine native Benachrichtigung zur Update-Prüfung an die Geräte
—supa-hoststringEigene Supabase-Host-URL (für Self-Hosting oder Capgo-Entwicklung)
—supa-anonstringEigener Supabase-Anon-Key (für Self-Hosting)
—verbosebooleanAktiviert die ausführliche Ausgabe mit detaillierten Logs
Terminalfenster
npx @capgo/cli@latest bundle compatibility

🧪 Prüfe die Kompatibilität eines Bundles mit einem bestimmten Channel in der Capgo Cloud, um sichere Updates zu gewährleisten.

Beispiel:

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

Optionen:

ParameterTypBeschreibung
-astringAPI Key zum Verknüpfen mit deinem Account
-cstringChannel, mit dem die Kompatibilität geprüft werden soll
—textbooleanText-Ausgabe statt Emojis
—package-jsonstringPfade zu package.json-Dateien für Monorepos (kommagetrennt)
—node-modulesstringPfade zu node_modules-Verzeichnissen für Monorepos (kommagetrennt)
—supa-hoststringEigene Supabase-Host-URL (für Self-Hosting oder Capgo-Entwicklung)
—supa-anonstringEigener Supabase-Anon-Key (für Self-Hosting)
Terminalfenster
npx @capgo/cli@latest bundle releaseType

🧭 Gibt „native“ oder „OTA“ aus, basierend auf der Kompatibilität mit den neuesten Metadaten eines Channels.

Beispiel:

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

Optionen:

ParameterTypBeschreibung
-astringAPI Key zum Verknüpfen mit deinem Account
-cstringChannel für den Vergleich
—package-jsonstringPfade zu package.json-Dateien für Monorepos (kommagetrennt)
—node-modulesstringPfade zu node_modules-Verzeichnissen für Monorepos (kommagetrennt)
—supa-hoststringEigene Supabase-Host-URL (für Self-Hosting oder Capgo-Entwicklung)
—supa-anonstringEigener Supabase-Anon-Key (für Self-Hosting)

Alias: d

Terminalfenster
npx @capgo/cli@latest bundle delete

🗑️ Löscht ein bestimmtes Bundle aus der Capgo Cloud, optional für eine einzelne Version.

Beispiel:

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

Optionen:

ParameterTypBeschreibung
-astringAPI Key zum Verknüpfen mit deinem Account
—supa-hoststringEigene Supabase-Host-URL (für Self-Hosting oder Capgo-Entwicklung)
—supa-anonstringEigener Supabase-Anon-Key (für Self-Hosting)

Alias: l

Terminalfenster
npx @capgo/cli@latest bundle list

📋 Listet alle für eine App in der Capgo Cloud hochgeladenen Bundles auf.

Beispiel:

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

Optionen:

ParameterTypBeschreibung
-astringAPI Key zum Verknüpfen mit deinem Account
—supa-hoststringEigene Supabase-Host-URL (für Self-Hosting oder Capgo-Entwicklung)
—supa-anonstringEigener Supabase-Anon-Key (für Self-Hosting)

Alias: c

Terminalfenster
npx @capgo/cli@latest bundle cleanup

🧹 Löscht alte Bundles in der Capgo Cloud und behält eine festgelegte Anzahl aktueller Versionen. Mit Channels verknüpfte Bundles bleiben erhalten, sofern nicht —ignore-channel verwendet wird.

Beispiel:

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

Optionen:

ParameterTypBeschreibung
-bstringBundle-Versionsnummer der zu löschenden App
-astringAPI Key zum Verknüpfen mit deinem Account
-kstringAnzahl der zu behaltenden Versionen
-fbooleanErzwingen des Löschens
—ignore-channelbooleanBundles auch löschen, wenn mit Channels verknüpft (WARNUNG: löscht auch Channels)
—supa-hoststringEigene Supabase-Host-URL (für Self-Hosting oder Capgo-Entwicklung)
—supa-anonstringEigener Supabase-Anon-Key (für Self-Hosting)
Terminalfenster
npx @capgo/cli@latest bundle encrypt

🔒 Verschlüsselt ein Zip-Bundle für die sichere externe Speicherung. Gibt ivSessionKey für Upload/Entschlüsselung zurück. Checksumme via ‘bundle zip —json’ ermitteln.

Beispiel:

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

Optionen:

ParameterTypBeschreibung
—keystringCustom path for private signing key
—key-datastringPrivater Signing-Key
-jbooleanAusgabe als JSON
—package-jsonstringPfade zu package.json-Dateien für Monorepos (kommagetrennt)

🔓 Entschlüsseln

Abschnitt „ 🔓 Decrypt“
Terminalfenster
npx @capgo/cli@latest bundle decrypt

🔓 Ein verschlüsseltes Bundle entschlüsseln (hauptsächlich zum Testen). Gibt den base64 Session-Key zur Verifizierung aus.

Beispiel:

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

Optionen:

ParameterTypBeschreibung
—keystringCustom path for private signing key
—key-datastringPrivater Signing-Key
—checksumstringChecksumme des Bundles zur Überprüfung der Integrität
—package-jsonstringPfade zu package.json-Dateien für Monorepos (kommagetrennt)
Terminalfenster
npx @capgo/cli@latest bundle zip

🗜️ Erstellt eine Zip-Datei deines App-Bundles. Gibt eine Checksumme für die Verschlüsselung zurück. Nutze —json für maschinenlesbare Ausgabe.

Beispiel:

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

Optionen:

ParameterTypBeschreibung
-pstringPfad des Ordners zum Upload; falls nicht angegeben, wird der in capacitor.config gesetzte webDir verwendet
-bstringBundle-Versionsnummer für den Namen der Zip-Datei
-nstringName der Zip-Datei
-jbooleanAusgabe als JSON
—no-code-checkbooleanIgnoriert die Prüfung, ob notifyAppReady() in der Quelle code aufgerufen wird und index im Root-Ordner vorhanden ist
—key-v2booleanVerschlüsselung v2 verwenden
—package-jsonstringPfade zu package.json-Dateien für Monorepos (kommagetrennt)