Aller au contenu

Prise en main

GitHub
bun add @capgo/capacitor-plus
npx cap sync
  • Remplacez toutes les dépendances @capacitor/*.
  • Régénérez les projets natifs après la migration.
  • Lisez les release notes avant de bump.

Vous pouvez utiliser notre configuration assistée par IA pour installer Capacitor+. Ajoutez les skills Capgo à votre outil IA avec la commande suivante :

Fenêtre de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Utilisez ensuite le prompt suivant :

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capacitor-plus/core`, `@capacitor-plus/cli`, `@capacitor-plus/android`, and `@capacitor-plus/ios` packages in my project.

Si vous préférez une installation manuelle, installez les packages en exécutant les commandes suivantes et suivez les instructions spécifiques à chaque plateforme ci-dessous :

  1. Installer les packages de base

    Fenêtre de terminal
    npm install @capacitor-plus/core @capacitor-plus/cli
  2. Ajouter les packages de plateforme

    Fenêtre de terminal
    npm install @capacitor-plus/android # for Android
    npm install @capacitor-plus/ios # for iOS
  3. Initialiser Capacitor

    Fenêtre de terminal
    npx cap init
  4. Ajouter des plateformes

    Fenêtre de terminal
    npx cap add android
    Fenêtre de terminal
    npx cap add ios

Si vous avez déjà un projet Capacitor, migrer vers Capacitor+ est simple :

  1. Supprimer les packages officiels

    Fenêtre de terminal
    npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
  2. Installer les packages Capacitor+

    Fenêtre de terminal
    npm install @capacitor-plus/core @capacitor-plus/cli
    npm install @capacitor-plus/android # if using Android
    npm install @capacitor-plus/ios # if using iOS
  3. Synchronisez votre projet

    Fenêtre de terminal
    npx cap sync

Puisque Capacitor+ est compatible avec API, votre code actuel fonctionne sans modification :

import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
// Check platform
const platform = Capacitor.getPlatform();
console.log('Running on:', platform);
// Check if native
if (Capacitor.isNativePlatform()) {
console.log('Running on native platform');
}
// Register a custom plugin
const MyPlugin = registerPlugin('MyPlugin');

Tous les plugins officiels Capacitor fonctionnent parfaitement :

import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
import { Storage } from '@capacitor/preferences';
// Camera
const photo = await Camera.getPhoto({
quality: 90,
resultType: CameraResultType.Uri
});
// Geolocation
const position = await Geolocation.getCurrentPosition();
// Storage
await Storage.set({ key: 'name', value: 'John' });

Les plugins Capgo fonctionnent parfaitement avec Capacitor+ :

import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
import { CapacitorFlash } from '@capgo/capacitor-flash';
// Live updates
await CapacitorUpdater.notifyAppReady();
// Screen orientation
await ScreenOrientation.lock({ orientation: 'portrait' });
// Flashlight
await CapacitorFlash.toggle();

Fonctionnement de la synchronisation

Section titled “How the Sync Works”
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
  1. Daily Sync : Les actions GitHub récupèrent les derniers changements de ionic-team/capacitor
  2. Création de la PR: Les changements sont proposés via des pull requests vers le plus branche
  3. Validation CI: Exécution de la suite de tests complète (lint, tests unitaires, build iOS, build Android)
  4. Revue de sécurité: L'analyse par IA vérifie les vulnérabilités et les breaking changes
  5. Auto-merge: Uniquement si la CI passe ET si la revue de sécurité approuve
  6. Auto-publication: Nouvelle version publiée sur npm sous @capacitor-plus/*

Chaque synchronisation amont est analysée pour :

VérifierCe qu'elle détecte
SécuritéInjection de commande, XSS, path traversal, secrets codés en dur
Breaking changesAPI supprimées/renommées, signatures modifiées, changements de config
StabilitéDéréférencements de null, exceptions non gérées, race conditions, fuites de mémoire
Data SafetyScénarios de perte de données, atteintes à la vie privée, stockage non sécurisé
Intégrité de l'Codecode obfusqué, appels réseau suspects, backdoors

Une PR est bloquée dans le repo officiel Capacitor ? Faites-la fusionner en Capacitor+ :

  1. Ouvrir une issue dans l' Repo Capacitor+ faisant le lien avec votre PR upstream

  2. Ou soumettez directement via une PR sur la plus branche

  3. L'équipe relira, lancera la CI et fusionnera si tout passe

De cette façon, vous et les autres pouvez bénéficier de votre travail immédiatement, sans attendre le cycle de release en amont.

Oui. Capacitor+ est utilisé dans des applications en production. Chaque release passe la même suite de tests que les Capacitor officiels, plus une analyse de sécurité supplémentaire.

Mes plugins officiels fonctionneront-ils toujours ?

Section intitulée « Mes plugins officiels fonctionneront-ils toujours ? »

Oui. Tous @capacitor/* les plugins fonctionnent avec Capacitor+ immédiatement.

Que se passe-t-il si l'upstream publie un breaking change ?

Section intitulée « Et si l'upstream publie un breaking change ? »

L'analyse de sécurité IA signale les breaking changes pour une revue manuelle. Vous verrez les changements documentés avant leur fusion.

Signalez les problèmes sur le repo Capacitor+ GitHub. Pour les problèmes qui touchent aussi les Capacitor officiels, nous vous aiderons à coordonner avec l'upstream.

Absolument ! Les PR sont les bienvenues. Vous pouvez soumettre des correctifs directement ou demander la fusion de PR upstream spécifiques.

Si vous utilisez Prise en main pour planifier le travail sur les plugins natifs, connectez-l’à Utiliser les packages Capacitor+ (@capacitor-plus) pour la capacité native dans l'utilisation des packages Capacitor+ (@capacitor-plus), Capgo Répertoire des plugins pour le workflow produit dans Capgo Plugin Directory, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou mettre à jour des plugins pour les détails d'implémentation dans Ajout ou mise à jour de plugins, et Alternatives aux plugins Ionic Enterprise pour le workflow produit dans Alternatives aux plugins Ionic Enterprise.