ガイド
Capacitor+コアに関するチュートリアル
Capacitor+ (@capacitor-plus) パッケージを使用する
Capacitor+ は、自動的に同期されるフォークです。 Capacitor __CAPGO_KEEP_0__を管理している Capgo。公式のCapacitorパッケージに置き換えることができる代替品です。公式のパッケージとは一つの大きな違いがあります。 公式のパッケージとは異なり、コミュニティからのPRや修正がより速くマージされる.
Capacitor+の存在理由
IonicチームはCapacitorを自身の優先順位とリリーススケジュールに従って管理しています。これは、コミュニティからの貢献 - バグ修正、改善、機能 - が、数か月もしくは数年間待たされる可能性があります。あるいは、全く取り込まれません。
Capacitor+はこの問題を解決するために:
- フォークからのPRをマージする - 上流キューに詰まっている価値のあるPRが、積極的にマージされます。
- 連続したSync - 上流Capacitorから変更が自動的に取得され、テストされ、検証されます。
- 迅速なリリース - 変更がCIを通過すると、npmの下のスコープで自動的に公開されます。
@capacitor-plusコミュニティ第一 - - ご貢献が大切にされて優先されます。 セキュリティレビュー
- Community-First - 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';
Capgo+のしくみ
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- 毎日同期: GitHubアクションは最新の変更を取得します。
ionic-team/capacitor - PRの作成: 変更はプルリクエストとして提案されます。
plusブランチ - CI検証: 全テストスイートが実行されます (lint、ユニットテスト、iOSビルド、Androidビルド)
- Claude Code Review: AI-powered comprehensive security analysis checks for:
- セキュリティ脆弱性 (インジェクション、XSS など)
- Breaking API changes
- クラッシュリスクと安定性問題
- データの整合性とプライバシーに関する懸念
- 悪意のある code パターン
- Auto-Merge: Only if CI passes AND Claude approves (no issues detected)
- Auto-Publish: A new version is published to npm under
@capacitor-plus/*
Security Review
Every upstream sync is analyzed for:
| 確認 | 説明 |
|---|---|
| セキュリティ | コマンドインジェクション、XSS、パス・トラバーサル、ハードコードされたシークレットなど |
| 変更点 | 削除/名前変更されたAPI、サインチャージャー変更、構成フォーマット変更 |
| 安定性 | Nullポインタ参照、未処理の例外、レース条件、メモリリーク |
| データセキュリティ | データロスシナリオ、プライバシー侵害、不正確なストレージ |
| Code の完全性 | オブフュージド code、疑わしいネットワークコール、バックドア |
問題が検出された場合、PRは手動レビュー用にフラグ付けされ、自動マージされません。
PRをマージしたい?
Have a PR stuck in the official Capacitor repo? Here's how to get it into Capacitor+:
- 問題を開く __CAPGO_KEEP_0__+リポジトリ Capacitor+ repo または直接
- __CAPGO_KEEP_1__ チームはそれをレビューし、CIを実行し、通過した場合にマージします。
plusこの方法で、すぐにアップストリームのリリースサイクルを待たずに、自分の作業や他の人々がすぐにその利益を受けることができます。 - ここで、__CAPGO_KEEP_0__+リポジトリのPRを__CAPGO_KEEP_1__に移動する方法を説明します。
ここで、__CAPGO_KEEP_0__+リポジトリのPRを__CAPGO_KEEP_1__に移動する方法を説明します。
Benefits
- Get Stuck PRs Now: upstream から受け取ったコミュニティの修正と機能がマージされる
- Stay Current: CI が通過した直後にアップストリームの修正を取得する
- Security First: すべての変更は脆弱性や安定性のリスクを検証する
- Verified Releases: CI テストと AI セキュリティレビューの両方を通過した変更のみが公開される
- Drop-in Replacement: Same API as Capacitor, just a different package scope
- Your Voice Matters: upstream 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アプリの更新が速くなります。アプリはバグ修正と機能の恩恵を受けることができます。公式のリリースサイクルを待つ必要はありません。