メインコンテンツにスキップ
プラグインに戻る
@capacitor-plus/core
チュートリアル
@capacitor-plus/core

Capacitor+ Core

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

ガイド

Capacitor+ Coreのチュートリアル

Capacitor+ (@capacitor-plus) パッケージを使用する

Capacitor+は、コミュニティのPRをマージし、迅速なリリースを実現する自動化された、常に同期された Capacitor メンテナンス Capgo。公式のCapacitorパッケージの置き換えとして使用できます。ただし、1つの大きな利点があります。 コミュニティからのPRと修正がより速くマージされる.

Capacitor+の存在理由

IonicチームはCapacitorを独自の優先順位とリリーススケジュールでメンテナンスしています。これは、コミュニティからの貢献 - バグ修正、改善、機能 - が、数か月もしくは数年間待たされる場合があります。あるいは、全くマージされない場合もあります。

Capacitor+はこの問題を解決するために使用されます。

  1. フォークからのPRのマージ - 上流のキューに溜まっている価値のあるPRが積極的にマージされます。
  2. 連続的な同期 - 上流のCapacitorから毎回の変更が自動的に取得され、テストされ、検証されます。
  3. 迅速なリリース - npm への変更はCIで通過した場合、自動的に @capacitor-plus scope
  4. コミュニティファースト - ご協力いただいた内容は優先されます
  5. Security Reviewed - すべての変更は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

公式のCapacitorから__CAPGO_KEEP_1__+への移行

公式のCapacitorから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

Capacitor+は公式のAPIと同じAPIを持つドロップイン置き換えなので、codeの変更は必要ありません。インポートは同じままです:

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

しくみ

┌─────────────────────┐     ┌──────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  ionic-team/        │     │  CI/CD           │     │  Claude Code     │     │  npm publish    │
│  capacitor          │────▶│  Pipeline        │────▶│  Security Review │────▶│  @capacitor-plus│
│  (upstream)         │     │  (daily sync)    │     │  (AI analysis)   │     │  packages       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. 毎日同期: GitHub アクションは最新の変更をGitHubから取得します ionic-team/capacitor
  2. PR 作成: __CAPGO_KEEP_0__の変更は、プルリクエストとして提案されます。 plus branch
  3. CI検証: 全テストスイートが実行されます (lint、ユニットテスト、iOSビルド、Androidビルド)
  4. クラウド Code レビュー: AIによって強化された包括的なセキュリティ分析が実行されます。
    • セキュリティ脆弱性 (インジェクション、XSSなど)
    • 破壊的な API 変更
    • クラッシュリスクと安定性問題
    • データの整合性とプライバシーに関する懸念
    • 悪意のある code パターン
  5. Auto-Merge: CI が通過し、Claude が承認した場合 (問題なし)
  6. Auto-Publish: npm への新しいバージョンが @capacitor-plus/*

Security Review

アップストリームの Sync は、以下の要素を分析します:

Check 説明
セキュリティ コマンドインジェクション、XSS、パス トラバーサル、ハードコードされたシークレットなど
Breaking Changes 削除/名前変更された API、サインチャー変更、構成形式の変更
安定性 Null ポインタ参照、未処理の例外、レース条件、メモリリーク
データセーフティ __CAPGO_KEEP_0__ のデータ整合性
Code Integrity code の問題が検出された場合、PR は手動レビュー用にフラグ付けされ、自動マージされません。

PR をマージしたい?

__CAPGO_KEEP_0__ の公式リポジトリに PR が詰まっている場合、どうしたらいいですか?

Have a PR stuck in the official Capacitor repo? Here's how to get it into Capacitor+:

  1. __CAPGO_KEEP_0__+ リポジトリで __CAPGO_KEEP_1__+: Capacitor+ repo PR をマージしたい?
  2. Or submit the PR directlyplus ブランチ
  3. チームはそれをレビューし、CIを実行し、パスした場合にマージします。

この方法で、すぐにアップストリームのリリースサイクルを待たずに、自分の作業から他のユーザーがすぐに利益を得ることができます。

利点

  • Stuck PRs Now: アップストリームで待っているコミュニティの修正と機能がマージされます。
  • 最新の状態を維持する: アップストリームの修正がCIを通過したときにすぐに取得できます。
  • セキュリティが第一: すべての変更は脆弱性や安定性のリスクを検証します。
  • Verified Releases: Only changes that pass both CI tests AND AI security review are published
  • Drop-in Replacement: Same API as Capacitor, just a different package scope
  • Your Voice Matters: Submit your own PRs or request specific upstream PRs to be merged

Example: Using Capacitor+ with Plugins

All official Capacitor plugins work seamlessly with 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 plugins also work perfectly with 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' });

That's it! You now have a faster-updated version of Capacitor with community improvements merged faster. Your apps will benefit from bug fixes and features without waiting for the official release cycle.

Keep going from Using Capacitor+ (@capacitor-plus) Packages

If you are using 使用 Capacitor+ (@capacitor-plus) パッケージ ネイティブ プラグインの作業を計画するには、__CAPGO_KEEP_0__+ を接続する Capacitor+ Capacitor+ の実装詳細 Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリの製品フロー Capacitor プラグイン (@Capgo) Capacitor プラグイン (@Capgo) の実装詳細 プラグインの追加または更新 プラグインの追加または更新の実装詳細 イオニック エンタープライズ プラグインの代替 イオニック エンタープライズ プラグインの代替の製品フロー