Aller directement au contenu principal
Retour aux plugins
@capacitor-plus/core
Tutoriel
@capacitor-plus/core

Capacitor+ Core

Capacitor+ est une branche automatique et toujours synchronisée de Capacitor avec les PR communautaires fusionnés et les sorties rapides

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 entretient 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.

Capacitor+ résout ce problème en :

  1. Fusionner les PR à partir de Forks - Les PR précieux qui sont bloqués dans la file d'attente de l'amont sont fusionnés activement
  2. Synchronisation continue - Chaque changement de l'amont Capacitor est automatiquement récupéré, testé et vérifié
  3. Lancements rapides - Lorsque les modifications passent par CI, elles sont automatiquement publiées sur npm sous le @capacitor-plus scope
  4. Communauté d'abord - Vos contributions comptent et sont prioritaires
  5. Vérifié en matière de sécurité - Chaque modification est analysée par l'IA pour les vulnérabilités de sécurité, les modifications 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 packages 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

Migration depuis le Capacitor officiel

Pour migrer un projet existant depuis le Capacitor officiel vers 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 remplaçant sans modification avec le même API, aucune modification code 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       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. Synchronisation quotidienne : Une action GitHub récupère 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 la plus branch
  3. Validation CI: Tout le jeu de tests s'exécute (lint, tests unitaires, build iOS, build Android)
  4. Examen de Claude Code: L'analyse de sécurité exhaustive, alimentée par l'IA, vérifie :
    • Vulnérabilités de sécurité (injection, XSS, etc.)
    • Breaking API changes
    • Problèmes de stabilité et risques de plantage
    • Problèmes de stabilité et risques de plantage
    • Malicious code patterns
  5. Problèmes de stabilité et risques de plantage et préoccupations de confidentialité des données : malveillance de __CAPGO_KEEP_0__ : modèles malveillants : auto-Merge: Seulement si CI passe et Claude approuve (aucun problème détecté)
  6. Auto-Publication: Une nouvelle version est publiée sous npm @capacitor-plus/*

Examen de Sécurité

Tout synchronisme upstream est analysé pour :

Vérifier Description
Sécurité Injection de commande, XSS, parcours de chemin, secrets fixés, etc.
Changements de rupture APIs supprimées/renommées, signatures modifiées, changements de format de configuration
Stabilité Références nulles, 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é obfusquée code, appels réseau suspects, backdoors

Si des problèmes sont détectés, le PR est signalé pour examen manuel 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+:

  1. Ouvrez une issue dans le Capacitor+ référentiel en liant à votre PR upstream
  2. Soumettez le PR directement à la plus branche
  3. L'équipe le passera en revue, exécutera la CI et le 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.

Avantages

  • Obtenez les PR bloqués maintenant: Les correctifs et les fonctionnalités de la communauté qui attendent upstream sont fusionnés
  • Restez à jour: Obtenez les correctifs upstream dès qu'ils passent la CI
  • Sécurité en premier: Chaque changement est examiné pour les vulnérabilités et les risques de stabilité
  • Releases Vérifiées: Seules les modifications qui passent à la fois par les tests CI et la revue de sécurité AI sont publiées
  • Remplacement Facultatif: Même API que Capacitor, mais avec un champ de portée de package différent
  • Votre Voix Compte: Soumettez vos propres PRs ou demandez des PRs upstream spécifiques pour être fusionnés

Exemple : Utilisation de Capacitor+ avec des Plugins

Tous les plugins officiels Capacitor fonctionnent sans heurts 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 correctifs de bogues et de fonctionnalités sans attendre le cycle de mise à jour officiel.

Continuez à partir de l'utilisation de Capacitor+ (@capacitor-plus) Packages

Si vous utilisez Utiliser Capacitor+ (@capacitor-plus) Packages pour planifier le travail de plugin natif, le connecter avec Capacitor+ pour les détails d'implémentation dans Capacitor+, Répertoire de Plugin Capgo pour le flux de travail du produit dans Répertoire de Plugin Capgo, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou Mettre à Jour les Plugins pour les détails 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.