가이드
Core에 대한 Capacitor+ 튜토리얼
Using Capacitor+ (@capacitor-plus) Packages
Capacitor Capacitor를 관리하는 사람입니다. __CAPGO_KEEP_0__ . Capgo의 공식 패키지에 대한 대체품으로 사용할 수 있습니다. 공식 패키지와의 주요 차이점은:. It provides a drop-in replacement for the official Capacitor packages with one key advantage: __CAPGO_KEEP_0__+ (@__CAPGO_KEEP_1__-plus) 패키지를 사용하는 방법.
Why Capacitor+이 존재하는가
Capacitor의 유지보수는 Ionic 팀이 자신의 우선순위와 릴리즈 스케줄로 진행합니다. 따라서 커뮤니티의 기여 - 버그 수정, 개선, 기능 -는 몇 달 또는 몇 년 동안 병합을 기다려야 할 수 있습니다. 일부는 결코 병합되지 않을 수도 있습니다.
Capacitor+은 이러한 문제를 해결하기 위해:
- 포크에서 PR 병합 - 상위 큐에 갇힌 유용한 PR들이 적극적으로 병합됩니다
- 연속 동기화 - 상위 Capacitor의 모든 변경 사항이 자동으로 pull, 테스트, 검증됩니다
- 빠른 릴리즈 - CI에서 변경 사항이 통과하면 npm에 자동으로 릴리즈됩니다
@capacitor-plus커뮤니티 우선 - - 여러분의 기여가 중요하고 우선순위가 지정됩니다 scope
- 보안 검토 - 모든 변경 사항은 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
공식 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와 동일한 drop-in 대체품이므로 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 빌드)
- 클로드 Code 리뷰: 인공지능 기반의 전반적인 보안 분석을 통해 다음을 확인합니다.
- 보안 취약점 (인젝션, XSS 등)
- 파괴적인 API 변경
- 크래시 위험 및 안정성 문제
- 데이터 무결성 및 개인 정보 보호 문제
- 악성 code 패턴
- 자동 병합: CI가 통과하고 클로드가 승인 (문제가 발견되지 않음)
- 자동 배포: 새로운 버전이 npm 에서
@capacitor-plus/*
보안 검토
모든 업스트림 동기화는 다음을 분석합니다:
| 확인 | 설명 |
|---|---|
| 보안 | 명령어 주입, XSS, 경로 탐색, 고정된 비밀, etc. |
| 파괴적인 변경 | 제거/이름이 변경된 API, 변경된 서명, 구성 형식 변경 |
| 안정성 | Null 참조, 처리되지 않은 예외, 경쟁 조건, 메모리 누수 |
| 데이터 안전 | 데이터 손실 시나리오, 개인 정보 침해, 안전하지 않은 저장 |
| Code完整성 | 가려진 code, 수상한 네트워크 호출, 백도어 |
문제가 발견되면 PR은 수동 검토를 위해 표시되고 자동 병합되지 않습니다.
PR이 병합되기를 원하세요?
Capacitor 공식 저장소에 PR이 걸리게 되면 어떻게 해야 하나요? Capacitor+로 보내는 방법을 알려드리겠습니다.
- 이슈를 열어보세요 __CAPGO_KEEP_0__+ 저장소에서 Capacitor+ 저장소에서 upstream PR에 대한 링크를 걸어보세요 PR을 직접 __CAPGO_KEEP_1__+ branch로 제출해 보세요
- 팀이 이를 검토하고 CI를 실행하고 통과하면 병합합니다. __CAPGO_KEEP_1__+
plus__CAPGO_KEEP_0__ - __CAPGO_KEEP_0__+
이러한 방식으로, 당신과 다른 사람들은 업스트림 릴리즈 사이클을 기다리지 않고 즉시 당신의 작업의 이점을 누릴 수 있습니다.
혜택
- PR을 지금 고정하세요: 업스트림에서 기다리는 커뮤니티.fixes 및 기능이 병합됩니다
- 최신 버전 유지: CI를 통과한 업스트림 fix를 즉시 받습니다
- 안전 우선: 모든 변경 사항은 취약점 및 안정성 위험에 대한 검토를 거칩니다
- 인증된 릴리즈: CI 테스트 및 AI 보안 검토를 모두 통과한 변경 사항만 릴리즈됩니다
- 교체 가능한 패키지: 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에 커뮤니티 개선 사항이 더 빠르게 병합된 더 빠르게 업데이트된 버전을 가지고 있습니다. 앱은 공식 릴리스 주기 기다리지 않고 버그 수정 및 기능이 이점을 누릴 것입니다.
계속 Using Capacitor+ (@capacitor-plus) Packages에서
이미 __CAPGO_KEEP_0__+ (@__CAPGO_KEEP_1__-plus) Packages를 사용하고 있다면 Using Capacitor+ (@capacitor-plus) Packages를 사용하여 __CAPGO_KEEP_0__+ Capacitor+ Capacitor+ Capgo 플러그인 디렉토리 Capgo 플러그인 디렉토리에서 제품 워크플로우를 위해 Capacitor 플러그인들에 의해 Capgo Capacitor 플러그인들에 의해 Capgo의 구현 세부 정보를 위해 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트의 구현 세부 정보를 위해, 그리고 아이오닉 엔터프라이즈 플러그인 대체 아이오닉 엔터프라이즈 플러그인 대체의 제품 워크플로우를 위해