npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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 create

Nası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 + derlet

Ayarları 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

Belgeler

dev.winkwop.com