메인 콘텐츠로 건너뛰기
플러그인으로 돌아가기
@capacitor-plus/core
튜토리얼
github.com/Cap-go

Capacitor Core

Capacitor는 Capacitor의 자동화된, 항상 동기화된 fork입니다. 커뮤니티 PR를 병합하고 빠른 릴리즈를 통해 개발됩니다.

안내서

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+는 이 문제를 해결하기 위해:

  1. 포크에서 PR 병합 - 상위 큐에 갇힌 유용한 PR를 적극적으로 병합합니다.
  2. 연속 동기화 - 상위 Capacitor의 모든 변경 사항이 자동으로 pull, 테스트, 검증됩니다.
  3. 빠른 릴리즈 - 변경 사항이 CI를 통과하면 npm의 scope 하위에서 자동으로 릴리즈됩니다. @capacitor-plus 커뮤니티-최우선
  4. - 여러분의 기여가 중요하고 우선순위를 받습니다. 보안 검토
  5. __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       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. 일일 동기화: GitHub 액션은 최신 변경 사항을 가져옵니다. ionic-team/capacitor
  2. PR 생성: 변경 사항은 __CAPGO_KEEP_0__로 pull request를 제안합니다. plus branch
  3. CI 검증: 전체 테스트 스위트가 실행됩니다 (lint, 단위 테스트, iOS 빌드, Android 빌드)
  4. Claude Code 검토: AI-powered comprehensive security analysis checks for:
    • 보안 취약점 (인젝션, XSS 등)
    • Breaking API changes
    • 스태빌리티 이슈 및 충돌 위험
    • 데이터 무결성 및 개인 정보 보호 문제
    • 악성 code 패턴
  5. Auto-Merge: Only if CI passes AND Claude approves (no issues detected)
  6. Auto-Publish: A new version is published to npm under @capacitor-plus/*

보안 검토

매 업스트림 싱크 분석을 위해:

체크 설명
보안 명령어 주입, XSS, 경로 탐색, 고정 비밀, etc.
파괴적인 변경 제거/이름 변경된 API, 서명 변경, 구성 형식 변경
안정성 Null 참조, 예외 처리되지 않은, 경쟁 조건, 메모리 누수
데이터 안전 데이터 손실 시나리오, 개인 정보 침해, 안전하지 않은 저장
Code完整성 가리워진 code, 의심스러운 네트워크 호출, 백도어

만약 문제가 감지되면 PR은 수동 검토를 위해 표시되고 자동 병합되지 않습니다.

PR을 병합하고 싶으세요?

Capacitor 공식 저장소에 PR이 막혔나요? 여기서 Capacitor+로 보내는 방법을 알려드리겠습니다.

  1. 이슈 열기 공식 __CAPGO_KEEP_0__+ 저장소에서 Capacitor+ 저장소에 PR을 직접 제출 팀은 이를 검토하고 CI를 실행하고 통과하면 병합합니다.
  2. 이러한 방식으로, 당신과 다른 사람들이 즉시 당신의 작업을 즐기고, 업스트림 릴리스 주기 동안 기다리지 않습니다. PR을 __CAPGO_KEEP_1__+로 제출하세요. plus PR을 __CAPGO_KEEP_1__+로 제출하세요.
  3. 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에 커뮤니티 개선 사항이 더 빠르게 병합된 더 빠르게 업데이트된 버전을 가지고 있습니다. 앱은 공식 릴리스 주기 기다리지 않고 버그 수정 및 기능을 즐길 수 있습니다.