create-winkwop-theme
v3.9.1
Published
Winkwop tema geliştirme aracı: proje kurar, bölüm ve prop tanımlarını koda indirir (pull) ve koddan sunucuya yollar (push)
Readme
create-winkwop-theme
Winkwop tema geliştirme aracı. Proje kurar, partner panelindeki bölüm/prop tanımlarını koda indirir, temayı yükleyip derletir.
npx create-winkwop-theme createNasıl çalışır
Winkwop'ta temalar ayrı birer uygulama değil, bölüm paketi. React bileşenlerinizi yazarsınız, Winkwop sunucuda derler, merkezi vitrin çalışma anında yükler. Yani derleme sizde değil bizde — bu, React sürümü değiştiğinde tüm temaların yeniden derlenebilmesini sağlar.
Bölümlerinizin hangi ayarları alacağını ya partner panelindeki geliştirme
editöründen ya da doğrudan src/generated/manifest.json içinde tanımlarsınız.
pull sunucudaki tanımları koda indirir, push koddaki tanımları sunucuya
çıkarır — yani akış çift yönlü: editör ⇄ kod. Onlarca ayarı olan bir temayı
tek tek tıklayarak tanımlamak zorunda değilsiniz.
Komutlar
| Komut | Ne yapar |
| --- | --- |
| create [klasör] | Yeni tema projesi kurar (Vite tabanlı yerel önizleme) |
| login / logout / whoami | Partner hesabı oturumu |
| link [magaza-slug] | Yerel geliştirmeyi gerçek bir mağazaya bağlar |
| pull | Bölüm/prop tanımlarını indirir, eksik bileşen dosyalarını açar |
| push | Projedeki bölüm/prop tanımlarını taslak sürüme yükler |
| version <numara> | Yeni taslak sürüm açar (önceki tanımları devralır) |
| versions | Temanın sürümlerini listeler |
| deploy | Kaynağı yükler, Winkwop'ta derletir, sürümü ready yapar |
| dev | Yerel geliştirme sunucusu (npm run dev ile aynı) |
push neyi değiştirir
push, yüklemeden önce yerel manifesti sunucudakiyle karşılaştırıp ne
değişeceğini yazar ve onay ister. Dikkat edilecek tek şey kalkan alanlar:
bir prop'u sildiğinizde o alanı doldurmuş mağazaların kayıtlı değeri artık
hiçbir yere bağlanmaz. Yayınlanmış (ready) sürüm değişmez; önce
version <numara> ile yeni taslak açmanız gerekir.
Tipik akış
npx create-winkwop-theme create # partner panelinden aldığınız Tema ID'yi sorar
cd <proje>
npm install
npx create-winkwop-theme login # bir kez
npx create-winkwop-theme link # geliştirme mağazasına bağlan
npx create-winkwop-theme pull # tipleri ve bölüm iskeletlerini üret
npm run dev # :3333
npx create-winkwop-theme deploy # yükle + derletAyarları kodda tanımlıyorsanız araya push girer:
npx create-winkwop-theme version 1.1.0 # yayınlanmış sürüm varsa yeni taslak aç
# src/generated/manifest.json düzenlenir
npx create-winkwop-theme push # tanımları sunucuya yolla
npx create-winkwop-theme pull # types.ts / registry.ts'i tazele
npx create-winkwop-theme deploy # kodu derletÜretilen dosyalar
pull, src/generated/ altını her seferinde yeniden yazar:
src/generated/types.ts prop tipleri
src/generated/registry.ts bölüm haritası (temanın giriş noktası)
src/generated/manifest.json editördeki tanımların kopyasısrc/sections/ sizindir. Bir bölüm ilk kez göründüğünde iskeleti oluşturulur,
sonra bir daha dokunulmaz. Editörde silinen bölümlerin dosyaları da
silinmez, yalnızca uyarı basılır.
Kimlik bilgileri
login yenileme jetonunu ~/.winkwop/credentials.json altına yazar (POSIX
sistemlerde 0600). Proje klasörüne hiçbir sır yazılmaz — winkwop.config.json
yalnızca tema kimliği, adı ve API adresini taşır ve depoya girmesi beklenir.
İki faktörlü doğrulama
Winkwop hesaplarında 2FA varsayılan açık. login parolayı doğruladıktan
sonra e-postanıza 6 haneli bir kod gönderiyor ve CLI onu soruyor. Kodu boş
bırakıp Enter'a basarsanız yenisi gönderilir.
"Bu makine hatırlansın mı?" sorusuna evet derseniz cihaz belirteci de kaydediliyor ve 30 gün boyunca kod istenmiyor. Hayır derseniz her yeni oturumda kod gelir.
3.9.0 öncesi CLI 2FA'yı bilmiyordu: sunucu oturum yerine doğrulama isteği döndüğünde CLI bunu başarı sayıyor, jetonsuz bir kimlik dosyası yazıyor ve "✅ Giriş başarılı" basıyordu. Sonraki her komut "Giriş yapılmamış" diyordu ve sebebi hiç anlaşılmıyordu. Jeton gelmediğinde artık açıkça hata veriliyor.
Ortam değişkenleri
| Değişken | Varsayılan | Ne için |
| --- | --- | --- |
| WINKWOP_API_URL | https://api.winkwop.com/api/v1 | API adresi |
| WINKWOP_BUILD_URL | https://winkwop.com | deploy'un derleme isteği attığı vitrin adresi |
Proje bazında winkwop.config.json içindeki apiUrl de aynı işi görür; öncelik
sırası: ortam değişkeni → proje ayarı → varsayılan.
Sürüm notu
Temanız Tailwind kullanıyorsa (src/tailwind.css varsa) pull, registry'e
import '../tailwind.css' satırını ekler. Bu satırı ekleyen kod 3.1.0 ile
geldi — daha eski bir sürüm kuruluysa pull her çalıştığında o satırı siler ve
stilleriniz hiç uygulanmaz. Belirtisi kafa karıştırıcıdır: derleme başarılı
olur, "Tailwind genişletildi" logu bile çıkar, yalnızca stiller gelmez.
Kurulu sürümü kontrol edin:
npx create-winkwop-theme --version