Skip to content

İzin verilen paketler

Temalar sınırlı bir npm paketi kümesini içe aktarabilir. Liste kısa tutulur; sebebi aşağıda.

Liste

PaketNe için
react, react-dom, react/jsx-runtimeÇalışma anında vitrinden gelir
winkwop-theme-sdkMağaza verisi → SDK
clsxKoşullu className birleştirme
tailwind-mergeÇakışan Tailwind sınıflarını sadeleştirme
embla-carousel-reactKarusel / kaydırmalı galeri
motionAnimasyon

Alt yollar da çalışır (embla-carousel-react/plugins gibi).

tsx
import clsx from 'clsx';
import useEmblaCarousel from 'embla-carousel-react';

Neden sınırlı?

Tema kodu her ziyaretçinin tarayıcısında çalışır. Serbest npm, zararlı tek bir paketin tüm mağazaların müşterilerine ulaşması demektir.

Derlemenin bizde ve ağsız olması ayrıca platformun ilerlemesini sağlıyor: React sürümü ya da SDK çalışma ortamı değiştiğinde tüm temaları yeniden derleyebiliyoruz. Derlenmiş paket yüklenseydi her değişiklikte her partnerin yeniden deploy etmesi gerekirdi; etmeyenlerin teması çürürdü.

React'i asla paketlemeyin

react içe aktarımınız vitrinin React'ine bağlanır. İkinci bir kopya paketlenirse hook'lar sessizce bozulur — bu yüzden React derleme sırasında paketlenmez, çalışma anında sağlanır.

Listede olmayan bir şey gerekiyorsa

Önce kopyalamayı düşünün. İhtiyaçların çoğu birkaç satırlık yardımcıdır (slugify, debounce, sayı formatlama). src/lib/ altına koyduğunuz kod sizin dosyanızdır ve normal şekilde derlenir — izin listesiyle işi yoktur.

Gerçekten paket gerekiyorsa (karmaşık bir takvim, ödeme widget'ı, ağır bir grafik kütüphanesi) bize yazın. Liste kod değil veri: paket eklemek bizim tarafımızda tek satırlık bir değişiklik.

Bunu isterken şunları belirtin: paket adı, sürüm, ne için kullanacağınız ve gzip'li boyutu. Paket temanızın içine gömüleceği için boyut doğrudan mağazanın açılış hızına yazılır.

Hata mesajı

İzinsiz bir paketi içe aktarırsanız derleme şu hatayla durur:

"lodash" paketi tema derlemesinde kullanılamaz.
İzin verilenler: React, clsx, tailwind-merge, embla-carousel-react, motion
ve kendi dosyalarınız. Küçük yardımcıları src/lib/ altına kopyalayabilirsiniz;
başka bir paket gerekiyorsa bize yazın.

Bu hata deploy sırasında çıkar, yani mağazalara yansımadan önce.

Winkwop tema platformu