__CAPGO_KEEP_0__ 가이드
Capacitor+ 코어에 대한 튜토리얼
Using Capacitor+ (@capacitor-plus) Packages
Capacitor+는 항상 동기화된 자동화된 Capacitor의 분기입니다. Capacitor __CAPGO_KEEP_0__ Capgo. 이 플러그인은 공식 Capacitor 패키지의 대체 버전을 제공합니다. 단, 하나의 중요한 장점이 있습니다: 커뮤니티의 PR 및 수정 사항이 더 빠르게 병합됩니다.
Capacitor+의 존재 이유
아이온릭 팀은 Capacitor를 자신의 우선순위와 릴리즈 스케줄에 따라 유지합니다. 따라서 커뮤니티의 기여 - 버그 수정, 개선, 기능 - 몇 달 또는 몇 년 동안 병합되거나 전혀 병합되지 않을 수 있습니다.
Capacitor+는 이러한 문제를 해결합니다:
- 포크에서 PR 병합 - 상당한 가치가 있는 PR가 업스트림 큐에 묶여 있는 경우에 적극적으로 병합됩니다
- 연속 동기화 - 업스트림 Capacitor의 모든 변경 사항이 자동으로 pull, 테스트, 검증됩니다
- 빠른 릴리즈 - 변경 사항이 CI를 통과하면 자동으로 npm에 scope 하에 배포됩니다
@capacitor-plusscope - 커뮤니티-중심 - 여러분의 기여가 중요하고 우선순위로 처리됩니다
- 보안 검토 - 모든 변경 사항은 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에서 __CAPGO_KEEP_1__로 마이그레이션
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와 동일한 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 액션은 최신 변경 사항을 GitHub에서 가져옵니다
ionic-team/capacitor - PR 생성: 변경 사항은 pull request로 제안됩니다.
plusbranch - CI 검증: 전체 테스트 스위트 실행 (lint, 단위 테스트, iOS 빌드, Android 빌드)
- Claude Code 검토: AI-기반의 보안 분석을 통한 comprehensive 보안 분석을 수행합니다.
- 보안 취약점 (인젝션, XSS 등)
- 파괴 API 변경 사항
- 스태빌리티 이슈 및 충돌 위험
- 데이터 무결성 및 개인 정보 보호 문제
- 악성 code 패턴
- 자동 병합: CI가 통과하고 Claude가 승인 (문제가 발견되지 않음)
- 자동 배포: npm의 새로운 버전이 공개되었습니다.
@capacitor-plus/*
보안 검토
업스트림 동기화가 분석됩니다.
| 체크 | 설명 |
|---|---|
| 보안 | 컨텍스트: Enterprise 제품/가격 페이지. 역할: UI 레이블. 위치: enterprise.astro 페이지. 메시지 키 `enterprise_hero_security_label` (Enterprise Hero Security Label). |
| 명령어 주입, XSS, 경로 탐색, 고정 비밀, 등. | 변경 사항 |
| 제거/이름 변경된 API, 서명 변경, 구성 형식 변경 | 안정성 |
| 컨텍스트: Enterprise 제품/가격 페이지. 역할: UI 레이블. 위치: enterprise.astro 페이지. 메시지 키 `enterprise_hero_stability_label` (Enterprise Hero Stability Label). | 데이터 손실 시나리오, 개인 정보 침해, 보안되지 않은 저장 |
| Code의完整성 | code가 암호화되어 있고 수상한 네트워크 호출, 백도어 |
이러한 문제가 발견되면 PR은 수동 검토를 위해 표시되고 자동 병합되지 않습니다.
PR이 병합되기를 원합니까?
Capacitor 공식 저장소에 PR이 걸리게 되면 어떻게 해야 하나요? Capacitor+에 넣으려면 어떻게 해야 하나요?
- 이슈를 열어보세요 in the Capacitor+ 저장소 업스트림 PR에 대한 링크를 포함하여
- 또는 __CAPGO_KEEP_0__+ 저장소로 직접 PR을 제출하세요 into the
plusbranch - 팀은 리뷰를 진행하고 CI를 실행하여 통과하면 병합합니다.
이러한 방식으로, 당신과 다른 사람들은 업스트림 릴리스 주기 기다리지 않고 즉시 당신의 작업의 이점을 누릴 수 있습니다.
장점
- 지금 바로 PR을 받으세요: 업스트림에서 기다리는 커뮤니티.fixes 및 기능이 병합됩니다.
- 최신화: 업스트림 fix를 즉시 CI 통과 시에 받으세요
- 안전성 우선: 모든 변경 사항은 취약점 및 안정성 위험을 검토합니다.
- 인증된 릴리스: CI 테스트 및 AI 보안 검토를 통과한 변경 사항만 릴리스됩니다.
- Drop-in Replacement: 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의 더 빠르게 업데이트된 버전을 사용할 수 있습니다. 커뮤니티가 병합한 개선 사항을 사용하여 앱은 버그 수정 및 기능을 기다리지 않고 공식 릴리스 주기와 함께 사용할 수 있습니다.
다음으로 Capacitor+ (@capacitor-plus) 패키지를 계속 사용하세요.
이미 __CAPGO_KEEP_0__+ (@__CAPGO_KEEP_1__-plus) 패키지를 사용하고 있다면 Capacitor+ (@capacitor-plus) 패키지를 사용하여 자연 플러그인 작업을 계획하고 연결하려면 Capacitor+ Capacitor 구현 세부 사항에 대해 Capgo 플러그인 디렉토리 Capgo 플러그인 디렉토리에서 제품 워크플로에 대해 Capacitor 플러그인에 의해 Capgo Capacitor 플러그인에 의해 Capgo 구현 세부 사항에 대해 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트에 대한 구현 세부 사항, 그리고 아이오닉 엔터프라이즈 플러그인 대체 아이오닉 엔터프라이즈 플러그인 대체에 대한 제품 워크플로에 대해