跳过主要内容
返回到插件
capacitor-plus/core
教程
由 github.com/Cap-go

Capacitor Core

Capacitor 是一个自动化、始终同步的 Capacitor 的分支,合并了社区 PR 和快速发布

指南

关于 Capacitor+ Core 的教程

使用 Capacitor+ (@capacitor-plus) 包

Capacitor+ 是一个自动化、始终同步的 Capacitor 分支 Capacitor 由 __CAPGO_KEEP_0__ 维护 Capgo。它提供了一个可以直接替换官方 Capacitor 包的功能,且有一个关键优势: 社区的 PR 和修复更快被合并.

为什么 Capacitor+ 存在

Ionic团队维护Capacitor,遵循他们自己的优先级和发布计划。这意味着社区贡献 - bug修复、改进和功能 - 可能需要几个月甚至几年才能被合并。有些从未被合并。

Capacitor+ 解决了这个问题:

  1. 合并分支请求(PR) - 从主分支队列中被积极合并的有价值的PR
  2. 持续同步 - 从Capacitor的每次更改都自动拉取、测试和验证
  3. 快速发布 - 当更改通过CI时,它们将自动发布到npm下 @capacitor-plus 社区优先
  4. - 你的贡献很重要并且得到优先考虑 安全审查
  5. scope - 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迁移

要将现有项目从官方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相同的替代品,因此无需进行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动作从 ionic-team/capacitor
  2. PR创建: 将更改提议为pull请求到 plus branch
  3. CI验证: 全套测试运行(lint,单元测试,iOS构建,Android构建)
  4. 克劳德Code审查: 使用 AI 进行全面安全分析检查:
    • 安全漏洞(注入、XSS 等)
    • 破坏 API 的更改
    • 崩溃风险和稳定性问题
    • 数据完整性和隐私问题
    • 恶意 code 模式
  5. Auto-Merge: 只有 CI 通过并 Claude 批准(未检测到问题)
  6. Auto-Publish: 在 npm 下发布新版本 @capacitor-plus/*

安全审查

每次上游同步都会分析:

检查 描述
安全性 命令注入、XSS、路径遍历、硬编码密钥等
重大变更 删除或重命名的API、签名改变、配置格式变更
稳定性 空指针异常、未处理的异常、竞争条件、内存泄露
数据安全 数据丢失场景、隐私泄露、不安全的存储
Code完整性 混淆的code、可疑的网络调用、后门

如果检测到任何问题,PR 将被标记为手动审查,并不会自动合并。

你想让 PR 合并吗?

你的 PR 在官方 Capacitor 仓库中卡住了?这里是如何将它推入 Capacitor+:

  1. 在 __CAPGO_KEEP_0__+ 仓库中 打开一个问题 Capacitor+ repo 或者直接提交 PR
  2. 到 branch 团队将审查它,运行 CI,如果通过则合并 plus 这样,你和其他人就可以立即从你的工作中受益,而不必等待上游的发布周期。
  3. __CAPGO_KEEP_0__

__CAPGO_KEEP_1__

优势

  • 立即获取当前 PR: 上游社区修复和特性已经合并
  • 保持最新: 立即获取通过 CI 测试的上游修复
  • 安全第一: 每个变更都经过安全性和稳定性风险的审查
  • 已验证的发布: 只有通过 CI 测试和 AI 安全审查的变更才会发布
  • 替换: 与 Capacitor 相同的 API ,只是包作用域不同
  • 您的声音很重要: 提交您自己的 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 版本,应用程序将从 bug 修复和功能中受益,而不必等待官方发布周期