📦 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: subida, 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. Las versiones eliminadas no se pueden reutilizar por seguridad. Opción externa: Almacena solo un enlace URL (útil para apps >200MB o requisitos de privacidad). Capgo nunca inspecciona el 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 la siguiente semver libre del canal (o la última versión remota de la app) si 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 anterior de Capgo/channel, e infiere major | minor | patch | metadata, y muestra 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 parche.
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 proporciona, se usará el webDir definido en capacitor.config |
| -c | string | Canal al que vincular. Usa comas para múltiples canales, por ejemplo production,beta |
| —rollout | string | Establece el bundle subido como objetivo de rollout de este canal, con un porcentaje de 0 a 100 |
| —stable | boolean | En un canal configurado para rollout, reemplaza el fallback estable en lugar de establecer el objetivo de rollout |
| —rollout-percentage-bps | string | Establece el porcentaje de rollout del bundle subido en puntos básicos, de 0 a 10000 |
| —rollout-cache-ttl-seconds | string | TTL en segundos de la caché de decisión de rollout de Cloudflare |
| -e | string | Enlace a una URL externa en lugar de subir a Capgo Cloud |
| —iv-session-key | string | Establece la IV y la clave de sesión 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 | Secreto API para tu endpoint S3 |
| —s3-endpoint | string | URL del endpoint S3 |
| —s3-bucket-name | string | Nombre de tu bucket AWS S3 |
| —s3-port | string | Puerto de tu endpoint S3 |
| —no-s3-ssl | boolean | Desactivar 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 | Ignorar la comprobación de si se llama a notifyAppReady() en el code fuente y si el index está en la carpeta 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 a subir |
| —auto-bump | string | Incrementa automáticamente desde el bundle vinculado al canal, o la última versión remota de la app. Niveles: major, minor (por defecto), patch (alias fix), metadata, o ai (Workers AI infiere el nivel a partir del manifiesto delta local frente al anterior; si no hay versión Capgo previa, usa patch). Incrementa hasta encontrar un nombre libre (los nombres eliminados siguen ocupados). No se puede combinar 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. Se usa solo si la actualización automática está deshabilitada en el metadata del canal |
| —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 verificación de metadata (node_modules) al subir |
| —fail-on-incompatible | boolean | Falla la subida (salida no cero) en lugar de subir cuando el bundle es incompatible con los paquetes nativos actuales del canal. En una terminal interactiva aún puedes elegir un native build; si te niegas, falla. No se puede combinar con —ignore-metadata-check. |
| —ignore-checksum-check | boolean | Ignora la verificación de checksum al subir |
| —force-crc32-checksum | boolean | Forzar checksum CRC32 para la subida (anular la detección automática) |
| —timeout | string | Tiempo de espera del proceso de subida 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 (legado) |
| —tus | boolean | Sube el bundle usando TUS a la nube de Capgo |
| —tus-chunk-size | string | Tamaño de chunk en bytes para subidas TUS reanudables (predeterminado: auto) |
| —partial | boolean | [OBSOLETO] Usa —delta en su lugar. Sube actualizaciones incrementales |
| —partial-only | boolean | [OBSOLETO] Usa —delta-only en su lugar. Sube solo actualizaciones incrementales, omite el bundle completo |
| —delta | boolean | Sube actualizaciones delta (solo archivos modificados) para actualizaciones instantáneas y ultrarrápidas en lugar de descargas de zip grandes |
| —delta-only | boolean | Sube solo actualizaciones delta sin el bundle completo para máxima velocidad (útil para apps grandes) |
| —no-delta | boolean | Disable delta updates even if instant updates are enabled |
| —encrypted-checksum | string | Un checksum cifrado (firma). Se usa solo al subir un bundle externo. |
| —auto-set-bundle | boolean | Establece el bundle en capacitor.config.json |
| —dry-upload | boolean | Simula el upload del bundle: 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 | Cifra los archivos de actualización delta (activado automáticamente para updater > 6.14.4) |
| —delete-linked-bundle-on-upload | boolean | Localiza el bundle actualmente vinculado en el canal al que intentas subirlo y lo elimina |
| —no-brotli-patterns | string | Archivos a excluir de la compresión Brotli (globs separados por comas, p. ej., “.jpg,.png”) |
| —disable-brotli | boolean | Desactiva por completo la compresión Brotli, incluso si la versión del updater lo admite |
| —version-exists-ok | boolean | Sale con éxito si la versión del bundle ya existe, útil para flujos de CI/CD con monorepos |
| --self-assign | boolean | Permite que dispositivos se unan solos al canal (ajuste del canal de actualizaciones) |
| —qr-preview | boolean | Imprime un QR de terminal code para esta vista previa del bundle tras la subida |
| —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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo) |
| —supa-anon | string | Clave anon personalizada de Supabase (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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo) |
| —supa-anon | string | Clave anon personalizada de Supabase (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 de comparación |
| --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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo) |
| —supa-anon | string | Clave anon personalizada de Supabase (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 seleccionar una versión concreta.
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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo) |
| —supa-anon | string | Clave anon personalizada de Supabase (para self-hosting) |
📋 Listar
Sección titulada “ 📋 Lista”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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo) |
| —supa-anon | string | Clave anon personalizada de Supabase (para self-hosting) |
🧹 Limpiar
Sección titulada “ 🧹 Limpieza”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 conservar |
| -f | boolean | Forzar eliminación |
| —ignore-channel | boolean | Eliminar bundles aunque estén vinculados a canales (ADVERTENCIA: también elimina los canales) |
| —supa-host | string | URL del host de Supabase personalizada (para self-hosting o desarrollo con Capgo) |
| —supa-anon | string | Clave anon personalizada de Supabase (para self-hosting) |
🔒 Encriptar
Sección titulada “ 🔒 Cifrar”npx @capgo/cli@latest bundle encrypt🔒 Cifra un bundle zip para almacenamiento externo seguro. Devuelve ivSessionKey para upload/decifrado. Obtén el checksum usando ‘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 JSON |
| --package-json | string | Rutas a los archivos package.json para monorepos (separadas por comas) |
🔓 Desencriptar
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 verificarla.
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) |
🔹 Comprimir
Sección titulada “ 🔹 Zip”npx @capgo/cli@latest bundle zip🗜️ Crea un archivo zip de tu app bundle. Devuelve el checksum para usarlo 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 proporciona, se usará el webDir definido en 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 | Usar cifrado v2 |
| --package-json | string | Rutas a los archivos package.json para monorepos (separadas por comas) |