가이드
Capacitor Core에 대한 튜토리얼
Capacitor+ (@capacitor-plus) 패키지를 사용하는 방법
Capacitor+는 자동화된 항상 동기화된 Capacitor의 분기입니다. Capacitor __CAPGO_KEEP_0__를 관리합니다. CapgoCapacitor를 대체하는 drop-in replacement을 제공합니다. 공식 Capacitor 패키지와의 주요 이점은 하나입니다. __CAPGO_KEEP_0__+의 이유.
Capacitor 팀은 Capacitor를 자체 우선순위와 릴리즈 일정에 따라 유지합니다. 따라서 커뮤니티의 기여 - 버그 수정, 개선, 기능 -는 몇 달 또는 몇 년 동안 병합되거나 전혀 병합되지 않을 수 있습니다.
Capacitor+는 이러한 문제를 해결하기 위해:
Capacitor+ solves this problem by:
- - 상용 PR이 업스트림 큐에 갇히지 않도록 적극적으로 병합합니다. 연속 동기화
- - 업스트림 __CAPGO_KEEP_0__에서 모든 변경 사항이 자동으로 pull, 테스트, 검증됩니다. - Every change from upstream Capacitor is automatically pulled, tested, and verified
- - CI에서 변경 사항이 통과하면 자동으로 __CAPGO_KEEP_0__에 게시됩니다. npm
@capacitor-plus범위 - 커뮤니티-중심 - 여러분의 기여가 중요하고 우선순위가 됩니다
- 보안 검토 - 모든 변경 사항은 AI를 통해 보안 취약점, 깨지는 변경 사항, 안정성 위험을 분석합니다
사용 가능한 패키지
| 패키지 | 설명 |
|---|---|
@capacitor-plus/core |
코어 런타임 라이브러리 |
@capacitor-plus/cli |
명령 줄 인터페이스 |
@capacitor-plus/android |
안드로이드 런타임 |
@capacitor-plus/ios |
iOS 런타임 |
설치
새로운 프로젝트
새로운 프로젝트를 위해, 공식 Capacitor 대신 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와 동일한 Capacitor를 제공하므로 __CAPGO_KEEP_2__ 변경이 필요하지 않습니다. import 문은 동일하게 유지됩니다:
# 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
Since Capacitor+ is a drop-in replacement with the same API, no code changes are required. Your imports remain the same:
// 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 │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- : __CAPGO_KEEP_0__ 액션은 최신 변경 사항을: A GitHub Action fetches the latest changes from
ionic-team/capacitor - : 변경 사항은 __CAPGO_KEEP_0__로 pull request를 제안합니다.Installation
plusbranch - CI Validation: Full test suite runs (lint, unit tests, iOS build, Android build)
- Claude Code Review: AI-powered comprehensive security analysis checks for:
- 보안 취약점 (인젝션, XSS 등)
- 파괴적인 API 변경
- 크래시 위험 및 안정성 문제
- 데이터 무결성 및 개인 정보 보호 문제
- 악성 code 패턴
- Auto-Merge: CI가 통과하고 Claude가 승인 (문제가 발견되지 않음)
- 자동 배포: 새로운 버전이 npm 에서
@capacitor-plus/*
보안 검토
모든 업스트림 동기화는 다음을 분석합니다:
| 확인 | 설명 |
|---|---|
| 보안 | 명령어 주입, XSS, 경로 탐색, 고정 비밀, 등 |
| 파괴적인 변경 | 제거/이름 변경된 API, 변경된 서명, 구성 형식 변경 |
| 안정성 | 널 참조, 예외 처리되지 않은 예외, 경쟁 조건, 메모리 누수 |
| 데이터 안전 | 데이터 손실 시나리오, 개인 정보 침해, 안전하지 않은 저장 |
| Code完整성 | code를 가리기 위한 code, 수상한 네트워크 호출, 백도어 |
문제가 발견되면 PR은 수동 검토를 위해 표시되고 자동 병합되지 않습니다.
PR을 병합하고 싶으세요?
Capacitor 공식 저장소에 PR이 걸리게 되면 어떻게 해야 하나요? Capacitor+로 보내는 방법을 알려드리겠습니다.
- 이슈를 열어주세요 __CAPGO_KEEP_0__+ 저장소 Capacitor+ repo 또는 직접 PR을 제출하세요
- Want Your PR Merged? 업데이트를
plusbranch - __CAPGO_KEEP_0__
이러한 방식으로, 당신과 다른 사람들은 업스트림 릴리즈 사이클을 기다리지 않고 즉시 당신의 작업에서 이익을 얻을 수 있습니다.
장점
- 지금 PR을 받으세요: 업스트림에서 기다리는 커뮤니티.fixes 및 기능이 병합됩니다.
- 최신화: 업스트림.fixes를 즉시 CI가 통과하면 받을 수 있습니다.
- 안전성 우선: 모든 변경 사항은 취약점 및 안정성 위험을 검토합니다.
- 인증된 릴리즈: 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' });
Capacitor+를 사용하여 앱을 더 빠르게 업데이트하고 커뮤니티의 개선 사항을 더 빠르게 병합할 수 있습니다. 버그 수정 및 기능을 기다리지 않고 공식 릴리스 주기와 관계없이 앱이 이점을 누릴 수 있습니다.
Keep going from Using Capacitor+ (@capacitor-plus) Packages
만약 __CAPGO_KEEP_0__+ (@__CAPGO_KEEP_1__-plus) Packages를 사용하고 있다면 Using Capacitor+ (@capacitor-plus) Packages native 플러그인 작업을 계획하기 위해, 그것을 연결하세요. Capacitor+ Capacitor+ 구현 세부 정보 Capgo 플러그인 디렉토리 Capgo 플러그인 디렉토리에서 제품 워크플로우 Capacitor 플러그인들에 의해 Capgo Capacitor 플러그인들에 의해 Capgo 구현 세부 정보 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트 구현 세부 정보 Ionic Enterprise 플러그인 대체 Ionic Enterprise 플러그인 대체 제품 워크플로우