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.0 ve 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.