Guide
Tutoriel sur Capacitor+ Core
Utilisation de Capacitor+ (@capacitor-plus) Packages
Capacitor+ est une branche automatique et toujours synchronisée de Capacitor entretenu par Capgo Il fournit une substitution de remplacement pour les packages officiels Capacitor avec un avantage clé : Les PR de la communauté et les correctifs sont fusionnés plus rapidement.
Pourquoi Capacitor+ existe
L'équipe Ionic maintient Capacitor avec leurs propres priorités et calendrier de publication. Cela signifie que les contributions de la communauté - corrections de bogues, améliorations et fonctionnalités - peuvent attendre des mois ou même des années pour être fusionnées. Certains ne sont jamais intégrés du tout.
Capacitor+ résout ce problème en :
- Fusionner les PR à partir de Forks - Les PR précieux qui sont coincés dans la file d'attente de l'amont sont activement fusionnés
- Synchronisation Continue - Chaque changement de l'amont Capacitor est automatiquement récupéré, testé et vérifié
- Déploiements Rapides - Lorsque les changements passent par la CI, ils sont automatiquement publiés à npm sous
@capacitor-plusportée - Premier de la communauté - Vos contributions comptent et sont prioritaires
- Examiné en matière de sécurité - Chaque modification est analysée par l'IA pour les vulnérabilités de sécurité, les changements de rupture et les risques de stabilité
Packages disponibles
| Package | Description |
|---|---|
@capacitor-plus/core |
Bibliothèque de runtime de base |
@capacitor-plus/cli |
Interface de ligne de commande |
@capacitor-plus/android |
Runtime Android |
@capacitor-plus/ios |
Runtime iOS |
Installation
Nouveau Projet
Pour un nouveau projet, utilisez simplement les paquets Capacitor+ au lieu des officiels :
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # for Android
npm install @capacitor-plus/ios # for iOS
Initialisez ensuite votre projet :
npx cap init
npx cap add android
npx cap add ios
Migrer depuis les Capacitor officiels
Pour migrer un projet existant depuis les Capacitor officiels vers les Capacitor+:
# Remove official packages
npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
# Install Capacitor+ packages
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # if using Android
npm install @capacitor-plus/ios # if using iOS
Puisque Capacitor+ est un remplacement sans effort avec les mêmes API, aucune code modification n'est requise. Vos imports restent les mêmes :
// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
Comment ça marche
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Synchronisation quotidienne: Une action GitHub récupère les dernières modifications depuis
ionic-team/capacitor - Création de PR: Les modifications sont proposées sous forme de demandes de tirage vers les
plusbranch - Validation de CI: Exécution complète du jeu de tests (lint, tests unitaires, build iOS, build Android)
- Examen de Claude Code: Analyse de sécurité approchée par l'intelligence artificielle pour :
- Vulnérabilités de sécurité (injection, XSS, etc.)
- Problèmes de API qui peuvent casser
- Risques de plantage et problèmes de stabilité
- Préoccupations concernant l'intégrité et la confidentialité des données
- Modèles malveillants de code
- Auto-Merge: Seul si la CI passe ET Claude approuve (aucun problème détecté)
- Publier automatiquement: Une nouvelle version est publiée sur npm sous
@capacitor-plus/*
Révision de sécurité
Chaque synchronisation en amont est analysée pour :
| Vérifier | Description |
|---|---|
| Sécurité | Injection de commandes, XSS, parcours de chemins, secrets fixés, etc. |
| Changements majeurs | API supprimées/renommées, signatures modifiées, changements de format de configuration |
| Stabilité | Références à null, exceptions non gérées, conditions de course, fuites de mémoire |
| Sécurité des Données | Scénarios de perte de données, violations de la vie privée, stockage non sécurisé |
| Code Intégrité | Intégrité code masquée, appels réseau suspects, backdoors |
Si des problèmes sont détectés, le PR est signalé pour une revue manuelle et NE sera PAS fusionné automatiquement.
Vous Voulez Que Votre PR Soit Fusionné?
Avez-vous un PR bloqué dans le référentiel officiel Capacitor? Voici comment le faire passer dans Capacitor+:
- Ouvrir un problème dans le Capacitor+ référentiel en faisant référence à votre PR upstream
- Ou soumettre le PR directement à la
plusbranche - L'équipe le passera en revue, exécutera la CI et le mergera si cela passe
De cette façon, vous et les autres pouvez bénéficier de votre travail immédiatement, sans attendre le cycle de mise à jour upstream.
Avantages
- Bloquez les PRs maintenantFixes et fonctionnalités de la communauté qui attendent upstream sont fusionnés
- Restez à jourObtenez les correctifs upstream dès qu'ils passent la CI
- Sécurité d'abordChaque changement est examiné pour les vulnérabilités et les risques de stabilité
- Sorties vérifiées: Seules les modifications qui passent à la fois les tests CI et la revue de sécurité AI sont publiées
- Déplacement de remplacement: Même API que Capacitor, mais avec un champ de portée de package différent
- Votre Voix Compte: Soumettre vos propres PRs ou demander des PRs upstream spécifiques pour être fusionnés
Exemple : Utilisation de Capacitor+ avec des plugins
Tous les plugins officiels Capacitor fonctionnent sans heurt avec Capacitor+:
import { Capacitor } from '@capacitor/core';
import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
// Everything works exactly the same
const platform = Capacitor.getPlatform();
const photo = await Camera.getPhoto({
resultType: CameraResultType.Uri
});
const position = await Geolocation.getCurrentPosition();
Les plugins Capgo fonctionnent également parfaitement avec Capacitor+:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Use Capgo plugins with Capacitor+
await CapacitorUpdater.notifyAppReady();
await ScreenOrientation.lock({ orientation: 'portrait' });
C'est tout ! Vous avez maintenant une version mise à jour plus rapide de Capacitor avec des améliorations de la communauté intégrées plus rapidement. Vos applications bénéficieront de corrections de bogues et de fonctionnalités sans attendre le cycle de publication officiel.
Continuez à partir de l'utilisation de Capacitor+ (@capacitor-plus) Packages
Si vous utilisez Utilisation de Capacitor+ (@capacitor-plus) Packages planifier le travail de plugin natif, le connecter avec Capacitor+ détails d'implémentation dans Capacitor+ Capgo Répertoire de plugins détails de flux de travail du produit dans Capgo Répertoire de plugins, Capacitor Plugins par Capgo détails d'implémentation dans Capacitor Plugins par Capgo, Ajouter ou Mettre à Jour des Plugins détails d'implémentation dans Ajouter ou Mettre à Jour des Plugins, et Alternatives de Plugins Entreprise Ionic détails de flux de travail du produit dans Alternatives de Plugins Entreprise Ionic.