안내서
Capacitor+ Core에 대한 Capacitor
Capacitor+ (@capacitor-plus) 패키지를 사용하는 방법
Capacitor+는 자동화된, 항상 동기화된 Capacitor의 fork입니다. Capacitor __CAPGO_KEEP_0__를 관리하는 사람 Capgo. Capacitor+는 공식 Capacitor 패키지에 대한 대체품을 제공하며, 하나의 중요한 장점이 있습니다. 공식 __CAPGO_KEEP_0__ 패키지 대체품을 사용하는 __CAPGO_KEEP_0__+의 장점.
Capacitor+가 존재하는 이유
아이온 팀은 Capacitor를 자신의 우선순위와 릴리즈 스케줄에 따라 유지합니다. 따라서 커뮤니티의 기여 - 버그 수정, 개선, 기능 - 몇 달 또는 몇 년 동안 병합을 기다려야 할 수 있습니다. 일부는 결코 병합되지 않습니다.
Capacitor+는 이 문제를 해결하기 위해:
- 포크에서 PR 병합 - 상위 큐에 갇힌 유용한 PR를 적극적으로 병합합니다.
- 연속 동기화 - 상위 Capacitor의 모든 변경 사항이 자동으로 pull, 테스트, 검증됩니다.
- 빠른 릴리즈 - 변경 사항이 CI를 통과하면 npm의 scope 하위에서 자동으로 릴리즈됩니다.
@capacitor-plus커뮤니티-최우선 - - 여러분의 기여가 중요하고 우선순위를 받습니다. 보안 검토
- __CAPGO_KEEP_0__+ - __CAPGO_KEEP_0__은 AI를 통해 보안 취약점, 변경 사항, 안정성 위험을 분석합니다.
사용 가능한 패키지
| 패키지 | 설명 |
|---|---|
@capacitor-plus/core |
코어 런타임 라이브러리 |
@capacitor-plus/cli |
명령줄 인터페이스 |
@capacitor-plus/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
Migrating from Official Capacitor
To migrate an existing project from official Capacitor to 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 변경이 필요하지 않습니다. import 문은 동일하게 유지됩니다:
// 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 │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- 일일 동기화: GitHub 액션은 최신 변경 사항을 가져옵니다.
ionic-team/capacitor - PR 생성: 변경 사항은 __CAPGO_KEEP_0__로 pull request를 제안합니다.
plusbranch - CI 검증: 전체 테스트 스위트가 실행됩니다 (lint, 단위 테스트, iOS 빌드, Android 빌드)
- Claude Code 검토: AI-powered comprehensive security analysis checks for:
- 보안 취약점 (인젝션, XSS 등)
- Breaking API changes
- 스태빌리티 이슈 및 충돌 위험
- 데이터 무결성 및 개인 정보 보호 문제
- 악성 code 패턴
- Auto-Merge: Only if CI passes AND Claude approves (no issues detected)
- Auto-Publish: A new version is published to npm under
@capacitor-plus/*
보안 검토
매 업스트림 싱크 분석을 위해:
| 체크 | 설명 |
|---|---|
| 보안 | 명령어 주입, XSS, 경로 탐색, 고정 비밀, etc. |
| 파괴적인 변경 | 제거/이름 변경된 API, 서명 변경, 구성 형식 변경 |
| 안정성 | Null 참조, 예외 처리되지 않은, 경쟁 조건, 메모리 누수 |
| 데이터 안전 | 데이터 손실 시나리오, 개인 정보 침해, 안전하지 않은 저장 |
| Code完整성 | 가리워진 code, 의심스러운 네트워크 호출, 백도어 |
만약 문제가 감지되면 PR은 수동 검토를 위해 표시되고 자동 병합되지 않습니다.
PR을 병합하고 싶으세요?
Capacitor 공식 저장소에 PR이 막혔나요? 여기서 Capacitor+로 보내는 방법을 알려드리겠습니다.
- 이슈 열기 공식 __CAPGO_KEEP_0__+ 저장소에서 Capacitor+ 저장소에 PR을 직접 제출 팀은 이를 검토하고 CI를 실행하고 통과하면 병합합니다.
- 이러한 방식으로, 당신과 다른 사람들이 즉시 당신의 작업을 즐기고, 업스트림 릴리스 주기 동안 기다리지 않습니다. PR을 __CAPGO_KEEP_1__+로 제출하세요.
plusPR을 __CAPGO_KEEP_1__+로 제출하세요. - PR을 __CAPGO_KEEP_1__+로 제출하세요.
PR을 __CAPGO_KEEP_1__+로 제출하세요.
장점
- 지금 PR에 걸려있는 문제를 해결하세요: 업스트림으로 보내진 커뮤니티의 수정 및 기능이 병합됩니다
- 최신 상태 유지: CI 테스트를 통과한 업스트림 수정 사항을 즉시 받으세요
- 안전성 우선: 모든 변경 사항은 취약점 및 안정성 위험을 검토합니다
- 인증된 릴리즈: CI 테스트 및 AI 보안 검토를 통과한 변경 사항만 릴리즈됩니다
- 교체 가능한 패키지: API과 Capacitor은 동일한 패키지만 패키지 범위만 다릅니다
- 당신의 목소리가 중요합니다: __CAPGO_KEEP_0__ 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에 커뮤니티 개선 사항이 더 빠르게 병합된 더 빠르게 업데이트된 버전을 가지고 있습니다. 앱은 공식 릴리스 주기 기다리지 않고 버그 수정 및 기능을 즐길 수 있습니다.