📦 bundle
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
📦 Gestiona los bundles de tu app para desplegar en Capgo Cloud, incluyendo upload, comprobaciones de compatibilidad y cifrado.
⬆️ Subir
Sección titulada “ ⬆️ Upload”Alias: u
npx @capgo/cli@latest bundle upload⬆️ Sube un nuevo bundle de la app a Capgo Cloud para su distribución. La versión debe ser > 0.0.0 y única. Por seguridad, no se pueden reutilizar versiones eliminadas. Opción externa: Guarda solo un enlace URL (útil para apps >200MB o requisitos de privacidad). Capgo nunca inspecciona contenido externo. Añade cifrado para una seguridad sin confianza.
Ejemplo:
npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,betaIncrementa automáticamente el siguiente semver libre del canal (o la última versión remota) cuando no pasas --bundle. Útil en CI cuando package.json ya coincide con una versión que Capgo tiene:
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 compara los archivos del bundle local con el manifiesto delta del Capgo/channel anterior e infiere major | minor | patch | metadata, e imprime un breve motivo en el log de CLI. Si no existe una versión Capgo previa, se omite la IA y el bump por defecto es patch.
Opciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| -a | string | Clave API para vincular a tu cuenta |
| -p | string | Ruta de la carpeta a subir; si no se indica, usará el webDir de capacitor.config |
| -c | string | Canal al que vincular. Usa comas para varios canales, ej: production,beta |
| —rollout | string | Establece el bundle subido como objetivo de rollout del canal con un porcentaje de 0 a 100 |
| —stable | boolean | En un canal con rollout configurado, reemplaza el fallback estable en vez de fijar el objetivo de rollout |
| —rollout-percentage-bps | string | Establece el porcentaje de rollout del bundle en puntos básicos (bps) de 0 a 10000 |
| —rollout-cache-ttl-seconds | string | TTL de la caché de decisiones de rollout de Cloudflare en segundos |
| -e | string | Enlaza a una URL externa en vez de subir a Capgo Cloud |
| —iv-session-key | string | Establece el IV y la session key para la URL externa del bundle |
| —s3-region | string | Región de tu bucket S3 |
| —s3-apikey | string | Clave API para tu endpoint S3 |
| —s3-apisecret | string | Secret API para tu endpoint S3 |
| —s3-endpoint | string | URL del endpoint S3 |
| —s3-bucket-name | string | Nombre de tu bucket de AWS S3 |
| —s3-port | string | Puerto para tu endpoint de S3 |
| —no-s3-ssl | boolean | Desactiva SSL para la subida a S3 |
| —key-v2 | string | Ruta personalizada para la clave de firma privada (sistema v2) |
| —key-data-v2 | string | Clave de firma privada (sistema v2) |
| —bundle-url | boolean | Imprime la URL del bundle en stdout |
| —no-key | boolean | Ignora la clave de firma y envía la actualización sin cifrar |
| —no-code-check | boolean | Ignora la comprobación de si notifyAppReady() se llama en el code fuente y si el index está en la raíz |
| —display-iv-session | boolean | Muestra en la consola el IV y la session key usados para cifrar la actualización |
| -b | string | Número de versión del bundle que se va a subir |
| —auto-bump | string | Incrementa automáticamente desde el bundle vinculado al canal, o la última versión remota. Niveles: major, minor (por defecto), patch (alias fix), metadata, o ai (Workers AI infiere el nivel comparando el delta local vs previo; si no hay versión Capgo previa, usa patch). Incrementa hasta hallar un nombre libre. No combina con —bundle (-b) |
| —link | string | Enlaza a un recurso externo (ej. release de GitHub) |
| —comment | string | Comentario sobre esta versión; puede ser una nota de lanzamiento, un hash de commit, un mensaje de commit, etc. |
| —min-update-version | string | Versión mínima requerida para actualizar a esta versión. Solo se usa si el auto-update está configurado como metadata en el channel. |
| —auto-min-update-version | boolean | Establece la versión mínima de actualización basada en los paquetes nativos. |
| —ignore-metadata-check | boolean | Ignora la comprobación de metadata (node_modules) al hacer el upload. |
| —fail-on-incompatible | boolean | Falla el upload (exit non-zero) si el bundle es incompatible con los paquetes nativos actuales del channel. En una terminal interactiva puedes elegir un Native Build; si lo rechazas, fallará. No se puede combinar con —ignore-metadata-check. |
| —ignore-checksum-check | boolean | Ignora la comprobación del checksum al hacer el upload. |
| —force-crc32-checksum | boolean | Fuerza el checksum CRC32 para el upload (anula la autodetección) |
| —timeout | string | Tiempo de espera para el proceso de upload en segundos |
| —multipart | boolean | [OBSOLETO] Usa —tus en su lugar. Usa el protocolo multipart para subidas a S3 |
| —zip | boolean | Sube el bundle usando zip a la nube de Capgo (legacy) |
| —tus | boolean | Sube el bundle usando TUS a la nube de Capgo |
| —tus-chunk-size | string | Tamaño de chunk en bytes para uploads resumibles con TUS (por defecto: auto) |
| —partial | boolean | [DEPRECATED] Usa —delta en su lugar. Sube actualizaciones incrementales |
| —partial-only | boolean | [DEPRECATED] Usa —delta-only en su lugar. Sube solo actualizaciones incrementales, omite el bundle completo |
| —delta | boolean | Sube actualizaciones delta (solo archivos cambiados) para actualizaciones instantáneas y ultra rápidas en vez de pesados archivos zip |
| —delta-only | boolean | Sube solo actualizaciones delta sin el bundle completo para máxima velocidad (útil en apps grandes) |
| —no-delta | boolean | Desactiva las actualizaciones delta aunque las instant updates estén habilitadas |
| —encrypted-checksum | string | Un checksum cifrado (firma). Se usa solo al subir un bundle externo. |
| —auto-set-bundle | boolean | Configura el bundle en capacitor.config.json |
| —dry-upload | boolean | Simula el proceso de upload: añade la fila en la base de datos sin subir archivos ni actualizar canales (Usado por Capgo para pruebas internas) |
| —package-json | string | Rutas a los archivos package.json para monorepos (separadas por comas) |
| —node-modules | string | Rutas a los directorios node_modules para monorepos (separadas por comas) |
| —encrypt-partial | boolean | Encripta los archivos de delta update (activado por defecto para updater > 6.14.4) |
| —delete-linked-bundle-on-upload | boolean | Localiza el bundle vinculado actualmente en el canal al que intentas hacer upload y lo elimina |
| —no-brotli-patterns | string | Archivos a excluir de la compresión Brotli (globs separados por comas, ej: “.jpg,.png”) |
| —disable-brotli | boolean | Desactiva por completo la compresión Brotli aunque la versión del updater la soporte |
| —version-exists-ok | boolean | Finaliza con éxito si la versión del bundle ya existe; útil para CI/CD con monorepos |
| —self-assign | boolean | Permitir que los dispositivos se unan automáticamente a este canal (ajuste del canal de updates) |
| —qr-preview | boolean | Muestra un code QR en la terminal para previsualizar este bundle tras el upload |
| —send-update-notification | boolean | Envía una notificación de comprobación de actualización nativa a los dispositivos tras actualizar los bundles del canal vinculado |
| —supa-host | string | URL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo) |
| —supa-anon | string | Clave anon de Supabase personalizada (para self-hosting) |
| —verbose | boolean | Activa la salida verbose con logs detallados |
🧪 Compatibilidad
Sección titulada “ 🧪 Compatibilidad”npx @capgo/cli@latest bundle compatibility🧪 Comprueba la compatibilidad de un bundle con un canal específico en Capgo Cloud para asegurar que las actualizaciones sean seguras.
Ejemplo:
npx @capgo/cli@latest bundle compatibility com.example.app --channel productionOpciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| -a | string | Clave API para vincular a tu cuenta |
| -c | string | Canal para comprobar la compatibilidad |
| —text | boolean | Muestra texto en lugar de emojis |
| —package-json | string | Rutas a los archivos package.json para monorepos (separadas por comas) |
| —node-modules | string | Rutas a los directorios node_modules para monorepos (separadas por comas) |
| —supa-host | string | URL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo) |
| —supa-anon | string | Clave anon de Supabase personalizada (para self-hosting) |
🔹 ReleaseType
Sección titulada “ 🔹 ReleaseType”npx @capgo/cli@latest bundle releaseType🧭 Imprime “native” o “OTA” según la compatibilidad con los últimos metadatos del canal.
Ejemplo:
npx @capgo/cli@latest bundle releaseType com.example.app --channel productionOpciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| -a | string | Clave API para vincular a tu cuenta |
| -c | string | Canal para comparar |
| —package-json | string | Rutas a los archivos package.json para monorepos (separadas por comas) |
| —node-modules | string | Rutas a los directorios node_modules para monorepos (separadas por comas) |
| —supa-host | string | URL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo) |
| —supa-anon | string | Clave anon de Supabase personalizada (para self-hosting) |
🗑️ Eliminar
Sección titulada “ 🗑️ Eliminar”Alias: d
npx @capgo/cli@latest bundle delete🗑️ Elimina un bundle específico de Capgo Cloud, con la opción de elegir una versión.
Ejemplo:
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.appOpciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| -a | string | Clave API para vincular a tu cuenta |
| —supa-host | string | URL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo) |
| —supa-anon | string | Clave anon de Supabase personalizada (para self-hosting) |
📋 Lista
Sección titulada “ 📋 List”Alias: l
npx @capgo/cli@latest bundle list📋 Lista todos los bundles subidos para una app en Capgo Cloud.
Ejemplo:
npx @capgo/cli@latest bundle list com.example.appOpciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| -a | string | Clave API para vincular a tu cuenta |
| —supa-host | string | URL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo) |
| —supa-anon | string | Clave anon de Supabase personalizada (para self-hosting) |
🧹 Limpieza
Sección titulada “ 🧹 Cleanup”Alias: c
npx @capgo/cli@latest bundle cleanup🧹 Elimina bundles antiguos en Capgo Cloud, manteniendo un número específico de versiones recientes. Los bundles vinculados a canales se conservan a menos que se use —ignore-channel.
Ejemplo:
npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3Opciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| -b | string | Número de versión del bundle de la app a eliminar |
| -a | string | Clave API para vincular a tu cuenta |
| -k | string | Número de versiones a mantener |
| -f | boolean | Forzar eliminación |
| —ignore-channel | boolean | Elimina bundles aunque estén vinculados a channels (ADVERTENCIA: también elimina channels) |
| —supa-host | string | URL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo) |
| —supa-anon | string | Clave anon de Supabase personalizada (para self-hosting) |
🔒 Cifrar
Sección titulada “ 🔒 Cifrar”npx @capgo/cli@latest bundle encrypt🔒 Encripta un bundle zip para almacenamiento externo seguro. Devuelve ivSessionKey para upload/decryption. Obtén el checksum con ‘bundle zip —json’.
Ejemplo:
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUMOpciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| —key | string | Ruta personalizada para la clave de firma privada |
| —key-data | string | Clave de firma privada |
| -j | boolean | Salida en formato JSON |
| —package-json | string | Rutas a los archivos package.json para monorepos (separadas por comas) |
🔓 Decrypt
Sección titulada “ 🔓 Decrypt”npx @capgo/cli@latest bundle decrypt🔓 Desencripta un bundle cifrado (principalmente para pruebas). Imprime la clave de sesión en base64 para verificación.
Ejemplo:
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUMOpciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| —key | string | Ruta personalizada para la clave de firma privada |
| —key-data | string | Clave de firma privada |
| —checksum | string | Checksum del bundle para verificar su integridad |
| —package-json | string | Rutas a los archivos package.json para monorepos (separadas por comas) |
npx @capgo/cli@latest bundle zip🗜️ Crea un archivo zip de tu app bundle. Devuelve el checksum para usar con cifrado. Usa —json para una salida legible por máquinas.
Ejemplo:
npx @capgo/cli@latest bundle zip com.example.app --path ./distOpciones:
| Parámetro | Tipo | Descripción |
|---|---|---|
| -p | string | Ruta de la carpeta a subir; si no se indica, usará el webDir de capacitor.config |
| -b | string | Número de versión del bundle para nombrar el archivo zip |
| -n | string | Nombre del archivo zip |
| -j | boolean | Salida en JSON |
| —no-code-check | boolean | Ignorar la comprobación de si se llama a notifyAppReady() en el code fuente y si el index está en la carpeta raíz |
| —key-v2 | boolean | Usa el cifrado v2 |
| —package-json | string | Rutas a los archivos package.json para monorepos (separadas por comas) |