コンテンツへスキップ

はじめに

新規プロジェクトのインストール

Section titled “新規プロジェクトのインストール”
  1. コアパッケージをインストール

    Terminal window
    npm install @capacitor-plus/core @capacitor-plus/cli
  2. プラットフォームパッケージを追加

    Terminal window
    npm install @capacitor-plus/android # Android用
    npm install @capacitor-plus/ios # iOS用
  3. Capacitorを初期化

    Terminal window
    npx cap init
  4. プラットフォームを追加

    Terminal window
    npx cap add android
    Terminal window
    npx cap add ios

既存のCapacitorプロジェクトがある場合、Capacitor+への移行は簡単です:

  1. 公式パッケージを削除

    Terminal window
    npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
  2. Capacitor+パッケージをインストール

    Terminal window
    npm install @capacitor-plus/core @capacitor-plus/cli
    npm install @capacitor-plus/android # Androidを使用している場合
    npm install @capacitor-plus/ios # iOSを使用している場合
  3. プロジェクトを同期

    Terminal window
    npx 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プラグインがシームレスに動作します:

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' });

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();
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
  1. 日次同期: GitHub Actions が ionic-team/capacitor から最新の変更を取得
  2. PR作成: 変更は plus ブランチへのプルリクエストとして提案されます
  3. CI検証: 完全なテストスイートが実行されます(lint、ユニットテスト、iOSビルド、Androidビルド)
  4. セキュリティレビュー: AI駆動の分析が脆弱性と破壊的変更をチェック
  5. 自動マージ: CIがパスし、かつセキュリティレビューが承認した場合のみ
  6. 自動公開: 新しいバージョンが @capacitor-plus/* でnpmに公開されます

すべてのアップストリーム同期は以下の分析が行われます:

チェック検出内容
セキュリティコマンドインジェクション、XSS、パストラバーサル、ハードコードされた秘密
破壊的変更削除/名前変更されたAPI、変更されたシグネチャ、設定変更
安定性Null参照、未処理の例外、競合状態、メモリリーク
データ安全性データ損失シナリオ、プライバシー違反、安全でないストレージ
コード整合性難読化されたコード、疑わしいネットワーク呼び出し、バックドア

公式CapacitorリポジトリでPRが停滞していますか?Capacitor+でマージしてもらいましょう:

  1. アップストリームPRへのリンクを含むissueを開く Capacitor+リポジトリ

  2. または直接送信 plus ブランチへのPRとして

  3. チームがレビューし、CIを実行し、パスすればマージします

これにより、あなたや他の人はアップストリームのリリースサイクルを待つことなく、すぐにあなたの作業の恩恵を受けることができます。

はい。Capacitor+は本番アプリで使用されています。すべてのリリースは、公式Capacitorと同じテストスイートに加えて、追加のセキュリティ分析をパスします。

公式プラグインはまだ動作しますか?

Section titled “公式プラグインはまだ動作しますか?”

はい。すべての @capacitor/* プラグインは、Capacitor+でそのまま動作します。

アップストリームが破壊的変更をリリースした場合はどうなりますか?

Section titled “アップストリームが破壊的変更をリリースした場合はどうなりますか?”

AIセキュリティレビューが手動レビューのために破壊的変更にフラグを立てます。変更がマージされる前に、ドキュメント化された変更を確認できます。

問題を報告するにはどうすればよいですか?

Section titled “問題を報告するにはどうすればよいですか?”

Capacitor+ GitHubリポジトリで問題を報告してください。公式Capacitorにも影響を与える問題については、アップストリームとの調整をお手伝いします。

もちろんです!PRを歓迎します。修正を直接送信するか、特定のアップストリームPRをマージするようリクエストできます。