メインコンテンツにジャンプします
プラグインに戻る
capacitor-plus/core
チュートリアル
capacitor-plus/core

Capacitor+ Core

Capacitor+ は、コミュニティの PR をマージし、迅速なリリースを実施した Capacitor の自動化された、常に同期されたフォークです。

ガイド

Capacitor+のチュートリアル

Capacitor+ (@capacitor-plus) パッケージの使用

Capacitor+は、常に同期された自動フォークです Capacitor __CAPGO_KEEP_0__によって維持されています Capgo. これは公式のCapacitorパッケージの置き換えです。ただし、公式のパッケージとは異なり、コミュニティからのPRや修正がより速くマージされるという1つの大きな利点があります。 __CAPGO_KEEP_0__+は、公式の__CAPGO_KEEP_0__パッケージの置き換えです。ただし、公式のパッケージとは異なり、コミュニティからのPRや修正がより速くマージされるという1つの大きな利点があります。.

Why Capacitor+の存在理由

イオニックチームはCapacitorを独自の優先順位とリリーススケジュールで管理しています。このため、コミュニティからの貢献 - バグ修正、改善、機能 - は、数か月もしくは数年間待たされることもあります。あるいは、全く取り込まれません。

Capacitor+はこの問題を解決することで

  1. フォークからのPRのマージ - 上流キューに溜まっている価値のあるPRが積極的にマージされる
  2. 連続したSync - 上流Capacitorから毎回の変更が自動的に取得され、テストされ、検証される
  3. 迅速なリリース - 変更がCIを通過すると、npmに自動的に公開されます。 @capacitor-plus スコープ
  4. コミュニティ第一 - ご貢献は大切にされ、優先される
  5. セキュリティレビュー済み - セキュリティ脆弱性、破壊的変更、安定性リスクを分析するAIによって、すべての変更がレビューされます。

利用可能なパッケージ

パッケージ 説明
@capacitor-plus/core コアランタイムライブラリ
@capacitor-plus/cli コマンドラインインターフェイス
@capacitor-plus/android Android ランタイム
@capacitor-plus/ios iOS ランタイム

インストール

新しいプロジェクト

新しいプロジェクトの場合、公式のパッケージの代わりに Capacitor+ パッケージを使用してください:

npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android  # for Android
npm install @capacitor-plus/ios      # for iOS

プロジェクトを初期化してください:

npx cap init
npx cap add android
npx cap add ios

Migrating from Official Capacitor

To migrate an existing project from official Capacitor to 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

Since Capacitor+ is a drop-in replacement with the same API, no code changes are required. Your imports remain the same:

// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';

Capacitor+のしくみ

┌─────────────────────┐     ┌──────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  ionic-team/        │     │  CI/CD           │     │  Claude Code     │     │  npm publish    │
│  capacitor          │────▶│  Pipeline        │────▶│  Security Review │────▶│  @capacitor-plus│
│  (upstream)         │     │  (daily sync)    │     │  (AI analysis)   │     │  packages       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. 毎日同期: GitHubアクションは最新の変更を取得します ionic-team/capacitor
  2. プルリクエストの作成: 変更はプルリクエストとして提案されます plus ブランチ
  3. CI検証: 全テストスイートが実行されます (lint、ユニットテスト、iOSビルド、Androidビルド)
  4. クラウドのClaude Code レビュー: AIが駆使する、総合的なセキュリティ分析チェック
    • :
    • Breaking API changes
    • クラウドの __CAPGO_KEEP_0__ の変更
    • クラッシュリスクと安定性の問題
    • Malicious code patterns
  5. 悪意のある __CAPGO_KEEP_0__ のパターンAuto-Merge
  6. : CIが通過し、クラウドのClaudeが承認 (問題なし) の場合のみ: A new version is published to npm under @capacitor-plus/*

: 新しいバージョンが __CAPGO_KEEP_0__ の下のセキュリティレビューに公開される

アップストリームの同步は次の点を分析します:

確認 説明
セキュリティ コマンドインジェクション、XSS、パス・トラバーサル、ハードコードされたシークレットなど
変更点 削除または名前変更されたAPI、サインチャージャー変更、構成形式変更
安定性 Nullポインタ参照、未処理の例外、レース条件、メモリリーク
データセーフティ データロスシナリオ、プライバシー違反、不正確なストレージ
Code インテグリティ 暗号化された code, 不審のネットワークコール、バックドア

問題が検出された場合、PRは手動レビューのためにフラグが付けられ、自動マージされません。

PRをマージしたい?

Capacitor公式リポジトリにPRが詰まっている場合、Capacitor+にどうやって入れるか?

  1. 問題を報告する in the Capacitor+リポジトリ アップストリームのPRにリンク
  2. または直接 branch plus チームがレビューし、CIを実行し、通過した場合にマージします
  3. branch

この方法で、すぐにアップストリームのリリースサイクルを待たずに、他のユーザーもあなたの作業の利益を受けることができます。

利点

  • 現在のPRを取得: アップストリームで待っているコミュニティの修正と機能がマージされます
  • 最新の情報を保持する: CIを通過したアップストリームの修正をすぐに取得
  • セキュリティが第一: すべての変更は脆弱性と安定性のリスクを検証します
  • 検証済みのリリース: CIテストとAIセキュリティレビューの両方を通過した変更のみが公開されます
  • ドロップイン置き換え: Same API as Capacitor, just a different package scope
  • あなたの声が聞こえる: 自分のPRを提出するか、特定のアップストリームPRをマージするように依頼する

例: Capacitor+をプラグインと組み合わせる

Capacitorのオフィシャルプラグインはすべて、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();

Capgoのプラグインも、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' });

これが終わりです! Capacitorのコミュニティ改善がマージされる速度が速くなり、Capacitorの更新が速くなります。アプリはバグ修正と機能の恩恵を受けることができます。オフィシャルリリースサイクルを待つ必要はありません。

続けて、Using Capacitor+ (@capacitor-plus) Packages

あなたが使用している Using Capacitor+ (@capacitor-plus) Packages プラグインの実装詳細を計画するために、__CAPGO_KEEP_0__+を使用する Capacitor+ Capacitor+ Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリの製品ワークフローについて Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, プラグインの追加または更新 プラグインの追加または更新の実装詳細について イオニック エンタープライズ プラグインの代替 イオニック エンタープライズ プラグインの代替の製品ワークフローについて