Geliştiriciler
Kaynaktan derleme
vivePDF'i kaynak koddan çalıştırmak için gerekenler, geliştirme modunda açma, testleri çalıştırma ve kendi kurulum paketini derleme.
vivePDF’i kaynak koddan derleyip çalıştırabilirsin. Hazır paketi olmayan Linux’ta ya da macOS sürümü yayımlanana kadar Mac’te uygulamayı kullanmanın yolu budur; koda katkı vermek istediğinde de buradan başlarsın.
Depo düzeni
Kaynak kodun tamamı GitHub’daki vivePDF deposunda. Üç ana klasör var:
apps/desktop— masaüstü uygulaması: Tauri 2 (Rust) kabuğu ve React 19, TypeScript ve Tailwind v4 ile yazılmış arayüz. PDF görüntüleyici EmbedPDF’tir.sidecar— PyMuPDF üzerine kurulu Python motoru. Uygulama onu ayrı bir süreç olarak başlatır; pdf2docx, OCRmyPDF, pyHanko ve Tesseract da burada kullanılır.scripts— motoru paketleyen ve sürüm derlemesini hazırlayan betikler.
Gerekenler
- Node 22 ve pnpm 10
- Rust (stable) ve işletim sisteminin derleme araçları; macOS’ta Xcode komut satırı araçları
- Python 3.12 ya da sonrası ve uv
Geliştirme modunda çalıştırma
-
Depoyu klonla:
git clone https://github.com/mtvrkan/vivePDF.git cd vivePDF -
Arayüzün bağımlılıklarını kur:
cd apps/desktop pnpm install -
Python motorunun ortamını hazırla. Geliştirme modundaki uygulama motoru doğrudan kaynaktan çalıştırır:
cd ../../sidecar uv sync -
Uygulamayı aç:
cd ../apps/desktop pnpm tauri dev
Testler
Her katmanın kendi testleri var. Komutları belirtilen klasörde çalıştır:
| Katman | Klasör | Komut |
|---|---|---|
| Arayüz birim testleri | apps/desktop |
pnpm test |
| Tür denetimi ve lint | apps/desktop |
pnpm typecheck · pnpm lint |
| Arayüz ve motor arasındaki RPC türleri | apps/desktop |
pnpm check:rpc |
| Python motoru | sidecar |
uv run pytest -x -q |
| Rust kabuğu | apps/desktop/src-tauri |
cargo test |
| Uçtan uca, gerçek uygulamayla | apps/desktop |
pnpm e2e |
Uçtan uca testler gerçek uygulamayı arayüzü üzerinden kullanır ve yalnızca Windows’ta çalışır; ek kurulum için cargo install tauri-driver --locked gerekir. Kurulum ayrıntıları, gerçek belgelerle ve büyük dosyalarla yapılan testler docs/TESTING.md dosyasında anlatılıyor.
Kurulum paketi derleme
Kurulabilir bir paket için önce Python motorunu tek bir klasör hâlinde paketlemen gerekir. Betik motoru derler, apps/desktop/src-tauri/binaries/engine/ altına kopyalar ve kendi denetimlerinden geçmezse durur:
scripts/build-sidecar.sh
Windows’ta aynı işi scripts/build-sidecar.ps1 yapar. Sonra uygulamayı sürüm yapılandırmasıyla derle. Güncelleme imzalama anahtarın yoksa güncelleme dosyalarını kapat:
cd apps/desktop
pnpm tauri build --config src-tauri/tauri.release.conf.json --config '{"bundle":{"createUpdaterArtifacts":false}}'
Paketler apps/desktop/src-tauri/target/release/bundle/ altına yazılır. Linux’ta aralarında .deb ve AppImage’ın da olduğu paketler çıkar; AppImage’ı başlatmadan önce chmod +x ile çalıştırılabilir yap.
Ofis dönüştürmeleri
Kendi derlediğin macOS ve Linux sürümleri Word, Excel ve PowerPoint dönüştürmeleri için sistemde kurulu LibreOffice’i kullanır. LibreOffice’i içinde taşıyan Windows kurulumu ise scripts/build-windows-release.ps1 ile derlenir.
Resmî sürümlerin nasıl derlenip yayımlandığı, imzalama ve güncelleme kanalı docs/RELEASING.md dosyasında. Kod lisansı için Lisans sayfasına bak.