Saltar al contenido

📦 bundle

📦 Gestiona los bundles de tu app para desplegar en Capgo Cloud, incluyendo upload, comprobaciones de compatibilidad y cifrado.

Alias: u

Ventana de la terminal
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:

Ventana de la terminal
npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,beta

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

Ventana de la terminal
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 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ámetroTipoDescripción
-astringClave API para vincular a tu cuenta
-pstringRuta de la carpeta a subir; si no se indica, usará el webDir de capacitor.config
-cstringCanal al que vincular. Usa comas para varios canales, ej: production,beta
—rolloutstringEstablece el bundle subido como objetivo de rollout del canal con un porcentaje de 0 a 100
—stablebooleanEn un canal con rollout configurado, reemplaza el fallback estable en vez de fijar el objetivo de rollout
—rollout-percentage-bpsstringEstablece el porcentaje de rollout del bundle en puntos básicos (bps) de 0 a 10000
—rollout-cache-ttl-secondsstringTTL de la caché de decisiones de rollout de Cloudflare en segundos
-estringEnlaza a una URL externa en vez de subir a Capgo Cloud
—iv-session-keystringEstablece el IV y la session key para la URL externa del bundle
—s3-regionstringRegión de tu bucket S3
—s3-apikeystringClave API para tu endpoint S3
—s3-apisecretstringSecret API para tu endpoint S3
—s3-endpointstringURL del endpoint S3
—s3-bucket-namestringNombre de tu bucket de AWS S3
—s3-portstringPuerto para tu endpoint de S3
—no-s3-sslbooleanDesactiva SSL para la subida a S3
—key-v2stringRuta personalizada para la clave de firma privada (sistema v2)
—key-data-v2stringClave de firma privada (sistema v2)
—bundle-urlbooleanImprime la URL del bundle en stdout
—no-keybooleanIgnora la clave de firma y envía la actualización sin cifrar
—no-code-checkbooleanIgnora la comprobación de si notifyAppReady() se llama en el code fuente y si el index está en la raíz
—display-iv-sessionbooleanMuestra en la consola el IV y la session key usados para cifrar la actualización
-bstringNúmero de versión del bundle que se va a subir
—auto-bumpstringIncrementa 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)
—linkstringEnlaza a un recurso externo (ej. release de GitHub)
—commentstringComentario sobre esta versión; puede ser una nota de lanzamiento, un hash de commit, un mensaje de commit, etc.
—min-update-versionstringVersió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-versionbooleanEstablece la versión mínima de actualización basada en los paquetes nativos.
—ignore-metadata-checkbooleanIgnora la comprobación de metadata (node_modules) al hacer el upload.
—fail-on-incompatiblebooleanFalla 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-checkbooleanIgnora la comprobación del checksum al hacer el upload.
—force-crc32-checksumbooleanFuerza el checksum CRC32 para el upload (anula la autodetección)
—timeoutstringTiempo de espera para el proceso de upload en segundos
—multipartboolean[OBSOLETO] Usa —tus en su lugar. Usa el protocolo multipart para subidas a S3
—zipbooleanSube el bundle usando zip a la nube de Capgo (legacy)
—tusbooleanSube el bundle usando TUS a la nube de Capgo
—tus-chunk-sizestringTamaño de chunk en bytes para uploads resumibles con TUS (por defecto: auto)
—partialboolean[DEPRECATED] Usa —delta en su lugar. Sube actualizaciones incrementales
—partial-onlyboolean[DEPRECATED] Usa —delta-only en su lugar. Sube solo actualizaciones incrementales, omite el bundle completo
—deltabooleanSube actualizaciones delta (solo archivos cambiados) para actualizaciones instantáneas y ultra rápidas en vez de pesados archivos zip
—delta-onlybooleanSube solo actualizaciones delta sin el bundle completo para máxima velocidad (útil en apps grandes)
—no-deltabooleanDesactiva las actualizaciones delta aunque las instant updates estén habilitadas
—encrypted-checksumstringUn checksum cifrado (firma). Se usa solo al subir un bundle externo.
—auto-set-bundlebooleanConfigura el bundle en capacitor.config.json
—dry-uploadbooleanSimula 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-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)
—node-modulesstringRutas a los directorios node_modules para monorepos (separadas por comas)
—encrypt-partialbooleanEncripta los archivos de delta update (activado por defecto para updater > 6.14.4)
—delete-linked-bundle-on-uploadbooleanLocaliza el bundle vinculado actualmente en el canal al que intentas hacer upload y lo elimina
—no-brotli-patternsstringArchivos a excluir de la compresión Brotli (globs separados por comas, ej: “.jpg,.png”)
—disable-brotlibooleanDesactiva por completo la compresión Brotli aunque la versión del updater la soporte
—version-exists-okbooleanFinaliza con éxito si la versión del bundle ya existe; útil para CI/CD con monorepos
—self-assignbooleanPermitir que los dispositivos se unan automáticamente a este canal (ajuste del canal de updates)
—qr-previewbooleanMuestra un code QR en la terminal para previsualizar este bundle tras el upload
—send-update-notificationbooleanEnvía una notificación de comprobación de actualización nativa a los dispositivos tras actualizar los bundles del canal vinculado
—supa-hoststringURL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo)
—supa-anonstringClave anon de Supabase personalizada (para self-hosting)
—verbosebooleanActiva la salida verbose con logs detallados
Ventana de la terminal
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:

