CopyPatch v2 Kurulumu
CopyPatch paketleri @copypatch npm kapsamı altında yayınlanmaktadır. Uygulamanızın istemci ve sunucu mimarisine göre yalnızca ihtiyaç duyduğunuz paketleri projenize ekleyin.
Önkoşullar
- Çalışma Zamanı (Runtime): Node.js
>=20.0.0(Node.js 24 LTS önerilir) - Modül Formatı: Saf ESM (ECMAScript Modules)
- Eş Bağımlılıklar (Peer Dependencies): React
>=18.0.0ve React DOM>=18.0.0 - Çalışma Ortamı: Aynı kökenden (same-origin) API rotası barındırabilen sunucu özellikli bir web uygulaması
Paket Ekosistemi
| Paket | Hedef Ortam | Açıklama |
|---|---|---|
@copypatch/core | Evrensel (Tarayıcı ve Sunucu) | Tip tanımları, şema doğrulamaları, metin normalizasyonu ve API sabitleri. |
@copypatch/react | Tarayıcı (React) | CopyPatchProvider, EditableText, React kancaları ve tembel yüklenen editör arayüzü. |
@copypatch/backend | Node / Edge Sunucu | Gömülü Web Request/Response API çalışma zamanı, Argon2id oturum yönetimi ve CSRF koruması. |
@copypatch/storage-sqlite | Node Sunucu | Atomik karşılaştır-ve-değiştir (CAS) revizyon doğrulamalı işlemsel SQLite depolama adaptörü. |
@copypatch/storage-postgres | Node Sunucu | Çoklu sunucu kümeleri için bağlantı havuzlu PostgreSQL depolama adaptörü. |
@copypatch/node | Node Sunucu & CLI | Yerel Node HTTP, Express, Fastify, Hono ara yazılımları ve resmi copypatch CLI aracı. |
@copypatch/next | Next.js App Router | Same-origin rota işleyicileri, sunucu bileşeni anlık görüntü okuyucusu ve Next.js sağlayıcısı. |
Bağımlılıkları Yükleme
Terminal (pnpm)
# Çekirdek ve React İstemcisi
pnpm add @copypatch/core @copypatch/react
# Gömülü Backend ve SQLite Kalıcılık Katmanı
pnpm add @copypatch/backend @copypatch/storage-sqlite
# Çerçeve Adaptörleri (Uygulamanıza uygun olanı seçin)
pnpm add @copypatch/next # Next.js App Router için
pnpm add @copypatch/node # Astro, Express, Fastify, Hono, React Router için Terminal (npm)
npm install @copypatch/core @copypatch/react @copypatch/backend @copypatch/storage-sqlite @copypatch/next CLI Şablonlama ve Yardımcı Komutlar
@copypatch/node paketi; yapılandırma dosyalarını oluşturmak, parola özetleri üretmek ve migrasyonları çalıştırmak için resmi copypatch CLI komut satırı aracını sağlar:
CLI Komutları
# İnteraktif şablon oluşturma (veya doğrudan bayraklarla çalıştırma)
npx copypatch init --framework next --storage sqlite
# Dosyalara yazmadan şablonu test etme (Kuru çalıştırma)
npx copypatch init --framework next --storage sqlite --dry-run
# Güvenli Argon2id parola özeti (hash) üretme
printf 'guclu-ve-guvenli-parolaniz' | npx copypatch hash --stdin
# Veritabanı şema migrasyonlarını çalıştırma
npx copypatch migrate --storage sqlite
# Çalışma zamanı yapılandırmasını ve sağlık durumunu denetleme
npx copypatch doctor CLI Komut Başvuru Tablosu
| Komut | Bayraklar (Flags) | İşlev ve Amaç |
|---|---|---|
copypatch init | --framework <next|astro|react-router|vite-node>--storage <sqlite|postgres>--dry-run, --cwd <dizin> | Seçilen çerçeve ve depolama motoruna göre copypatch.config.ts, copypatch.env.example ve ilgili rota dosyasını oluşturur. Tekrar çalıştırılması güvenlidir; mevcut çakışan dosyaların üzerine yazmaz. |
copypatch hash | --stdin, --passphrase <metin> | Kriptografik olarak güvenli Argon2id parola özeti (hash) üretir. --stdin kullanımı parolanın kabuk geçmişinde görünmesini engeller. |
copypatch migrate | --storage <sqlite|postgres> | Seçilen veritabanı motoru için sürüm takipli ve idempotent şema migrasyonlarını çalıştırır. |
copypatch doctor | Yok | Yerel ortam değişkenlerini, rota yapılandırmalarını ve depolama bağlantı sağlığını denetler. |
Önemli Not: CopyPatch CLI aracında kasıtlı olarak bir serve komutu bulunmaz. CopyPatch bağımsız bir arka plan süreci olarak değil, doğrudan mevcut web uygulamanızın HTTP sunucusunun içine gömülü olarak çalışır.