__CAPGO_KEEP_0__ 主页
返回插件
@capacitor-plus/core
教程
@capacitor-plus/core

@Capacitor+ Core

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

指南

Tutorial on Capacitor+ Core

Using Capacitor+ (@capacitor-plus) Packages

Capacitor+ is an automated, always-synced fork of CapacitorCapgo。它提供了一个可以直接替换官方Capacitor包的包,具有一个关键优势: 社区PR和修复可以更快地合并.

为什么Capacitor+存在

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

Capacitor+解决了这个问题:

  1. 合并分支 - 在上游队列中被卡住的有价值的PR会被积极合并
  2. 持续同步 - 从上游Capacitor中自动拉取、测试和验证的每个更改
  3. 快速发布 - 当更改通过CI时,它们会自动发布到npm下 @capacitor-plus scope
  4. 社区驱动 - 你的贡献很重要并且优先考虑
  5. 安全审查 - 每次更改都由 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. 上下文:Capgo Builder / 原生云构建产品页面。角色:部分或页面标题。消息键`native_build_how_it_works_title` (原生构建如何工作标题)。| 页面/区域:主页问题/解决方案部分。角色:短的UI标签或导航项。见于:页面premium-support.astro。消息键`ps_how_it_works` (PS如何工作)。| 页面/区域:实时更新产品页面。角色:部分或页面标题。见于:页面live-update.astro。消息键`live_update_how_it_works_title` (实时更新如何工作标题)。: A GitHub Action fetches the latest changes from ionic-team/capacitor
  2. :一个__CAPGO_KEEP_0__动作从PR创建 plus :更改被提议作为pull请求到__CAPGO_KEEP_0__分支中:
  3. CI 验证: 全套测试套件运行 (lint, 单元测试, iOS 构建, Android 构建)
  4. Claude Code 审核: AI 驱动的全面安全分析检查:
    • 安全漏洞 (注入, XSS 等)
    • 破坏 API 的更改
    • 崩溃风险和稳定性问题
    • 数据完整性和隐私问题
    • 恶意 code 模式
  5. 自动合并: 只有 CI 通过 AND Claude 批准 (未检测到任何问题)
  6. 自动发布: npm发布了新版本 @capacitor-plus/*

安全审查

每次上游同步都会分析:

检查 描述
安全性 context: 企业产品/价格页面. 角色: UI标签. 见于: 企业产品页面.astro. 消息键 `enterprise_hero_security_label` (企业英雄安全性标签).
命令注入、XSS、路径遍历、硬编码密钥等 重大变更
删除/重命名的API、签名改变、配置格式变更 稳定性
context: 企业产品/价格页面. 角色: UI标签. 见于: 企业产品页面.astro. 消息键 `enterprise_hero_stability_label` (企业英雄稳定性标签). 数据丢失场景、隐私泄露、不安全的存储
Code完整性 混淆的code、可疑的网络调用、后门

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

你想让 PR 合并吗?

你有一个 PR 卡在官方Capacitor仓库里?以下是如何将其导入Capacitor+的步骤:

  1. 打开一个问题Capacitor+仓库 链接到你的上游 PR
  2. 或者直接提交 PR 到 __CAPGO_KEEP_1__+ plus branch
  3. 团队会对其进行审查、运行CI,并在它通过后合并

这样你和其他人就可以立即从你的工作中受益,而不必等待上游发布周期

Benefits

  • 立即获取当前阻塞的PR社区修复和特性,等待上游的将被合并
  • 保持最新立即获取通过CI的上游修复
  • 安全第一每个变更都会被审查以查找漏洞和稳定性风险
  • 已验证的发布只有通过CI测试和人工智能安全审查的变更才会被发布
  • 降级替代品: 与 API 相同的 Capacitor,只是包作用域不同
  • 您的声音很重要: 提交您自己的 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 修复和功能中受益,而无需等待官方发布周期。

继续使用 Using Capacitor+ (@capacitor-plus) Packages

如果您正在使用 使用 Capacitor+ (@capacitor-plus) Packages 来规划原生插件工作,连接它与 Capacitor+ 为 Capacitor+ 的实现细节 Capgo 插件目录 为 Capgo 插件目录中的产品工作流 Capacitor 由 Capgo 提供 为 Capacitor 由 Capgo 提供的插件 添加或更新插件 为添加或更新插件的实现细节 Ionic 企业插件替代品 为 Ionic 企业插件替代品的产品工作流