@lentystyle/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/CHANGELOG.tr.md +13 -0
- package/CODE_OF_CONDUCT.md +42 -0
- package/CODE_OF_CONDUCT.tr.md +41 -0
- package/CONTRIBUTING.md +53 -0
- package/CONTRIBUTING.tr.md +50 -0
- package/LICENSE.md +281 -0
- package/LICENSE.tr.md +280 -0
- package/README.md +139 -0
- package/README.tr.md +136 -0
- package/SECURITY.md +33 -0
- package/SECURITY.tr.md +32 -0
- package/dist/compiler/imports/chars.min.cjs +2 -0
- package/dist/compiler/imports/chars.min.js +2 -0
- package/dist/compiler/imports/classify.min.cjs +2 -0
- package/dist/compiler/imports/classify.min.js +2 -0
- package/dist/compiler/imports/scan.min.cjs +3 -0
- package/dist/compiler/imports/scan.min.js +3 -0
- package/dist/compiler/incremental.min.cjs +73 -0
- package/dist/compiler/incremental.min.js +73 -0
- package/dist/compiler/index.min.cjs +67 -0
- package/dist/compiler/index.min.js +67 -0
- package/dist/compiler/profile.min.cjs +2 -0
- package/dist/compiler/profile.min.js +2 -0
- package/dist/compiler/renderer.min.cjs +8 -0
- package/dist/compiler/renderer.min.js +8 -0
- package/dist/compiler/resource-limits.min.cjs +1 -0
- package/dist/compiler/resource-limits.min.js +1 -0
- package/dist/compiler/security/guard.min.cjs +1 -0
- package/dist/compiler/security/guard.min.js +1 -0
- package/dist/compiler/variables/array-variable.min.cjs +1 -0
- package/dist/compiler/variables/array-variable.min.js +1 -0
- package/dist/config.min.cjs +1 -0
- package/dist/config.min.js +1 -0
- package/dist/guard/hybrid.min.cjs +2 -0
- package/dist/guard/hybrid.min.js +2 -0
- package/dist/guard/runtime.min.cjs +1 -0
- package/dist/guard/runtime.min.js +1 -0
- package/dist/guard/shared.min.cjs +1 -0
- package/dist/guard/shared.min.js +1 -0
- package/dist/guard/ssr.min.cjs +2 -0
- package/dist/guard/ssr.min.js +2 -0
- package/dist/index.min.cjs +103 -0
- package/dist/index.min.js +103 -0
- package/dist/runtime/diagnostics.min.cjs +1 -0
- package/dist/runtime/diagnostics.min.js +1 -0
- package/dist/runtime/features.min.cjs +2 -0
- package/dist/runtime/features.min.js +2 -0
- package/dist/runtime/index.min.cjs +103 -0
- package/dist/runtime/index.min.js +103 -0
- package/dist/runtime/lentystyle.compile.worker.min.js +83 -0
- package/dist/runtime/lentystyle.debug.min.js +4 -0
- package/dist/runtime/lentystyle.integrity.json +12 -0
- package/dist/runtime/lentystyle.lazy.min.js +1 -0
- package/dist/runtime/lentystyle.log-critical.min.js +1 -0
- package/dist/runtime/lentystyle.log-optional.min.js +1 -0
- package/dist/runtime/lentystyle.map.min.js +4 -0
- package/dist/runtime/lentystyle.min.js +103 -0
- package/dist/runtime/lentystyle.observed.min.js +9 -0
- package/dist/runtime/lentystyle.performance.min.js +1 -0
- package/dist/runtime/lentystyle.worker.min.js +2 -0
- package/dist/runtime/options.min.cjs +1 -0
- package/dist/runtime/options.min.js +1 -0
- package/dist/runtime/style-sheet.min.cjs +1 -0
- package/dist/runtime/style-sheet.min.js +1 -0
- package/dist/types/compiler/compiler/index.d.ts +4 -0
- package/dist/types/compiler/compiler/render/collect-leaves.d.ts +3 -0
- package/dist/types/compiler/compiler/render/index.d.ts +3 -0
- package/dist/types/compiler/compiler/render/render-buckets.d.ts +3 -0
- package/dist/types/compiler/compiler/render/types.d.ts +13 -0
- package/dist/types/compiler/compiler/renderer.d.ts +5 -0
- package/dist/types/compiler/compiler/resource-limits.d.ts +21 -0
- package/dist/types/compiler/compiler/types.d.ts +82 -0
- package/dist/types/compiler/index.d.ts +2 -0
- package/dist/types/compiler/reader.d.ts +5 -0
- package/dist/types/compiler/renderer.d.ts +1 -0
- package/dist/types/config.d.ts +14 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/runtime/diagnostics.d.ts +1 -0
- package/dist/types/runtime/features.d.ts +1 -0
- package/dist/types/runtime/index.d.ts +4 -0
- package/dist/types/runtime/options.d.ts +12 -0
- package/dist/types/runtime/runtime/features/assets.d.ts +3 -0
- package/dist/types/runtime/runtime/features/index.d.ts +5 -0
- package/dist/types/runtime/runtime/features/loader.d.ts +2 -0
- package/dist/types/runtime/runtime/features/performance-types.d.ts +39 -0
- package/dist/types/runtime/runtime/features/registry.d.ts +4 -0
- package/dist/types/runtime/runtime/features/types.d.ts +109 -0
- package/dist/types/runtime/runtime/loader/context-time.d.ts +2 -0
- package/dist/types/runtime/runtime/loader/context-types.d.ts +19 -0
- package/dist/types/runtime/runtime/loader/context.d.ts +18 -0
- package/dist/types/runtime/runtime/loader/options.d.ts +8 -0
- package/dist/types/runtime/runtime/loader/process/import-resolver/types.d.ts +12 -0
- package/dist/types/runtime/runtime/loader/process/types.d.ts +25 -0
- package/dist/types/runtime/runtime/style-sheet/cache.d.ts +6 -0
- package/dist/types/runtime/runtime/style-sheet.d.ts +7 -0
- package/dist/types/runtime/runtime/stylesheet-links/auto-loader.d.ts +7 -0
- package/dist/types/runtime/runtime/stylesheet-links/dom-compile.d.ts +9 -0
- package/dist/types/runtime/runtime/stylesheet-links.d.ts +2 -0
- package/dist/types/runtime/style-sheet.d.ts +1 -0
- package/dist/types/runtime/style.d.ts +2 -0
- package/package.json +117 -0
package/LICENSE.tr.md
ADDED
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# Luis License 1.0 (TR)
|
|
2
|
+
|
|
3
|
+
Telif Hakkı (c) 2025 LentyStyle. Tüm hakları saklıdır.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Amaç
|
|
8
|
+
|
|
9
|
+
Bu yazılım; belirli kaynakları, tanımları, yapılandırmaları, dosyaları veya girdileri işleyerek çıktı üreten bir yazılım sistemi, kütüphane, araç, motor veya yazılım bileşeni olarak kullanılabilir.
|
|
10
|
+
|
|
11
|
+
Bu lisansın amacı:
|
|
12
|
+
|
|
13
|
+
- geliştiricilerin bu yazılımı kişisel, ticari ve proje bazlı kullanımlarda serbestçe kullanmasını sağlamak,
|
|
14
|
+
- yazılım etrafındaki ekosistemin büyümesini desteklemek,
|
|
15
|
+
- yazılımın platform, servis, builder, white-label ve altyapı seviyesindeki ticari kullanımını korumaktır.
|
|
16
|
+
|
|
17
|
+
Bu lisans açık kaynak lisansı değildir. Kapsanan yazılımın kaynak kodu bu aşamada kamuya açık değildir. Yazılım yalnızca derlenmiş artifaktlar, binary dosyalar, paketlenmiş çıktılar veya benzeri dağıtım dosyaları üzerinden dağıtılabilir.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Kapsanan Yazılım
|
|
22
|
+
|
|
23
|
+
Bu lisans, bu lisans dosyasını içeren tüm yazılım bileşenleri için geçerlidir (“Kapsanan Yazılım”).
|
|
24
|
+
|
|
25
|
+
Bu lisans, yalnızca ilgili yazılımın yayımlandığı versiyon için geçerlidir ve o versiyonla birlikte sabit kalır. Sonraki versiyonlar farklı lisans koşullarıyla yayımlanabilir.
|
|
26
|
+
|
|
27
|
+
Kapsanan Yazılım bu sürümde yalnızca derlenmiş artifaktlar, binary dosyalar, bundle dosyaları, tip tanım dosyaları, paketlenmiş dağıtım dosyaları ve benzeri çıktılar olarak sunulabilir.
|
|
28
|
+
|
|
29
|
+
Bu lisans kapsamında açıkça belirtilmeyen veya farklı bir lisans ile yayımlanan bileşenler bu lisansın kapsamı dışındadır.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 3. Ücretsiz Kullanım
|
|
34
|
+
|
|
35
|
+
Aşağıdaki kullanım senaryoları ücretsizdir.
|
|
36
|
+
|
|
37
|
+
### ✓ Kişisel projeler
|
|
38
|
+
|
|
39
|
+
Hobi, öğrenme, deneysel ve açık kaynak projelerde kullanım serbesttir.
|
|
40
|
+
Bir projenin açık kaynak olarak yayımlanması, bu lisans kapsamında platform, servis, builder, editor, white-label, altyapı veya ticari ürünleştirme kullanımları için getirilen kısıtlamaları ortadan kaldırmaz.
|
|
41
|
+
|
|
42
|
+
### ✓ Ticari projeler
|
|
43
|
+
|
|
44
|
+
Kendi web siteniz, web uygulamanız, dahili araçlarınız, ürün arayüzleriniz veya müşterileriniz için geliştirdiğiniz tekil projelerde kullanım serbesttir.
|
|
45
|
+
|
|
46
|
+
Bu izin, Kapsanan Yazılım’ın işleme, derleme, çalışma zamanı, sunucu tarafı üretim, önceden çıktı hazırlama, tema üretimi veya çıktı üretme yeteneğini başkalarına bir servis, platform veya ürün özelliği olarak sunma hakkı vermez.
|
|
47
|
+
|
|
48
|
+
### ✓ Ajans ve serbest çalışma
|
|
49
|
+
|
|
50
|
+
Müşteriler için web sitesi, web uygulaması, kurumsal site, e-ticaret sitesi, panel veya özel yazılım geliştirme serbesttir. Her müşteri işi ayrı bir proje olarak değerlendirilir.
|
|
51
|
+
|
|
52
|
+
Ajans veya geliştirici, Kapsanan Yazılım’ı kendi geliştirme aracı olarak kullanabilir. Ancak Kapsanan Yazılım’ın işleme kabiliyetini merkezi bir altyapı üzerinden birden fazla müşteriye veya son kullanıcıya servis olarak sunamaz.
|
|
53
|
+
|
|
54
|
+
### ✓ Self-hosted CMS, tema ve plugin kullanımı
|
|
55
|
+
|
|
56
|
+
Self-hosted CMS, tema, plugin, modül veya benzeri dağıtımlarda Kapsanan Yazılım’ın kullanılması ücretsizdir; ancak kullanım ilgili kurulumun kendi içeriğini, kendi arayüzünü veya kendi temasını üretmekle sınırlıdır.
|
|
57
|
+
|
|
58
|
+
Aşağıdaki durumlarda ticari lisans gerekir:
|
|
59
|
+
|
|
60
|
+
- aynı merkezi altyapı üzerinden birden fazla kullanıcının site, mağaza, landing page, uygulama arayüzü veya içerik sayfası oluşturması,
|
|
61
|
+
- kullanıcıların kendi kaynaklarını, dosyalarını, yapılandırmalarını veya girdilerini sizin altyapınızda işlemesi, derlemesi veya çıktıya dönüştürmesi,
|
|
62
|
+
- Kapsanan Yazılım’ın bir hosting, site-builder, no-code, low-code, design tool, editor, export motoru veya white-label servis yeteneği olarak sunulması.
|
|
63
|
+
|
|
64
|
+
### ✓ Masaüstü ve mobil uygulamalar
|
|
65
|
+
|
|
66
|
+
Electron, Tauri, WebView veya benzeri teknolojilerle geliştirilen kendi masaüstü ve mobil uygulamalarınızda Kapsanan Yazılım’ı uygulamanızın kendi arayüzünü veya kendi işlevsel çıktısını oluşturmak için kullanabilirsiniz. Browser bundle’ları, binary dosyalar veya derlenmiş dağıtım dosyaları paketlenmiş uygulama içinde dağıtılabilir.
|
|
67
|
+
|
|
68
|
+
Bu izin, Kapsanan Yazılım’ın kaynak yazma, düzenleme, işleme, derleme, önizleme, dışa aktarma, dönüştürme veya çıktı üretme yeteneğini son kullanıcıya bir ürün özelliği olarak sunma hakkı vermez. Bu tür builder, editor, design tool, code generator, design-to-code veya export ürünleri Bölüm 4 kapsamında ticari lisans gerektirir.
|
|
69
|
+
|
|
70
|
+
### ✓ Temalar, UI kitleri ve şablonlar
|
|
71
|
+
|
|
72
|
+
Kapsanan Yazılım’ın birden fazla araçtan biri olarak yer aldığı, son kullanıcılara hazır ürün olarak satılan tema, UI kit, dashboard, component seti ve şablon çalışmaları ücretsizdir. Dijital pazaryerlerinde satış bu kapsama girer.
|
|
73
|
+
|
|
74
|
+
Bu ürünler, Kapsanan Yazılım’ın işleme yeteneğini son kullanıcıya doğrudan sunmamalıdır. Kapsanan Yazılım’ın çalışma zamanı, derleyici, sunucu tarafı üretim, önceden çıktı hazırlama, export veya işleme süreci kullanıcıya açık hale gelirse bu kullanım Bölüm 4 kapsamında ticari lisans gerektirir.
|
|
75
|
+
|
|
76
|
+
### ✓ Özel entegrasyonlar
|
|
77
|
+
|
|
78
|
+
Kendi projeniz veya müşterinizin tekil projesi için özel build, sunucu tarafı üretim, önceden çıktı hazırlama, adapter veya entegrasyon kodu yazmanız serbesttir.
|
|
79
|
+
|
|
80
|
+
Bu entegrasyonların kamuya dağıtılması, Kapsanan Yazılım’ın kendisini, çalışma zamanı bileşenlerini, derleme kabiliyetlerini veya ticari lisans gerektiren işleme yeteneklerini yeniden paketleme, gizleme, proxy’leme, white-label sunma veya servis olarak kullanıma açma hakkı vermez.
|
|
81
|
+
|
|
82
|
+
### ✓ Yapay zeka ve kod asistanları
|
|
83
|
+
|
|
84
|
+
Yapay zeka araçları veya kod asistanları aracılığıyla kod, kaynak dosyası, yapılandırma veya çıktı üretmek ve bunu kendi ortamınızda çalıştırmak serbesttir. Yapay zekanın Kapsanan Yazılım’ın sözdizimini, formatını veya kullanım şeklini bilmesi ya da kullanması bu lisans kapsamında tek başına bir kısıtlama oluşturmaz.
|
|
85
|
+
|
|
86
|
+
Bu izin, kaynak üretme, kaynak dönüştürme, çıktı üretme, tema üretme, design-to-code, code export veya Kapsanan Yazılım ile uyumlu çıktı üretme yeteneğini bir ürün, platform, servis, eklenti veya ticari özellik olarak başkalarına sunma hakkı vermez.
|
|
87
|
+
|
|
88
|
+
> Temel ilke: Bu senaryolarda Kapsanan Yazılım sizin geliştirme aracınızdır; son kullanıcıya ayrı bir işleme, derleme, çıktı üretme veya platform yeteneği olarak sunulmaz.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 4. Ticari Lisans Gerektiren Kullanımlar
|
|
93
|
+
|
|
94
|
+
Aşağıdaki durumlarda ticari lisans gereklidir.
|
|
95
|
+
|
|
96
|
+
### 4.1 Servis Olarak Kullanım
|
|
97
|
+
|
|
98
|
+
Aşağıdaki kullanımlar ticari lisans gerektirir:
|
|
99
|
+
|
|
100
|
+
- kullanıcıların kaynak dosyası, yapılandırması, girdisi veya içeriği yükleyip karşılığında çıktı, manifest, sunucu tarafı çıktı, önceden hazırlanmış artifakt, tema çıktısı veya başka bir çıktı aldığı araçlar,
|
|
101
|
+
- kullanıcıya ait kaynakları API, web aracı, CLI servisi, cloud job, worker, build servisi veya otomatik pipeline üzerinden işleyen servisler,
|
|
102
|
+
- Kapsanan Yazılım’ın compile, transform, runtime, server-side rendering, pre-rendering, snapshot, build-time generation veya benzeri işleme yeteneğini başkalarına servis olarak sunan sistemler.
|
|
103
|
+
|
|
104
|
+
Kendi projeniz için kullanılan lokal veya dahili otomatik build süreçleri bu madde kapsamında değildir.
|
|
105
|
+
|
|
106
|
+
### 4.2 Platform, SaaS ve Site Builder Kullanımı
|
|
107
|
+
|
|
108
|
+
Aşağıdaki kullanımlar ticari lisans gerektirir:
|
|
109
|
+
|
|
110
|
+
- kullanıcıların kendi site, mağaza, landing page, uygulama arayüzü veya içerik sayfalarını oluşturduğu SaaS, PaaS, site builder, no-code veya low-code platformlar,
|
|
111
|
+
- Kapsanan Yazılım’ın arka planda çalıştığı, fakat son kullanıcıya platformun kendi yerleşik stil, tema, çıktı, işlem veya UI motoru gibi sunulduğu sistemler,
|
|
112
|
+
- birden fazla müşteri veya son kullanıcı için merkezi altyapı üzerinden kaynak derleme, çalışma zamanı işleme, sunucu tarafı üretim, önceden çıktı hazırlama, tema üretimi veya çıktı sağlayan servisler,
|
|
113
|
+
- Kapsanan Yazılım’ın adı, lisansı veya teknik varlığı gizlenerek başka bir ürünün kendi engine’i gibi pazarlanması.
|
|
114
|
+
|
|
115
|
+
Tekil müşteri projeleri, ajans işleri, self-hosted CMS kurulumları ve yalnızca kendi ürününüzün arayüzünü veya kendi dahili çıktısını oluşturmak için yapılan kullanımlar bu madde kapsamında değildir.
|
|
116
|
+
|
|
117
|
+
### 4.3 Barındırma ve Otomatik İşleme
|
|
118
|
+
|
|
119
|
+
Aşağıdaki kullanımlar ticari lisans gerektirir:
|
|
120
|
+
|
|
121
|
+
- kullanıcıların kaynak dosyalarını veya proje kaynaklarını sizin altyapınızda barındırması,
|
|
122
|
+
- kullanıcıya ait kaynakların sizin altyapınızda otomatik işlenmesi, derlenmesi veya çıktıya dönüştürülmesi,
|
|
123
|
+
- kullanıcıya ait HTML, component, prompt, tasarım, içerik, yapılandırma veya başka bir girdiden sizin altyapınızda kaynak, çıktı, manifest, sunucu tarafı çıktı veya önceden hazırlanmış artifakt üretilmesi,
|
|
124
|
+
- sunucu tarafı üretim, önceden çıktı hazırlama, çalışma zamanı işleme veya güvenlik/guard işlemlerinin çoklu kullanıcıya hizmet veren merkezi bir altyapı üzerinden yürütülmesi.
|
|
125
|
+
|
|
126
|
+
Kendi projeleriniz, dahili araçlarınız veya tekil müşteri projeleriniz için kullanılan otomatik derleme ve işleme süreçleri bu kapsama girmez.
|
|
127
|
+
|
|
128
|
+
### 4.4 Design Tool, Builder, Editor ve Kod Üretim Ürünleri
|
|
129
|
+
|
|
130
|
+
Aşağıdaki kullanımlar ticari lisans gerektirir:
|
|
131
|
+
|
|
132
|
+
- kullanıcıların tasarımdan, prompt’tan, görselden, component’ten, HTML’den, yapılandırmadan veya başka bir kaynaktan kaynak, çıktı, manifest, sunucu tarafı çıktı, önceden hazırlanmış artifakt veya tema çıktısı ürettiği ürünler,
|
|
133
|
+
- tasarım araçları, AI design-to-code ürünleri, no-code/low-code builder’lar, çıktı builder’ları, tema editor’leri, UI editor’leri, kod üretim araçları ve export araçları,
|
|
134
|
+
- Kapsanan Yazılım’ın sözdizimini, formatını veya derleme/çalışma zamanı kabiliyetini ürünün çıktı formatı, export seçeneği, tema motoru, stil altyapısı, işlem motoru veya kod üretim hedefi olarak sunan sistemler,
|
|
135
|
+
- kullanıcının kaynak yazmasına, düzenlemesine, derlemesine, işlemesine, önizleme almasına, dışa aktarmasına veya çıktı üretmesine imkan veren ticari araçlar.
|
|
136
|
+
|
|
137
|
+
Bu kısıtlama, aracın web, desktop, mobil, eklenti, API, CLI, agent veya otomasyon olarak sunulmasından bağımsızdır.
|
|
138
|
+
|
|
139
|
+
Kendi projenizde yapay zeka veya kod asistanı kullanarak kod, kaynak dosyası veya yapılandırma üretmeniz bu madde kapsamında değildir. Kısıtlama, bu yeteneğin ürün, platform, servis veya ticari özellik olarak başkalarına sunulması halinde uygulanır.
|
|
140
|
+
|
|
141
|
+
### 4.5 Platform-Level UI veya Çıktı Sistemleri
|
|
142
|
+
|
|
143
|
+
Aşağıdaki kullanımlar ticari lisans gerektirir:
|
|
144
|
+
|
|
145
|
+
- Kapsanan Yazılım’ın çalışma zamanı, derleyici, sunucu tarafı üretim veya önceden çıktı hazırlama bağımlılığı ile çalışan ve çoklu kullanıcıya hizmet eden UI, tema, stil, çıktı veya içerik üretim sistemleri,
|
|
146
|
+
- SaaS, PaaS, hosted CMS, site builder veya benzeri platformlar içinde kullanılan dinamik UI engine’leri, çıktı engine’leri veya tema üretim sistemleri,
|
|
147
|
+
- Kapsanan Yazılım üzerine kurulu ve birden fazla kullanıcıya, müşteriye veya tenant’a sunulan tema, stil, layout, içerik, çıktı veya UI üretim sistemleri.
|
|
148
|
+
|
|
149
|
+
Kendi ürününüzün sabit veya dahili arayüzünde ya da kendi dahili çıktı üretim sürecinizde Kapsanan Yazılım’ı kullanmanız bu madde kapsamında değildir.
|
|
150
|
+
|
|
151
|
+
### 4.6 White-label, Rebranding ve Competing Engine Kullanımı
|
|
152
|
+
|
|
153
|
+
Aşağıdaki kullanımlar ticari lisans gerektirir veya yazılı izin olmadan yasaktır:
|
|
154
|
+
|
|
155
|
+
- Kapsanan Yazılım’ın farklı bir ad, marka veya ürün altında yeniden paketlenmesi,
|
|
156
|
+
- Kapsanan Yazılım’ın bir ürünün kendi geliştirdiği stil motoru, tema motoru, compiler’ı, runtime’ı, işlem motoru, çıktı motoru veya UI engine’i gibi sunulması,
|
|
157
|
+
- Kapsanan Yazılım’ın adının, lisansının veya teknik varlığının son kullanıcıdan gizlenmesi,
|
|
158
|
+
- kapsanan paketlerin çıktıları, API’leri, çalışma zamanı bileşenleri veya dağıtım dosyaları kullanılarak rakip bir compiler, runtime, styling engine, işlem motoru, çıktı motoru veya uyumlu alternatif engine geliştirilmesi,
|
|
159
|
+
- Kapsanan Yazılım ile uyumlu çıktı üreten, Kapsanan Yazılım’ın yerine geçmeyi hedefleyen veya Kapsanan Yazılım’ın ekosistemini ikame eden ticari ürünler geliştirilmesi.
|
|
160
|
+
|
|
161
|
+
Kapsanan Yazılım’ın kullanıldığını açıkça belirten tekil proje, ajans projesi, self-hosted kullanım veya hazır tema/şablon dağıtımı bu madde kapsamında değerlendirilmez. Ancak platform, SaaS, builder, servis, çoklu kullanıcı sistemi veya ürünleştirilmiş export/engine kullanımları için Bölüm 4’teki ticari lisans gereklilikleri uygulanmaya devam eder.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 5. Temel İlke
|
|
166
|
+
|
|
167
|
+
> Kapsanan Yazılım’ı kendi projenizde kullanıyorsanız: ücretsiz.
|
|
168
|
+
>
|
|
169
|
+
> Müşterinize tekil proje geliştiriyorsanız: ücretsiz.
|
|
170
|
+
>
|
|
171
|
+
> Tema, UI kit veya şablon hazırlayıp satıyorsanız ve Kapsanan Yazılım’ın işleme kabiliyetini servis olarak sunmuyorsanız: ücretsiz.
|
|
172
|
+
>
|
|
173
|
+
> Kapsanan Yazılım’ın işleme kabiliyetini başkalarına engine, builder, SaaS, export formatı, compiler, runtime, server-side rendering, pre-rendering, tema motoru, işlem motoru veya platform altyapısı olarak sunuyorsanız: ticari lisans gerekir.
|
|
174
|
+
>
|
|
175
|
+
> Kapsanan Yazılım’ı kendi ürününüzün geliştirdiği bir engine gibi pazarlıyorsanız: yazılı izin veya ticari lisans gerekir.
|
|
176
|
+
|
|
177
|
+
Kullanım durumunuzun ticari lisans gerektirip gerektirmediğinden emin değilseniz, yazılım sahibinin resmi iletişim kanalları üzerinden izin veya ticari lisans koşulları netleştirilmelidir.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 6. Kullanım Örnekleri (Bilgilendirme Amaçlı)
|
|
182
|
+
|
|
183
|
+
Bu bölüm lisans metninin yorumu değildir. Yaygın senaryolara açıklık getirmek amacıyla eklenmiştir.
|
|
184
|
+
|
|
185
|
+
### Serbest kullanım örnekleri
|
|
186
|
+
|
|
187
|
+
✓ Kendi e-ticaret sitenizi Kapsanan Yazılım ile geliştirmek.
|
|
188
|
+
|
|
189
|
+
✓ Bir müşteri için kurumsal web sitesi yapmak.
|
|
190
|
+
|
|
191
|
+
✓ Bir ürünün kendi arayüzünü Kapsanan Yazılım ile geliştirmek.
|
|
192
|
+
|
|
193
|
+
✓ Self-hosted bir CMS kurulumu içinde yalnızca ilgili sitenin temasını veya arayüzünü üretmek.
|
|
194
|
+
|
|
195
|
+
✓ Kaynak dosyaları içeren bir dashboard teması hazırlayıp dijital pazaryerinde satmak; temayı alan kişi kendi projesinde kullanır, siz Kapsanan Yazılım’ın işleme kabiliyetini servis olarak sunmazsınız.
|
|
196
|
+
|
|
197
|
+
✓ Masaüstü veya mobil uygulamanızın kendi arayüzünde Kapsanan Yazılım kullanmak.
|
|
198
|
+
|
|
199
|
+
✓ Yapay zeka veya kod asistanı ile kod, kaynak dosyası veya yapılandırma üretip kendi ortamınızda çalıştırmak.
|
|
200
|
+
|
|
201
|
+
✓ Kendi projeniz için özel build, sunucu tarafı üretim, önceden çıktı hazırlama veya adapter entegrasyonu yazmak.
|
|
202
|
+
|
|
203
|
+
### Ticari lisans gerektiren örnekler
|
|
204
|
+
|
|
205
|
+
✗ Kullanıcıların kaynak dosyası yükleyip çıktı, manifest, sunucu tarafı çıktı veya önceden hazırlanmış artifakt aldığı bir web aracı, API veya servis kurmak.
|
|
206
|
+
|
|
207
|
+
✗ Kullanıcıların kendi sitesini, mağazasını, landing page’ini veya uygulama arayüzünü oluşturduğu bir platform içinde Kapsanan Yazılım’ı arka planda çalıştırmak.
|
|
208
|
+
|
|
209
|
+
✗ Kullanıcıların tasarımdan, prompt’tan, component’ten veya görselden kaynak, çıktı veya tema çıktısı aldığı bir ürün geliştirmek.
|
|
210
|
+
|
|
211
|
+
✗ Kullanıcıya kaynak yazma, düzenleme, derleme, önizleme veya dışa aktarma imkanı veren ticari builder, editor, design tool, kod üretim aracı veya eklenti geliştirmek.
|
|
212
|
+
|
|
213
|
+
✗ Kullanıcıların kaynak dosyalarını sizin altyapınızda barındırıp sunucu tarafı üretim, önceden çıktı hazırlama, çalışma zamanı işleme veya derleme işlemini otomatik yürütmek.
|
|
214
|
+
|
|
215
|
+
✗ Kapsanan Yazılım’ı başka bir ad altında paketleyip kendi compiler’ınız, runtime’ınız, tema motorunuz, işlem motorunuz, çıktı motorunuz veya UI engine’iniz gibi sunmak.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 7. Kısıtlamalar
|
|
220
|
+
|
|
221
|
+
Aşağıdakiler yasaktır:
|
|
222
|
+
|
|
223
|
+
- kapsanan paketlerin kaynak kodunu değiştirmek, derlemeyi çözmek, tersine mühendislik uygulamak veya yeniden oluşturmaya çalışmak,
|
|
224
|
+
- Kapsanan Yazılım’a ait derlenmiş çıktıları, binary dosyaları, bundle dosyalarını, tip tanım dosyalarını, çalışma zamanı bileşenlerini, public API’lerini veya dağıtılan paketleri başka bir işleme, derleme, runtime, styling engine, çıktı motoru veya uyumlu alternatif sistem oluşturmak amacıyla kullanmak,
|
|
225
|
+
- telif hakkı bildirimlerini, lisans dosyalarını veya atıf meta verilerini kaldırmak ya da değiştirmek,
|
|
226
|
+
- bu lisans kapsamında tanınan hakları herhangi bir üçüncü tarafa devretmek veya alt lisans vermek,
|
|
227
|
+
- yazılı izin alınmaksızın Kapsanan Yazılım’ın adını, logosunu veya ticari markalarını ürün ya da hizmetinizi onayladığımızı ima edecek biçimde kullanmak,
|
|
228
|
+
- Kapsanan Yazılım’ı Bölüm 4’te ticari lisans gerektiren kullanımlar için yazılı ticari lisans almadan kullanmak.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 8. Yeniden Dağıtım
|
|
233
|
+
|
|
234
|
+
Derlenmiş artifaktları, binary dosyaları, bundle dosyalarını, tip tanım dosyalarını, paketlenmiş dağıtım dosyalarını ve benzeri çıktıları kendi ürününüzün veya paketinizin bir parçası olarak yeniden dağıtabilirsiniz; ancak:
|
|
235
|
+
|
|
236
|
+
- bu lisans dosyası değiştirilmeden dahil edilmelidir,
|
|
237
|
+
- yeniden dağıtım, Bölüm 4’te tanımlanan platform, servis, builder, white-label, competing engine veya ticari lisans gerektiren kullanım niteliği taşımamalıdır,
|
|
238
|
+
- dosyalar değiştirilmemeli, gizlenmemeli, yeniden adlandırılarak farklı bir engine gibi sunulmamalı veya Kapsanan Yazılım’ın teknik varlığını saklayacak şekilde paketlenmemelidir.
|
|
239
|
+
|
|
240
|
+
Yeniden dağıtım, Kapsanan Yazılım üzerinde alt lisans verme hakkı doğurmaz. Son kullanıcılar Kapsanan Yazılım’ı yalnızca bu lisans koşulları kapsamında kullanabilir.
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 9. Kaynak Kod Açılışı ve Open Luis License
|
|
245
|
+
|
|
246
|
+
Kapsanan Yazılım ilk aşamada yalnızca derlenmiş artifaktlar, binary dosyalar, bundle dosyaları, tip tanım dosyaları, paketlenmiş dağıtım dosyaları ve benzeri çıktılar olarak yayımlanabilir.
|
|
247
|
+
|
|
248
|
+
Yazılım sahibi, Kapsanan Yazılım’ın kaynak kodunu ilk kamu yayını tarihinden itibaren en geç 2 yıl içinde Open Luis License altında kamuya açacaktır. Bu tarih yalnızca öne alınabilir; ertelenemez. Ertelenmesi ancak yazılım sahibinin makul kontrolü dışındaki hukuki, güvenlik veya altyapı zorunlulukları nedeniyle mümkündür.
|
|
249
|
+
|
|
250
|
+
Open Luis License, kaynak kodun incelenmesine, öğrenme amaçlı kullanılmasına, katkı yapılmasına ve ilgili lisansın izin verdiği kapsamda kullanılmasına olanak tanıyabilir.
|
|
251
|
+
|
|
252
|
+
Kaynak kodun açık hale gelmesi, Kapsanan Yazılım’ın platform, SaaS, builder, editor, design tool, code generator, white-label, hosted service, export engine, competing engine veya çoklu kullanıcı kullanım kısıtlarını otomatik olarak kaldırmaz. Bu tür kullanımlar Open Luis License altında da ayrı ticari lisans gerektirebilir.
|
|
253
|
+
|
|
254
|
+
MIT, Apache-2.0 veya benzeri kısıtsız açık kaynak lisanslara geçiş yalnızca yazılım sahibi tarafından açıkça bu lisanslarla yayımlanan yazılım bileşenleri ve sürümler için geçerlidir.
|
|
255
|
+
|
|
256
|
+
Bazı yardımcı bileşenler, araçlar, editör entegrasyonları, dokümantasyon parçaları veya bağımsız modüller farklı lisanslarla yayımlanabilir. Bu bileşenler kendi lisans koşullarına tabidir ve bu lisansın kapsamı dışındadır.
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## 10. Garanti Yoktur
|
|
261
|
+
|
|
262
|
+
Bu yazılım, satılabilirlik, belirli bir amaca uygunluk veya ihlal etmeme garantileri dahil olmak üzere açık ya da zımni herhangi bir garanti verilmeksizin "olduğu gibi" sunulmaktadır.
|
|
263
|
+
|
|
264
|
+
Hiçbir koşulda yazar veya telif hakkı sahipleri; sözleşme, haksız fiil veya başka herhangi bir nedenle yazılımdan ya da yazılımın kullanımından kaynaklanan herhangi bir talep, zarar veya diğer yükümlülüklerden sorumlu tutulamaz.
|
|
265
|
+
|
|
266
|
+
Kullanıcı, bu yazılımı kendi risk değerlendirmesi doğrultusunda kullandığını kabul eder. Yazılım sahibi, yazılımın güvenli, kesintisiz veya hatasız çalışacağını taahhüt etmez.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 11. Fesih
|
|
271
|
+
|
|
272
|
+
Bu lisansın herhangi bir koşulunu ihlal etmeniz halinde haklarınız otomatik olarak sona erer. Fesih durumunda Kapsanan Yazılım’ı kullanmayı ve dağıtmayı derhal durdurmanız gerekir.
|
|
273
|
+
|
|
274
|
+
Fesih, yazılım sahibinin ihlalden doğan diğer haklarını, ticari lisans taleplerini veya yasal başvuru yollarını ortadan kaldırmaz.
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 12. İletişim
|
|
279
|
+
|
|
280
|
+
Ticari lisans talepleri, ortaklık programları veya izin verilen kullanıma ilişkin sorular için yazılım sahibinin resmi iletişim kanalları kullanılmalıdır.
|
package/README.md
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# @lentystyle/core
|
|
2
|
+
|
|
3
|
+
LentyStyle exposes its compiler and browser runtime surface from one package.
|
|
4
|
+
|
|
5
|
+
Use this package when you want the supported compile API plus the public runtime entry for browser usage.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
### Local Setup
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<script src="/runtime/lentystyle.min.js" defer></script>
|
|
13
|
+
<link rel="stylesheet" href="/styles/site.luis" data-luis>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Include the script and the runtime will find and compile all `.luis` and `data-luis` sources on the page.
|
|
17
|
+
|
|
18
|
+
### CDN
|
|
19
|
+
|
|
20
|
+
```html
|
|
21
|
+
<script
|
|
22
|
+
src="https://example.com/runtime/lentystyle.min.js"
|
|
23
|
+
data-luis-run="cdn"
|
|
24
|
+
integrity="sha384-REPLACE_WITH_REAL_HASH"
|
|
25
|
+
crossorigin="anonymous"
|
|
26
|
+
defer
|
|
27
|
+
></script>
|
|
28
|
+
<link rel="stylesheet" href="/styles/site.luis" data-luis>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### npm
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pnpm add @lentystyle/core
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This installs the package. Use `@lentystyle/core/compiler` on the build side, then serve the runtime files through your own asset pipeline when needed.
|
|
38
|
+
|
|
39
|
+
## Core Concepts
|
|
40
|
+
|
|
41
|
+
- **Variables:** define reusable values as normal, array, or object types.
|
|
42
|
+
- **Loops:** `@for` generates repeated rules from iterable values.
|
|
43
|
+
- **Conditions:** `@if`, `elseif`, and `else` branches tie rules to a condition.
|
|
44
|
+
- **Functions:** `@fun` definitions and calls reuse style logic.
|
|
45
|
+
- **Observed:** `?` and `?!` make selectors react to DOM presence.
|
|
46
|
+
|
|
47
|
+
## Features
|
|
48
|
+
|
|
49
|
+
- Compile `.luis` sources in the browser when the page loads.
|
|
50
|
+
- Generate CSS from `.luis` sources inside Node or a build tool.
|
|
51
|
+
- Enable optional debug, performance, and map runtime features when needed.
|
|
52
|
+
|
|
53
|
+
## Example
|
|
54
|
+
|
|
55
|
+
Object variable, array variable, loop, and `${}` interpolation in one block:
|
|
56
|
+
|
|
57
|
+
```luis
|
|
58
|
+
--colors: { primary: #2060ff; muted: #888; };
|
|
59
|
+
--steps: [1-3];
|
|
60
|
+
|
|
61
|
+
@fun: setColor(i){
|
|
62
|
+
@if(${i} < 2){
|
|
63
|
+
var(--colors.primary);
|
|
64
|
+
}else{
|
|
65
|
+
var(--colors.muted);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@for(i, var(--steps)) {
|
|
70
|
+
.p-${i} {
|
|
71
|
+
padding: ${i * 4}px;
|
|
72
|
+
color: @fun.setColor(${i});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Compiled output:
|
|
78
|
+
|
|
79
|
+
```css
|
|
80
|
+
.p-1 { padding: 4px; color: #2060ff; }
|
|
81
|
+
.p-2 { padding: 8px; color: #888; }
|
|
82
|
+
.p-3 { padding: 12px; color: #888; }
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
- `--colors` → object variable; `var(--colors.primary)` is resolved at compile time
|
|
86
|
+
- `--steps` → array variable that expands to `[1,2,3]`
|
|
87
|
+
- `@fun` → reusable function definition
|
|
88
|
+
- `@for(i, var(--steps))` → generates one rule per array item
|
|
89
|
+
- `${i * 4}px` → compile-time arithmetic with the loop variable
|
|
90
|
+
|
|
91
|
+
## Observed (`?` and `?!`)
|
|
92
|
+
|
|
93
|
+
Observed selectors cause a rule to be generated only when the matching DOM element is present on the page. There are two modes:
|
|
94
|
+
|
|
95
|
+
- **`?` (dynamic):** The rule is not generated if the element is absent at first compile; it is generated when the element is added to the DOM later.
|
|
96
|
+
- **`?!` (initial):** The rule is generated only if the element is present at first compile; it is not generated for elements added later.
|
|
97
|
+
|
|
98
|
+
```luis
|
|
99
|
+
/* Dynamic element that may be added to the DOM later */
|
|
100
|
+
.notification? {
|
|
101
|
+
background: #f0f4ff;
|
|
102
|
+
padding: 12px 16px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* Fixed set present at page load; no new elements will be added */
|
|
106
|
+
.col?! {
|
|
107
|
+
flex: 1;
|
|
108
|
+
padding: 8px;
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
For more: [lentystyle.com/en/docs/luis/observed/dynamic/](https://lentystyle.com/en/docs/luis/observed/dynamic/)
|
|
113
|
+
|
|
114
|
+
## Hybrid and SSR
|
|
115
|
+
|
|
116
|
+
If you need styles ready before the page loads, use the higher-level packages instead of `@lentystyle/core` directly:
|
|
117
|
+
|
|
118
|
+
- **`@lentystyle/hybrid`** → bridge layer for route and site integration; built on top of core. Styles are pre-generated and served before the browser receives the page.
|
|
119
|
+
- **`@lentystyle/ssr`** → server-side rendering; built on top of hybrid.
|
|
120
|
+
|
|
121
|
+
For more:
|
|
122
|
+
|
|
123
|
+
- Hybrid: [lentystyle.com/en/docs/hybrid/overview](https://lentystyle.com/en/docs/hybrid/overview)
|
|
124
|
+
- SSR: [lentystyle.com/en/docs/ssr/overview](https://lentystyle.com/en/docs/ssr/overview)
|
|
125
|
+
|
|
126
|
+
## Security and Guard
|
|
127
|
+
|
|
128
|
+
Guard adds checks for risky URLs, source input, and HTML/envelope payloads. It helps reject unsafe input before compilation starts in hybrid and SSR flows.
|
|
129
|
+
|
|
130
|
+
Browser-side runtime security policy helpers — source integrity, cross-origin source rules, CSP nonce — live under `@lentystyle/core/guard/*`.
|
|
131
|
+
|
|
132
|
+
## Debug and Performance
|
|
133
|
+
|
|
134
|
+
Use options such as `data-luis="debug"`, `data-luis="performance"`, or `data-luis="map"` to enable extra diagnostics and measurement output.
|
|
135
|
+
|
|
136
|
+
## Links
|
|
137
|
+
|
|
138
|
+
- Docs: [lentystyle.com/en/docs/lentystyle/overview/](https://lentystyle.com/en/docs/lentystyle/overview/)
|
|
139
|
+
- Playground: [fun.lentystyle.com](https://fun.lentystyle.com)
|
package/README.tr.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# @lentystyle/core
|
|
2
|
+
|
|
3
|
+
LentyStyle, compiler ve runtime yüzeyini tek paket altında sunar.
|
|
4
|
+
|
|
5
|
+
## Kurulum
|
|
6
|
+
|
|
7
|
+
### Yerel Kullanım
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<script src="/runtime/lentystyle.min.js" defer></script>
|
|
11
|
+
<link rel="stylesheet" href="/styles/site.luis" data-luis>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Sadece scripti çağırmanız yeterli. Sayfa içindeki `.luis` ve `data-luis` kaynaklarını bulup derleyerek stilleri oluşturacak.
|
|
15
|
+
|
|
16
|
+
### CDN
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<script
|
|
20
|
+
src="https://example.com/runtime/lentystyle.min.js"
|
|
21
|
+
data-luis-run="cdn"
|
|
22
|
+
integrity="sha384-REPLACE_WITH_REAL_HASH"
|
|
23
|
+
crossorigin="anonymous"
|
|
24
|
+
defer
|
|
25
|
+
></script>
|
|
26
|
+
<link rel="stylesheet" href="/styles/site.luis" data-luis>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### npm
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pnpm add @lentystyle/core
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Bu komut paketi projeye ekler. Build tarafında `@lentystyle/core/compiler` ile derleme yapabilir, tarayıcı tarafında runtime dosyalarını kendi asset akışınızdan servis edebilirsiniz.
|
|
36
|
+
|
|
37
|
+
## Temel Kavramlar
|
|
38
|
+
|
|
39
|
+
- **Değişkenler:** normal, dizi ve nesne türleriyle yeniden kullanılabilir değerler tanımlar.
|
|
40
|
+
- **Döngüler:** `@for`, yinelenebilir değerlerden tekrarlı kural üretir.
|
|
41
|
+
- **Koşullar:** `@if`, `elseif` ve `else` dallarıyla kuralları koşula bağlar.
|
|
42
|
+
- **Fonksiyonlar:** `@fun` tanımları ve çağrı yapısıyla stil mantığını yeniden kullanır.
|
|
43
|
+
- **Observed:** `?` ve `?!` ile seçicileri DOM varlığına duyarlı hale getirir.
|
|
44
|
+
|
|
45
|
+
## Özellikler
|
|
46
|
+
|
|
47
|
+
- `.luis` kaynaklarını sayfa açıldığında tarayıcı tarafında derleyebilir.
|
|
48
|
+
- Node veya build tool içinde `.luis` kaynaklarından CSS üretebilir.
|
|
49
|
+
- Runtime için debug, performance ve map seçeneklerini gerektiğinde açabilir.
|
|
50
|
+
|
|
51
|
+
## Örnek
|
|
52
|
+
|
|
53
|
+
```luis
|
|
54
|
+
--colors: { primary: #2060ff; muted: #888; };
|
|
55
|
+
--steps: [1-3];
|
|
56
|
+
|
|
57
|
+
@fun: setColor(i){
|
|
58
|
+
@if(${i} < 2){
|
|
59
|
+
var(--colors.primary);
|
|
60
|
+
}else{
|
|
61
|
+
var(--colors.muted);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@for(i, var(--steps)) {
|
|
66
|
+
.p-${i} {
|
|
67
|
+
padding: ${i * 4}px;
|
|
68
|
+
color: @fun.setColor(${i});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Derleme çıktısı:
|
|
74
|
+
|
|
75
|
+
```css
|
|
76
|
+
.p-1 { padding: 4px; color: #2060ff; }
|
|
77
|
+
.p-2 { padding: 8px; color: #888; }
|
|
78
|
+
.p-3 { padding: 12px; color: #888; }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
- `--colors` → obje değişkeni; `var(--colors.primary)` derleme zamanında çözümlenir
|
|
82
|
+
- `--steps` → `[1,2,3]` olarak genişleyen array değişkeni
|
|
83
|
+
- `@fun` → kapsamlı fonksiyon tanımlama.
|
|
84
|
+
- `@for(i, var(--steps))` → dizinin her öğesi için kural üretir
|
|
85
|
+
- `${i * 4}px` → döngü değişkeniyle derleme zamanı aritmetiği
|
|
86
|
+
|
|
87
|
+
## Observed (`?` ve `?!`)
|
|
88
|
+
|
|
89
|
+
Observed, bir kuralın yalnızca ilgili DOM öğesi sayfada mevcut olduğunda oluşturulmasını sağlar. İki modu vardır:
|
|
90
|
+
|
|
91
|
+
- **`?` (dynamic):** İlk derlemede DOM'da yoksa kural üretilmez; DOM'a sonradan eklendiğinde üretilir.
|
|
92
|
+
- **`?!` (initial):** Yalnızca ilk derlemede DOM'da varsa üretilir; sonradan eklenen öğeler için yeni kural üretilmez.
|
|
93
|
+
|
|
94
|
+
```luis
|
|
95
|
+
/* Sonradan DOM'a eklenecek dinamik öğe */
|
|
96
|
+
.notification? {
|
|
97
|
+
background: #f0f4ff;
|
|
98
|
+
padding: 12px 16px;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* Sayfa yüklenirken DOM'da varsa üretilecek olan stil */
|
|
102
|
+
.col?! {
|
|
103
|
+
flex: 1;
|
|
104
|
+
padding: 8px;
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Daha fazla bilgi için:
|
|
109
|
+
- Observed: https://lentystyle.com/tr/docs/luis/observed/dynamic/
|
|
110
|
+
|
|
111
|
+
## Hybrid ve SSR
|
|
112
|
+
|
|
113
|
+
Sayfa yüklenmeden önce stillerin hazır olmasını istiyorsanız doğrudan `@lentystyle/core` değil, üst katman paketler üzerinden kullanabilirsiniz:
|
|
114
|
+
|
|
115
|
+
- **`@lentystyle/hybrid`** → route ve site entegrasyonu için köprü katmanı; core üzerine kuruludur. Sayfa içindeki stilleri önceden oluşturulup sunulur.
|
|
116
|
+
- **`@lentystyle/ssr`** → sunucu taraflı render; hybrid üzerine kuruludur.
|
|
117
|
+
|
|
118
|
+
Daha fazla bilgi için:
|
|
119
|
+
- Hybrid: https://lentystyle.com/tr/docs/hybrid/overview
|
|
120
|
+
- SSR: https://lentystyle.com/tr/docs/ssr/overview
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
## Güvenlik ve Guard
|
|
124
|
+
|
|
125
|
+
`Guard`, riskli URL, kaynak ve HTML/envelope girdileri için ek güvenlik kontrolleri sağlar. Hybrid ve SSR akışlarında derleme başlamadan önce girdi doğrulaması yapılmasına yardımcı olur.
|
|
126
|
+
|
|
127
|
+
Tarayıcı runtime tarafında kaynak bütünlüğü, cross-origin kaynak kuralları ve CSP nonce gibi politikalar için `@lentystyle/core/guard/*` yüzeyleri kullanılır.
|
|
128
|
+
|
|
129
|
+
## Debug ve Performans
|
|
130
|
+
|
|
131
|
+
Runtime üzerinde `data-luis="debug"`, `data-luis="performance"` veya `data-luis="map"` gibi seçeneklerle ek tanı ve ölçüm çıktıları açılabilir.
|
|
132
|
+
|
|
133
|
+
## Örnekler, detaylar ve daha fazlası için
|
|
134
|
+
|
|
135
|
+
- Dokümantasyon: https://lentystyle.com/tr/docs/lentystyle/overview/
|
|
136
|
+
- Denemek için: https://fun.lentystyle.com
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
Thank you for taking the time to help improve the security of the LentyStyle ecosystem. This document explains how to report security issues and what information should be included in a security report.
|
|
4
|
+
|
|
5
|
+
LentyStyle applies some security measures through its internal **Guard** layer. Even so, new or overlooked security issues may still occur.
|
|
6
|
+
|
|
7
|
+
## Reporting
|
|
8
|
+
|
|
9
|
+
Please report security issues privately to the project maintainers through this platform or through the contact channel below.
|
|
10
|
+
|
|
11
|
+
**Do not open a public issue with security details.**
|
|
12
|
+
|
|
13
|
+
When reporting a security issue, please include the following information if possible:
|
|
14
|
+
|
|
15
|
+
- The package and version you are using.
|
|
16
|
+
- Your browser or Node.js version.
|
|
17
|
+
- The code, flow, or method used to reproduce the issue, if possible.
|
|
18
|
+
- Any tool or program you used while identifying the issue.
|
|
19
|
+
- If the issue may also affect other applications, and public information is available, please include the relevant link.
|
|
20
|
+
- If you think another application, system, or package affects this project, please explain how.
|
|
21
|
+
- The possible impact of the issue.
|
|
22
|
+
- If you are able to share it, include a link to the project or page where the issue occurs.
|
|
23
|
+
- Briefly explain how the issue appeared, if relevant.
|
|
24
|
+
|
|
25
|
+
## Contact
|
|
26
|
+
|
|
27
|
+
- **Security reports and bug reports:** support@lentystyle.com
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Thank You
|
|
32
|
+
|
|
33
|
+
Every contribution — large or small — helps strengthen the LentyStyle ecosystem.
|
package/SECURITY.tr.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Güvenlik Politikası
|
|
2
|
+
|
|
3
|
+
LentyStyle ekosistemi için zaman ayırdığınız için teşekkürler. Bu belge güvenlik sorunlarının nasıl bildirileceğini ve güvenlik bildirimlerinde hangi bilgilerin paylaşılmasının beklendiğini açıklar.
|
|
4
|
+
|
|
5
|
+
LentyStyle bazı güvenlik önlemlerini kendi içinde **Guard** katmanı ile uygular. Buna rağmen yeni veya gözden kaçan güvenlik sorunları oluşabilir.
|
|
6
|
+
|
|
7
|
+
## Bildirim
|
|
8
|
+
|
|
9
|
+
Güvenlik sorunlarını, proje yöneticilerine özel olarak bu platform üzerinden veya aşağıdaki iletişim kanalı üzerinden bildirin.
|
|
10
|
+
**Lütfen güvenlik ile ilgili karşılaştığınız durumlar için, detayları içeren herkese açık bir issue açmayın.**
|
|
11
|
+
Bildirimi yaparken aşağıdaki şekilde göndermenizi rica ederiz.
|
|
12
|
+
|
|
13
|
+
**Güvenlik sorunu için:**
|
|
14
|
+
- Hangi paketi ve versiyonu kullandığınızı belirtin.
|
|
15
|
+
- Tarayıcı/Node.js versiyonunu ekleyin
|
|
16
|
+
- Sorunu yeniden üretmek için kullanılan kodu, akışı veya yöntemi mümkünse ekleyin.
|
|
17
|
+
- Bu durum ile ilgili kullandığınız program varsa lütfen belirtin.
|
|
18
|
+
- Bazı açıklar farklı uygulamaları da etkilemiş olabilir. Varsa ve açık olarak bir yerde paylaşılmışsa lütfen linkini iletin.
|
|
19
|
+
- Farklı bir uygulamanın/sistemin/paketin bizim uygulamamızı etkilediğini düşünüyorsanız lütfen paylaşın.
|
|
20
|
+
- Açığın nasıl bir etkiye sebep olduğunu belirtin.
|
|
21
|
+
- Paylaşmanızda herhangi bir sakınca yoksa çalışmayı yaptığınız linki paylaşabilirsiniz.
|
|
22
|
+
- Varsa durumun nasıl ortaya çıktığını kısaca açıklayın.
|
|
23
|
+
|
|
24
|
+
## İletişim
|
|
25
|
+
|
|
26
|
+
- **Güvenlik, hata bildirimleri:** support@lentystyle.com
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Teşekkürler
|
|
31
|
+
|
|
32
|
+
Her katkı — büyük ya da küçük — LentyStyle ekosistemini güçlendirir.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var g=(n,e)=>{for(var o in e)i(n,o,{get:e[o],enumerable:!0})},p=(n,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!f.call(n,r)&&r!==o&&i(n,r,{get:()=>e[r],enumerable:!(t=s(e,r))||t.enumerable});return n};var x=n=>p(i({},"__esModule",{value:!0}),n);var w={};g(w,{isWhitespace:()=>l,parseTopLevelAtRuleName:()=>c});module.exports=x(w);function l(n){return n===" "||n===" "||n===`
|
|
2
|
+
`||n==="\r"||n==="\f"}function c(n){let e=1;for(;e<n.length&&l(n[e]);)e+=1;let o=e;for(;e<n.length&&d(n[e]);)e+=1;return n.slice(o,e).toLowerCase()}function d(n){let e=n.charCodeAt(0);return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57?!0:n==="_"||n==="-"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function r(e){return e===" "||e===" "||e===`
|
|
2
|
+
`||e==="\r"||e==="\f"}function t(e){let n=1;for(;n<e.length&&r(e[n]);)n+=1;let o=n;for(;n<e.length&&i(e[n]);)n+=1;return e.slice(o,n).toLowerCase()}function i(e){let n=e.charCodeAt(0);return n>=65&&n<=90||n>=97&&n<=122||n>=48&&n<=57?!0:e==="_"||e==="-"}export{r as isWhitespace,t as parseTopLevelAtRuleName};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var h=(r,n)=>{for(var e in n)t(r,e,{get:n[e],enumerable:!0})},m=(r,n,e,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of f(n))!p.call(r,o)&&o!==e&&t(r,o,{get:()=>n[o],enumerable:!(i=d(n,o))||i.enumerable});return r};var g=r=>m(t({},"__esModule",{value:!0}),r);var y={};h(y,{isCharsetName:()=>k,parseImportRequest:()=>W});module.exports=g(y);function s(r){let n=r.indexOf("?"),e=r.indexOf("#"),i=x(n,e);return(i===-1?r:r.slice(0,i)).trim().toLowerCase()}function x(r,n){return r===-1?n:n===-1?r:Math.min(r,n)}function l(r){var o;let n=r.toLowerCase().indexOf("@import");if(n===-1)return null;let e=n+7;for(;e<r.length&&u(r[e]);)e+=1;let i=(o=r[e])!=null?o:"";return i==="'"||i==='"'?a(r,e):w(r,e)?b(r,e+4):I(r,e)}function a(r,n){let e=r[n],i=n+1;for(;i<r.length;){let o=r[i],c=i>n?r[i-1]:"";if(o===e&&c!=="\\")return r.slice(n+1,i);i+=1}return null}function b(r,n){let e=r.indexOf(")",n);if(e===-1)return null;let i=r.slice(n,e).trim();return i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'")?i.slice(1,-1):i}function I(r,n){let e=n;for(;e<r.length&&!u(r[e])&&r[e]!==";";)e+=1;let i=r.slice(n,e).trim();return i||null}function w(r,n){return r.slice(n,n+4).toLowerCase()==="url("}function u(r){return r===" "||r===" "||r===`
|
|
2
|
+
`||r==="\r"||r==="\f"}function k(r){return r==="char"||r==="charset"}function W(r){let n=l(r);if(!n)return null;let e=s(n);return e.endsWith(".css")?{raw:n,normalized:e,kind:"css"}:e.endsWith(".luis")?{raw:n,normalized:e,kind:"luis"}:{raw:n,normalized:e,kind:"other"}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function t(r){let n=r.indexOf("?"),e=r.indexOf("#"),i=c(n,e);return(i===-1?r:r.slice(0,i)).trim().toLowerCase()}function c(r,n){return r===-1?n:n===-1?r:Math.min(r,n)}function s(r){var o;let n=r.toLowerCase().indexOf("@import");if(n===-1)return null;let e=n+7;for(;e<r.length&&l(r[e]);)e+=1;let i=(o=r[e])!=null?o:"";return i==="'"||i==='"'?d(r,e):h(r,e)?f(r,e+4):p(r,e)}function d(r,n){let e=r[n],i=n+1;for(;i<r.length;){let o=r[i],u=i>n?r[i-1]:"";if(o===e&&u!=="\\")return r.slice(n+1,i);i+=1}return null}function f(r,n){let e=r.indexOf(")",n);if(e===-1)return null;let i=r.slice(n,e).trim();return i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'")?i.slice(1,-1):i}function p(r,n){let e=n;for(;e<r.length&&!l(r[e])&&r[e]!==";";)e+=1;let i=r.slice(n,e).trim();return i||null}function h(r,n){return r.slice(n,n+4).toLowerCase()==="url("}function l(r){return r===" "||r===" "||r===`
|
|
2
|
+
`||r==="\r"||r==="\f"}function b(r){return r==="char"||r==="charset"}function I(r){let n=s(r);if(!n)return null;let e=t(n);return e.endsWith(".css")?{raw:n,normalized:e,kind:"css"}:e.endsWith(".luis")?{raw:n,normalized:e,kind:"luis"}:{raw:n,normalized:e,kind:"other"}}export{b as isCharsetName,I as parseImportRequest};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";var o=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var d=(l,e)=>{for(var r in e)o(l,r,{get:e[r],enumerable:!0})},m=(l,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of h(e))!a.call(l,i)&&i!==r&&o(l,i,{get:()=>e[i],enumerable:!(n=A(e,i))||n.enumerable});return l};var R=l=>m(o({},"__esModule",{value:!0}),l);var C={};d(C,{parseTopLevelAtRuleDeclarationAt:()=>b});module.exports=R(C);function b(l,e,r){let n=e+1,i=null,s=0,u=0,f=r;for(;n<l.length;){let t=l[n],g=n>e?l[n-1]:"";if(t===`
|
|
2
|
+
`&&(f+=1),i){t===i&&g!=="\\"&&(i=null),n+=1;continue}if(t==="'"||t==='"'){i=t,n+=1;continue}if(t==="("?s+=1:t===")"&&s>0?s-=1:t==="["?u+=1:t==="]"&&u>0&&(u-=1),t==="{"&&s===0&&u===0)return null;if(t===";"&&s===0&&u===0){let p=l.slice(e,n+1),c=v(p);return c?{name:c,statement:p,start:e,end:n+1,lineStart:r,lineEnd:f}:null}n+=1}return null}function v(l){let e=1;for(;e<l.length&&w(l[e]);)e+=1;let r=e;for(;e<l.length&&L(l[e]);)e+=1;return l.slice(r,e).toLowerCase()}function w(l){return l===" "||l===" "||l===`
|
|
3
|
+
`||l==="\r"||l==="\f"}function L(l){let e=l.charCodeAt(0);return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57?!0:l==="_"||l==="-"}
|