Saltar al contenido

📦 bundle

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

Alias: u

Ventana de 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. 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:

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

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

Ventana de 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 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ámetroTipoDescripción
-astringclave API para vincular a tu cuenta
-pstringRuta de la carpeta a subir. Si no se proporciona, se usará el webDir definido en capacitor.config
-cstringCanal al que vincular. Usa comas para múltiples canales, por ejemplo production,beta
—rolloutstringEstablece el bundle subido como objetivo de rollout de este canal, con un porcentaje de 0 a 100
—stablebooleanEn un canal configurado para rollout, reemplaza el fallback estable en lugar de establecer el objetivo de rollout
—rollout-percentage-bpsstringEstablece el porcentaje de rollout del bundle subido en puntos básicos, de 0 a 10000
—rollout-cache-ttl-secondsstringTTL en segundos de la caché de decisión de rollout de Cloudflare
-estringEnlace a una URL externa en lugar de subir a Capgo Cloud
—iv-session-keystringEstablece la IV y la clave de sesión para la URL externa del bundle
—s3-regionstringRegión de tu bucket S3
—s3-apikeystringClave API para tu endpoint S3
—s3-apisecretstringSecreto API para tu endpoint S3
—s3-endpointstringURL del endpoint S3
—s3-bucket-namestringNombre de tu bucket AWS S3
—s3-portstringPuerto de tu endpoint S3
—no-s3-sslbooleanDesactivar 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-checkbooleanIgnorar 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-sessionbooleanMuestra en la consola el IV y la session key usados para cifrar la actualización
-bstringNúmero de versión del bundle a subir
—auto-bumpstringIncrementa 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)
—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. Se usa solo si la actualización automática está deshabilitada en el metadata del canal
—auto-min-update-versionbooleanEstablece la versión mínima de actualización basada en los paquetes nativos
—ignore-metadata-checkbooleanIgnora la verificación de metadata (node_modules) al subir
—fail-on-incompatiblebooleanFalla 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-checkbooleanIgnora la verificación de checksum al subir
—force-crc32-checksumbooleanForzar checksum CRC32 para la subida (anular la detección automática)
—timeoutstringTiempo de espera del proceso de subida 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 (legado)
—tusbooleanSube el bundle usando TUS a la nube de Capgo
—tus-chunk-sizestringTamaño de chunk en bytes para subidas TUS reanudables (predeterminado: auto)
—partialboolean[OBSOLETO] Usa —delta en su lugar. Sube actualizaciones incrementales
—partial-onlyboolean[OBSOLETO] Usa —delta-only en su lugar. Sube solo actualizaciones incrementales, omite el bundle completo
—deltabooleanSube actualizaciones delta (solo archivos modificados) para actualizaciones instantáneas y ultrarrápidas en lugar de descargas de zip grandes
—delta-onlybooleanSube solo actualizaciones delta sin el bundle completo para máxima velocidad (útil para apps grandes)
—no-deltabooleanDisable delta updates even if instant updates are enabled
—encrypted-checksumstringUn checksum cifrado (firma). Se usa solo al subir un bundle externo.
—auto-set-bundlebooleanEstablece el bundle en capacitor.config.json
—dry-uploadbooleanSimula 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-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)
--node-modulesstringRutas a los directorios node_modules para monorepos (separadas por comas)
—encrypt-partialbooleanCifra los archivos de actualización delta (activado automáticamente para updater > 6.14.4)
—delete-linked-bundle-on-uploadbooleanLocaliza el bundle actualmente vinculado en el canal al que intentas subirlo y lo elimina
—no-brotli-patternsstringArchivos a excluir de la compresión Brotli (globs separados por comas, p. ej., “.jpg,.png”)
—disable-brotlibooleanDesactiva por completo la compresión Brotli, incluso si la versión del updater lo admite
—version-exists-okbooleanSale con éxito si la versión del bundle ya existe, útil para flujos de CI/CD con monorepos
--self-assignbooleanPermite que dispositivos se unan solos al canal (ajuste del canal de actualizaciones)
—qr-previewbooleanImprime un QR de terminal code para esta vista previa del bundle tras la subida
—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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo)
—supa-anonstringClave anon personalizada de Supabase (para self-hosting)
—verbosebooleanActiva la salida verbose con logs detallados
Ventana de 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 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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo)
—supa-anonstringClave anon personalizada de Supabase (para self-hosting)
Ventana de terminal
npx @capgo/cli@latest bundle releaseType

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

Ejemplo:

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

Opciones:

ParámetroTipoDescripción
-astringclave API para vincular a tu cuenta
-cstringCanal de comparación
--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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo)
—supa-anonstringClave anon personalizada de Supabase (para self-hosting)

Alias: d

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

Ventana de 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 del host de Supabase personalizada (para self-hosting o desarrollo con Capgo)
—supa-anonstringClave anon personalizada de Supabase (para self-hosting)

Alias: l

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

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

Ejemplo:

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

Opciones:

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

Alias: c

Ventana de 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 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 conservar
-fbooleanForzar eliminación
—ignore-channelbooleanEliminar bundles aunque estén vinculados a canales (ADVERTENCIA: también elimina los canales)
—supa-hoststringURL del host de Supabase personalizada (para self-hosting o desarrollo con Capgo)
—supa-anonstringClave anon personalizada de Supabase (para self-hosting)
Ventana de terminal
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:

Ventana de 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 JSON
--package-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)
Ventana de terminal
npx @capgo/cli@latest bundle decrypt

🔓 Desencripta un bundle cifrado (principalmente para pruebas). Imprime la clave de sesión en base64 para verificarla.

Ejemplo:

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

Ventana de 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 proporciona, se usará el webDir definido en 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-v2booleanUsar cifrado v2
--package-jsonstringRutas a los archivos package.json para monorepos (separadas por comas)