Panduan
Cara menggunakan Capacitor+ Core di Capacitor
Menggunakan Package Capacitor+ (@capacitor-plus)
Capacitor+ adalah fork otomatis yang selalu sinkron dari Capacitor dikelola oleh Capgo. Ini menyediakan pengganti langsung untuk paket resmi Capacitor dengan satu keunggulan utama: PR dan perbaikan komunitas digabung lebih cepat.
Mengapa Capacitor+ Ada
Tim Ionic mengelola Capacitor sesuai prioritas dan jadwal rilis mereka sendiri. Ini berarti kontribusi komunitas—perbaikan bug, peningkatan, dan fitur—bisa menunggu berbulan-bulan atau bahkan bertahun-tahun untuk digabung. Beberapa bahkan tidak pernah diproses.
Capacitor+ mengatasi masalah ini dengan:
- Menggabungkan PR dari Fork - PR berharga yang tertahan di antrean upstream akan digabung secara aktif
- Sinkronisasi Kontinu - Setiap perubahan dari upstream Capacitor ditarik, diuji, dan diverifikasi secara otomatis
- Rilis Cepat - Saat perubahan lolos CI, semuanya otomatis dipublikasikan ke npm di bawah
@capacitor-pluscakupan - Utamakan Komunitas - Kontribusi Anda penting dan diprioritaskan
- Sudah Ditinjau Keamanannya - Setiap perubahan dianalisis oleh AI untuk celah keamanan, breaking changes, dan risiko stabilitas
Paket Tersedia
| Paket | Deskripsi |
|---|---|
@capacitor-plus/core |
Library runtime inti |
@capacitor-plus/cli |
Antarmuka baris perintah |
@capacitor-plus/android |
Runtime Android |
@capacitor-plus/ios |
Runtime iOS |
Instalasi
Proyek Baru
Untuk proyek baru, cukup gunakan paket Capacitor+ alih-alih paket resmi:
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # for Android
npm install @capacitor-plus/ios # for iOS
Lalu inisialisasi proyek Anda:
npx cap init
npx cap add android
npx cap add ios
Migrasi dari Capacitor Resmi
Untuk migrasi proyek yang sudah ada dari Capacitor resmi ke 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
Karena Capacitor+ adalah drop-in replacement dengan API yang sama, tidak perlu ada perubahan code. Import Anda tetap sama:
// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
Cara Kerjanya
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Daily Sync: GitHub Action mengambil perubahan terbaru dari
ionic-team/capacitor - Pembuatan PR: Perubahan diajukan sebagai pull request ke
plusbranch - Validasi CI: Test suite lengkap dijalankan (lint, unit test, iOS build, Android build)
- Review Code oleh Claude: Analisis keamanan komprehensif berbasis AI memeriksa:
- Kerentanan keamanan (injection, XSS, dll.)
- Perubahan breaking pada API
- Risiko crash dan masalah stabilitas
- Integritas data dan masalah privasi
- Pola code yang berbahaya
- Auto-Merge: Hanya jika CI lulus DAN Claude menyetujui (tidak ada issue terdeteksi)
- Auto-Publish: Versi baru telah dipublikasikan ke npm di bawah
@capacitor-plus/*
Tinjauan Keamanan
Setiap sinkronisasi upstream dianalisis untuk:
| Periksa | Deskripsi |
|---|---|
| Keamanan | Command injection, XSS, path traversal, hardcoded secrets, dll. |
| Perubahan Penting | API yang dihapus/diubah namanya, perubahan signature, perubahan format config |
| Stabilitas | Null dereference, exception yang tidak tertangani, race condition, kebocoran memori |
| Keamanan Data | Skenario kehilangan data, pelanggaran privasi, penyimpanan tidak aman |
| Integritas Code | code yang terobfuskasi, panggilan jaringan mencurigakan, backdoor |
Jika ditemukan masalah, PR akan ditandai untuk ditinjau secara manual dan TIDAK akan di-auto-merge.
Ingin PR Anda di-merge?
PR Anda tertahan di repo resmi Capacitor? Begini cara memasukkannya ke Capacitor+:
- Buka issue di dalam Repo Capacitor+ menautkan ke upstream PR Anda
- Atau submit PR secara langsung ke dalam
plusbranch - Tim akan meninjau, menjalankan CI, dan melakukan merge jika lolos
Dengan cara ini, Anda dan orang lain bisa langsung memanfaatkan hasil kerja Anda tanpa menunggu siklus rilis upstream.
Keuntungan
- Dapatkan PR yang Tertunda Sekarang: Perbaikan dan fitur komunitas yang menunggu upstream akan di-merge
- Tetap Update: Dapatkan perbaikan upstream segera setelah lolos CI
- Keamanan Utama: Setiap perubahan ditinjau dari sisi kerentanan dan risiko stabilitas
- Rilis Terverifikasi: Hanya perubahan yang lolos tes CI DAN review keamanan AI yang dipublikasikan
- Pengganti drop-in: API yang sama dengan Capacitor, hanya beda scope package
- Suara Anda Berarti: Kirim PR Anda sendiri atau minta PR upstream tertentu untuk di-merge
Contoh: Menggunakan Capacitor+ dengan Plugin
Semua plugin resmi Capacitor berjalan mulus dengan 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();
Plugin Capgo juga berjalan sempurna dengan 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' });
Selesai! Sekarang Anda punya versi Capacitor yang update-nya lebih cepat, dengan perbaikan komunitas yang di-merge lebih cepat. Aplikasi Anda akan dapat perbaikan bug dan fitur tanpa menunggu siklus rilis resmi.
Lanjut dari Menggunakan Package Capacitor+ (@capacitor-plus)
Jika Anda menggunakan Menggunakan Package Capacitor+ (@capacitor-plus) untuk merencanakan pekerjaan plugin native, hubungkan dengan Capacitor+ untuk detail implementasinya di Capacitor+, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin Capacitor oleh Capgo untuk detail implementasi pada Capacitor Plugins oleh Capgo Menambahkan atau Memperbarui Plugin untuk detail implementasi di Menambahkan atau Memperbarui Plugin, dan Alternatif Plugin Ionic Enterprise untuk alur kerja produk dalam Alternatif Plugin Ionic Enterprise.