jskelet 0.2.3 → 0.2.4
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 +7 -0
- package/docs/06-cache.md +8 -1
- package/docs/en/06-caching.md +8 -1
- package/package.json +1 -1
- package/src/client/cache-panel/i18n.js +670 -0
- package/src/client/cache-panel/login.html +17 -14
- package/src/client/cache-panel/panel.css +16 -0
- package/src/client/cache-panel/panel.html +80 -79
- package/src/client/cache-panel/panel.js +201 -94
- package/src/server/cache-panel.js +104 -83
package/CHANGELOG.md
CHANGED
|
@@ -33,6 +33,13 @@ one is listed under a **Breaking** heading.
|
|
|
33
33
|
hours, and every banned or unauthorised response is a `404` rather than a 401
|
|
34
34
|
that would confirm the panel exists. The panel is excluded from indexing,
|
|
35
35
|
prewarming and navigation speculation.
|
|
36
|
+
- A language picker in the cache panel header, Turkish and English. The first
|
|
37
|
+
visit follows the browser's language, the choice is kept in `localStorage` and
|
|
38
|
+
carries over to the login page, and switching costs no request. To keep this
|
|
39
|
+
from leaking UI concerns into the server, an `/action` response now returns
|
|
40
|
+
`{ ok, code, params }` instead of an English sentence and the panel builds the
|
|
41
|
+
text — the framework's log and API stay in one language while the panel
|
|
42
|
+
speaks two.
|
|
36
43
|
- Cloudflare cache management, from the panel and from code. Set
|
|
37
44
|
`JSKELET_CLOUDFLARE_KEY` and `JSKELET_CLOUDFLARE_ZONE_ID` (or
|
|
38
45
|
`cache().cloudflare`) and the panel gains the CDN tier next to the origin one:
|
package/docs/06-cache.md
CHANGED
|
@@ -815,7 +815,7 @@ Panel açıldığında sunucu logu şifreyi basar:
|
|
|
815
815
|
|
|
816
816
|
| Bölüm | Gösterdiği |
|
|
817
817
|
| --- | --- |
|
|
818
|
-
| Üst satır | Sürüm, ortam, pid, uptime, RSS |
|
|
818
|
+
| Üst satır | Sürüm, ortam, pid, uptime, RSS ve dil seçimi (Türkçe / İngilizce) |
|
|
819
819
|
| Kartlar | HTML girdi sayısı ve sınırı, bellekteki HTML boyutu, bayat girdi sayısı, veri girdisi sayısı, Redis durumu (`connected` / `bypassed` / `off`), ısıtma turunun ilerlemesi |
|
|
820
820
|
| Paylaşımlı kademe | Bağlantının **nereye** kurulduğu (adres, TLS, veritabanı), anahtar öneki ve `namespace`, `buildId`, hangi türlerin paylaşıldığı, sıkıştırılmış gövde ve purge yayını durumu, komut zaman aşımı ve hata sayısı. Kapalıysa yerine Redis önerisi ve kurulum parçacığı çıkar. |
|
|
821
821
|
| Cloudflare | Zone, plan, cache ile ilgili zone ayarları, development mode'un kalan süresi, Tiered Cache / Cache Reserve durumu ve cache isabet oranı. Bağlı değilse kurulum parçacığı çıkar. |
|
|
@@ -845,6 +845,13 @@ değil.
|
|
|
845
845
|
Hepsi paylaşımlı kademeye de yayılır: tek kopyanın önbelleğini boşaltmak,
|
|
846
846
|
kümede çalışan bir kurulumda "temizledim ama hâlâ eski" sorusunu üretir.
|
|
847
847
|
|
|
848
|
+
Panel iki dilde: header'daki seçici Türkçe ile İngilizce arasında geçiş yapar.
|
|
849
|
+
İlk açılışta tarayıcının diline bakılır, seçim `localStorage`'da tutulur ve
|
|
850
|
+
giriş sayfasına da uygulanır. Dil değişimi hiçbir isteğe yol açmaz. Sunucu
|
|
851
|
+
tarafı arayüz dilini hiç bilmez: `/action` cevabı metin değil bir kod döner
|
|
852
|
+
(`{ ok, code, params }`) ve cümleyi panel kurar — framework'ün log'u ve API'si
|
|
853
|
+
tek dilde kalır.
|
|
854
|
+
|
|
848
855
|
Listedeki tek satırı silmek `invalidateHtmlCache()`ten farklıdır: o yol
|
|
849
856
|
desenine bakar ve bir yolun **bütün** query varyantlarını düşürür,
|
|
850
857
|
`dropHtmlCacheKey()` ise tam anahtarı alır — `/liste?sayfa=2` düşerken
|
package/docs/en/06-caching.md
CHANGED
|
@@ -837,7 +837,7 @@ When the panel is on, the server log prints the password:
|
|
|
837
837
|
|
|
838
838
|
| Area | Contents |
|
|
839
839
|
| --- | --- |
|
|
840
|
-
| Top bar | Version, environment, pid, uptime, RSS |
|
|
840
|
+
| Top bar | Version, environment, pid, uptime, RSS and the language picker (Turkish / English) |
|
|
841
841
|
| Cards | HTML entry count and limit, HTML bytes in memory, stale entry count, data entry count, Redis state (`connected` / `bypassed` / `off`), prewarm progress |
|
|
842
842
|
| Shared tier | **Where** the connection points (address, TLS, database), the key prefix and `namespace`, the `buildId`, which kinds are shared, the state of compressed bodies and the purge broadcast, the command timeout and the error count. When it is off, a Redis recommendation with an install snippet takes its place. |
|
|
843
843
|
| Cloudflare | Zone, plan, cache related zone settings, how long development mode has left, Tiered Cache / Cache Reserve state and the cache hit ratio. When no zone is connected, a setup snippet takes its place. |
|
|
@@ -868,6 +868,13 @@ Each one propagates to the shared tier as well: clearing a single replica's
|
|
|
868
868
|
cache is what produces the "I cleared it and it is still old" question in a
|
|
869
869
|
clustered setup.
|
|
870
870
|
|
|
871
|
+
The panel speaks two languages: the picker in the header switches between
|
|
872
|
+
Turkish and English. The first visit follows the browser, the choice is kept in
|
|
873
|
+
`localStorage` and applies to the login page too. Switching costs no request.
|
|
874
|
+
The server never knows the interface language: an `/action` response returns a
|
|
875
|
+
code rather than a sentence (`{ ok, code, params }`) and the panel builds the
|
|
876
|
+
text — so the framework's log and API stay in one language.
|
|
877
|
+
|
|
871
878
|
Dropping a single row is not the same as `invalidateHtmlCache()`: that one
|
|
872
879
|
matches a path pattern and takes down **every** query variant of a path, while
|
|
873
880
|
`dropHtmlCacheKey()` takes the exact key — `/list?page=2` goes and
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jskelet",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "A framework that feels like no framework: Express 5 + EJS server rendering, vanilla JS islands, Tailwind v4 and an in-process HTML TTL cache.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|