Passer à la navigation

Accueil

GitHub
  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. Initialisez 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 un projet Capacitor existant, la migration 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. Synchroniser votre projet

    Fenêtre de terminal
    npx cap sync

Puisque Capacitor+ est compatible avec API-, votre code existant 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 sans heurts :

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 Capgo plugins 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();
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
  1. Synchronisation quotidienne: Les GitHub Actions récupèrent les dernières modifications depuis ionic-team/capacitor
  2. Création de PR: Les modifications sont proposées sous forme de demandes de tirage vers le plus Branchement
  3. Validation CI: Tout le test complet s'exécute (lint, tests unitaires, build iOS, build Android)
  4. Vérification de la Sécurité: L'analyse alimentée par l'IA vérifie les vulnérabilités et les changements de comportement
  5. Auto-Merge: Seulement si la CI passe ET la vérification de la sécurité approuve
  6. Auto-Publication: Nouvelle version publiée sous npm @capacitor-plus/*

Tout synchronisation en amont est analysée pour :

VérificationCe qu'il Capturé
SécuritéInjection de commande, XSS, parcours de chemins, secrets fixés
Changements majeursAPIs supprimées/renommées, changements de signatures, modifications de config
StabilitéRéférences nulles, exceptions non gérées, conditions de course, fuites de mémoire
Sécurité des donnéesScénarios de perte de données, violations de la vie privée, stockage non sécurisé
Code IntégritéIntégrité obfusquée code, appels réseau suspects, backdoors

Un PR est coincé dans le référentiel officiel Capacitor ? Obtenez-le fusionné dans Capacitor+:

  1. Ouvrir une question dans le Capacitor+ référentiel en faisant référence à votre PR upstream

  2. Ou soumettre directement comme un PR sur la plus branch

  3. L'équipe passera en revue, exécutera la CI et fusionnera 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.

Oui. Capacitor+ est utilisé dans les applications de production. Chaque mise à jour passe le même ensemble de tests que le Capacitor officiel, 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 les plugins fonctionnent avec __CAPGO_KEEP_0__+ sans nécessiter de modification. @capacitor/* plugins work with Capacitor+ out of the box.

Section intitulée « Quoi si les mises à jour upstream déclenchent une modification de rupture ? »

All plugins work with __CAPGO_KEEP_0__+ out of the box.

La revue de sécurité AI détecte les changements de rupture pour examen manuel. Vous verrez les changements documentés avant qu'ils ne soient fusionnés.

Comment signaler des problèmes ?

Comment signaler des problèmes ?

Signalez des problèmes sur le Capacitor + GitHub repo Pour les problèmes qui affectent également Capacitor officiel, nous coordonnerons l'amont.

Absolument ! Les PR sont les bienvenus. Vous pouvez soumettre des correctifs directement ou demander que des PR spécifiques upstream soient fusionnés.

Si vous utilisez Démarrage pour planifier le travail de plugin natif, le connecter avec En utilisant Capacitor+ (@capacitor-plus) Packages pour la capacité native dans En utilisant Capacitor+ (@capacitor-plus) Packages, Répertoire de Plugin Capgo pour le flux de travail du produit dans Répertoire de Plugin Capgo, Plugins Capacitor par Capgo pour le détail d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou Mettre à Jour les Plugins pour le détail d'implémentation dans Ajouter ou Mettre à Jour les Plugins, et Alternatives de Plugin d'Entreprise Ionic pour le flux de travail du produit dans Alternatives de Plugin d'Entreprise Ionic.