はじめに
新規プロジェクトのインストール
Section titled “新規プロジェクトのインストール”-
コアパッケージをインストール
Terminal window npm install @capacitor-plus/core @capacitor-plus/cli -
プラットフォームパッケージを追加
Terminal window npm install @capacitor-plus/android # Android用npm install @capacitor-plus/ios # iOS用 -
Capacitorを初期化
Terminal window npx cap initTerminal window pnpm cap initTerminal window yarn cap initTerminal window bunx cap init -
プラットフォームを追加
Terminal window npx cap add androidTerminal window pnpm cap add androidTerminal window yarn cap add androidTerminal window bunx cap add androidTerminal window npx cap add iosTerminal window pnpm cap add iosTerminal window yarn cap add iosTerminal window bunx cap add ios
公式Capacitorからの移行
Section titled “公式Capacitorからの移行”既存のCapacitorプロジェクトがある場合、Capacitor+への移行は簡単です:
-
公式パッケージを削除
Terminal window npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios -
Capacitor+パッケージをインストール
Terminal window npm install @capacitor-plus/core @capacitor-plus/clinpm install @capacitor-plus/android # Androidを使用している場合npm install @capacitor-plus/ios # iOSを使用している場合 -
プロジェクトを同期
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
Capacitor+はAPI互換なので、既存のコードは変更なしで動作します:
import { Capacitor } from '@capacitor/core';import { registerPlugin } from '@capacitor/core';
// プラットフォームを確認const platform = Capacitor.getPlatform();console.log('Running on:', platform);
// ネイティブかどうかを確認if (Capacitor.isNativePlatform()) { console.log('Running on native platform');}
// カスタムプラグインを登録const MyPlugin = registerPlugin('MyPlugin');公式Capacitorプラグインと併用
Section titled “公式Capacitorプラグインと併用”すべての公式Capacitorプラグインがシームレスに動作します:
import { Camera, CameraResultType } from '@capacitor/camera';import { Geolocation } from '@capacitor/geolocation';import { Storage } from '@capacitor/preferences';
// Cameraconst photo = await Camera.getPhoto({ quality: 90, resultType: CameraResultType.Uri});
// Geolocationconst position = await Geolocation.getCurrentPosition();
// Storageawait Storage.set({ key: 'name', value: 'John' });Capgoプラグインと併用
Section titled “Capgoプラグインと併用”Capgoプラグインは、Capacitor+で完璧に動作します:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';import { CapacitorFlash } from '@capgo/capacitor-flash';
// ライブアップデートawait CapacitorUpdater.notifyAppReady();
// 画面の向きawait ScreenOrientation.lock({ orientation: 'portrait' });
// 懐中電灯await CapacitorFlash.toggle();同期の仕組み
Section titled “同期の仕組み”┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish ││ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus││ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘- 日次同期: GitHub Actions が
ionic-team/capacitorから最新の変更を取得 - PR作成: 変更は
plusブランチへのプルリクエストとして提案されます - CI検証: 完全なテストスイートが実行されます(lint、ユニットテスト、iOSビルド、Androidビルド)
- セキュリティレビュー: AI駆動の分析が脆弱性と破壊的変更をチェック
- 自動マージ: CIがパスし、かつセキュリティレビューが承認した場合のみ
- 自動公開: 新しいバージョンが
@capacitor-plus/*でnpmに公開されます
セキュリティレビューの詳細
Section titled “セキュリティレビューの詳細”すべてのアップストリーム同期は以下の分析が行われます:
| チェック | 検出内容 |
|---|---|
| セキュリティ | コマンドインジェクション、XSS、パストラバーサル、ハードコードされた秘密 |
| 破壊的変更 | 削除/名前変更されたAPI、変更されたシグネチャ、設定変更 |
| 安定性 | Null参照、未処理の例外、競合状態、メモリリーク |
| データ安全性 | データ損失シナリオ、プライバシー違反、安全でないストレージ |
| コード整合性 | 難読化されたコード、疑わしいネットワーク呼び出し、バックドア |
公式CapacitorリポジトリでPRが停滞していますか?Capacitor+でマージしてもらいましょう:
-
アップストリームPRへのリンクを含むissueを開く Capacitor+リポジトリ
-
または直接送信
plusブランチへのPRとして -
チームがレビューし、CIを実行し、パスすればマージします
これにより、あなたや他の人はアップストリームのリリースサイクルを待つことなく、すぐにあなたの作業の恩恵を受けることができます。
これは本番環境対応ですか?
Section titled “これは本番環境対応ですか?”はい。Capacitor+は本番アプリで使用されています。すべてのリリースは、公式Capacitorと同じテストスイートに加えて、追加のセキュリティ分析をパスします。
公式プラグインはまだ動作しますか?
Section titled “公式プラグインはまだ動作しますか?”はい。すべての @capacitor/* プラグインは、Capacitor+でそのまま動作します。
アップストリームが破壊的変更をリリースした場合はどうなりますか?
Section titled “アップストリームが破壊的変更をリリースした場合はどうなりますか?”AIセキュリティレビューが手動レビューのために破壊的変更にフラグを立てます。変更がマージされる前に、ドキュメント化された変更を確認できます。
問題を報告するにはどうすればよいですか?
Section titled “問題を報告するにはどうすればよいですか?”Capacitor+ GitHubリポジトリで問題を報告してください。公式Capacitorにも影響を与える問題については、アップストリームとの調整をお手伝いします。
貢献できますか?
Section titled “貢献できますか?”もちろんです!PRを歓迎します。修正を直接送信するか、特定のアップストリームPRをマージするようリクエストできます。