Comenzar
Instalación de Nuevo Proyecto
Section titled “Instalación de Nuevo Proyecto”-
Instalar paquetes principales
Terminal window npm install @capacitor-plus/core @capacitor-plus/cli -
Agregar paquetes de plataforma
Terminal window npm install @capacitor-plus/android # for Androidnpm install @capacitor-plus/ios # for iOS -
Inicializar Capacitor
Ventana de terminal npx cap initVentana de terminal pnpm cap initVentana de terminal yarn cap initVentana de terminal bunx cap init -
Agregar plataformas
Ventana de terminal npx cap Agregar androidVentana de terminal pnpm cap Agregar androidVentana de terminal yarn cap Agregar androidVentana de terminal bunx cap Agregar androidVentana de terminal npx cap Agregar iosVentana de terminal pnpm cap Agregar iosVentana de terminal yarn cap Agregar iosVentana de terminal bunx cap Agregar ios
Migración desde Capacitor Oficial
Section titled “Migración desde Capacitor Oficial”Si tienes un proyecto de Capacitor existente, migrar a Capacitor+ es simple:
-
Eliminar paquetes oficiales
Terminal window npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios -
Instalar paquetes de Capacitor+
Terminal window npm install @capacitor-plus/core @capacitor-plus/clinpm install @capacitor-plus/android # if using Androidnpm install @capacitor-plus/ios # if using iOS -
Sincronizar tu proyecto
Ventana de terminal npx cap syncVentana de terminal pnpm cap syncVentana de terminal yarn cap syncVentana de terminal bunx cap sync
Dado que Capacitor+ es compatible con la API, tu código existente funciona sin cambios:
import { Capacitor } from '@capacitor/core';import { registerPlugin } from '@capacitor/core';
// Check platformconst platform = Capacitor.getPlatform();console.log('Running on:', platform);
// Check if nativeif (Capacitor.isNativePlatform()) { console.log('Running on native platform');}
// Register a custom pluginconst MyPlugin = registerPlugin('MyPlugin');Con Plugins Oficiales de Capacitor
Section titled “Con Plugins Oficiales de Capacitor”Todos los Plugins oficiales de Capacitor funcionan sin problemas:
import { Camera, CameraResultType } from '@capacitor/camera';import { Geolocation } from '@capacitor/geolocation';import { Storage } from '@capacitor/preferences';
// Cameraconst photo = await Camera.getPhoto({ quality: 90, resultType: CameraResultType.Uri});
// Geolocationconst position = await Geolocation.getCurrentPosition();
// Storageawait Storage.set({ key: 'name', value: 'John' });Con Plugins de Capgo
Section titled “Con Plugins de Capgo”Los Plugins de Capgo funcionan perfectamente con Capacitor+:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';import { CapacitorFlash } from '@capgo/capacitor-flash';
// Live updatesawait CapacitorUpdater.notifyAppReady();
// Screen orientationawait ScreenOrientation.lock({ orientation: 'portrait' });
// Flashlightawait CapacitorFlash.toggle();Cómo Funciona la Sincronización
Section titled “Cómo Funciona la Sincronización”┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish ││ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus││ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘- Sincronización Diaria: GitHub Actions obtiene los últimos cambios de
ionic-team/capacitor - Creación de PR: Los cambios se proponen como Solicitudes de extracción a la rama
plus - Validación CI: Se ejecuta la suite de pruebas completa (lint, pruebas unitarias, compilación iOS, compilación Android)
- Revisión de Seguridad: El análisis impulsado por IA verifica vulnerabilidades y cambios importantes
- Auto-Merge: Solo si CI pasa Y la revisión de seguridad aprueba
- Auto-Publish: Nueva versión publicada en npm bajo
@capacitor-plus/*
Detalles de Revisión de Seguridad
Section titled “Detalles de Revisión de Seguridad”Cada sincronización upstream se analiza para:
| Verificación | Qué Detecta |
|---|---|
| Seguridad | Inyección de comandos, XSS, path traversal, secretos hardcodeados |
| Cambios Importantes | APIs eliminadas/renombradas, firmas modificadas, cambios de configuración |
| Estabilidad | Dereferencias nulas, excepciones no manejadas, condiciones de carrera, fugas de memoria |
| Seguridad de Datos | Escenarios de pérdida de datos, violaciones de privacidad, almacenamiento inseguro |
| Integridad del Código | Código ofuscado, llamadas de red sospechosas, puertas traseras |
Enviar tu PR
Section titled “Enviar tu PR”¿Tienes un PR atascado en el repositorio oficial de Capacitor? Hazlo fusionar en Capacitor+:
-
Abre un Problema en el repositorio de Capacitor+ enlazando a tu PR upstream
-
O envíalo directamente como PR a la rama
plus -
El equipo revisará, ejecutará CI y fusionará si pasa
De esta manera tú y otros pueden beneficiarse de tu trabajo inmediatamente sin esperar el ciclo de lanzamiento upstream.
Preguntas Frecuentes
Section titled “Preguntas Frecuentes”¿Está listo para producción?
Section titled “¿Está listo para producción?”Sí. Capacitor+ se usa en aplicaciones de producción. Cada lanzamiento pasa la misma suite de pruebas que Capacitor oficial, además de análisis de seguridad adicional.
¿Mis Plugins oficiales seguirán funcionando?
Section titled “¿Mis Plugins oficiales seguirán funcionando?”Sí. Todos los Plugins @capacitor/* funcionan con Capacitor+ sin problemas.
¿Qué pasa si upstream lanza un cambio importante?
Section titled “¿Qué pasa si upstream lanza un cambio importante?”La revisión de seguridad de IA marca cambios importantes para revisión manual. Verás los cambios documentados antes de que se fusionen.
¿Cómo reporto problemas?
Section titled “¿Cómo reporto problemas?”Reporta Problemas en el repositorio de GitHub de Capacitor+. Para problemas que también afectan a Capacitor oficial, ayudaremos a coordinar upstream.
¿Puedo contribuir?
Section titled “¿Puedo contribuir?”¡Absolutamente! Los PRs son bienvenidos. Puedes enviar correcciones directamente o solicitar que se fusionen PRs upstream específicos.