Ventana de la terminal
npx @capgo/cli@latest bundle compatibility com.example.app --channel production

Opciones:

ParámetroTipoDescripción
-astringClave API para vincular a tu cuenta
-cstringCanal para comprobar la compatibilidad
—textbooleanMuestra texto en lugar de emojis
—package-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)
—node-modulesstringRutas a los directorios node_modules para monorepos (separadas por comas)
—supa-hoststringURL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo)
—supa-anonstringClave anon de Supabase personalizada (para self-hosting)
Ventana de la terminal
npx @capgo/cli@latest bundle releaseType

🧭 Imprime “native” o “OTA” según la compatibilidad con los últimos metadatos del canal.

Ejemplo:

Ventana de la terminal
npx @capgo/cli@latest bundle releaseType com.example.app --channel production

Opciones:

ParámetroTipoDescripción
-astringClave API para vincular a tu cuenta
-cstringCanal para comparar
—package-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)
—node-modulesstringRutas a los directorios node_modules para monorepos (separadas por comas)
—supa-hoststringURL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo)
—supa-anonstringClave anon de Supabase personalizada (para self-hosting)

Alias: d

Ventana de la terminal
npx @capgo/cli@latest bundle delete

🗑️ Elimina un bundle específico de Capgo Cloud, con la opción de elegir una versión.

Ejemplo:

Ventana de la terminal
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app

Opciones:

ParámetroTipoDescripción
-astringClave API para vincular a tu cuenta
—supa-hoststringURL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo)
—supa-anonstringClave anon de Supabase personalizada (para self-hosting)

Alias: l

Ventana de la terminal
npx @capgo/cli@latest bundle list

📋 Lista todos los bundles subidos para una app en Capgo Cloud.

Ejemplo:

Ventana de la terminal
npx @capgo/cli@latest bundle list com.example.app

Opciones:

ParámetroTipoDescripción
-astringClave API para vincular a tu cuenta
—supa-hoststringURL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo)
—supa-anonstringClave anon de Supabase personalizada (para self-hosting)

Alias: c

Ventana de la terminal
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:

Ventana de la terminal
npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3

Opciones:

ParámetroTipoDescripción
-bstringNúmero de versión del bundle de la app a eliminar
-astringClave API para vincular a tu cuenta
-kstringNúmero de versiones a mantener
-fbooleanForzar eliminación
—ignore-channelbooleanElimina bundles aunque estén vinculados a channels (ADVERTENCIA: también elimina channels)
—supa-hoststringURL de host de Supabase personalizada (para self-hosting o desarrollo en Capgo)
—supa-anonstringClave anon de Supabase personalizada (para self-hosting)
Ventana de la terminal
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:

Ventana de la terminal
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM

Opciones:

ParámetroTipoDescripción
—keystringRuta personalizada para la clave de firma privada
—key-datastringClave de firma privada
-jbooleanSalida en formato JSON
—package-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)
Ventana de la terminal
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:

Ventana de la terminal
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM

Opciones:

ParámetroTipoDescripción
—keystringRuta personalizada para la clave de firma privada
—key-datastringClave de firma privada
—checksumstringChecksum del bundle para verificar su integridad
—package-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)
Ventana de la terminal
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:

Ventana de la terminal
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

Opciones:

ParámetroTipoDescripción
-pstringRuta de la carpeta a subir; si no se indica, usará el webDir de capacitor.config
-bstringNúmero de versión del bundle para nombrar el archivo zip
-nstringNombre del archivo zip
-jbooleanSalida en JSON
—no-code-checkbooleanIgnorar la comprobación de si se llama a notifyAppReady() en el code fuente y si el index está en la carpeta raíz
—key-v2booleanUsa el cifrado v2
—package-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)