@hexah/create-skin 0.1.3 → 0.1.5

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/README.md CHANGED
@@ -4,6 +4,10 @@ Scaffolder skórki Hexah — generuje projekt **zdalnej skórki Module Federatio
4
4
  `@hexah/skin-sdk`) z gotowym workflowem dev (HMR) i podłączeniem do hosta na środowisku
5
5
  testowym.
6
6
 
7
+ Kontrakt skórki (hooki danych, UI, sloty) dostarcza paczka
8
+ **[`@hexah/skin-sdk`](https://www.npmjs.com/package/@hexah/skin-sdk)** — wygenerowany projekt
9
+ ma ją już w zależnościach (`npm install @hexah/skin-sdk`, by dodać do istniejącego).
10
+
7
11
  ## Użycie
8
12
 
9
13
  ```bash
@@ -13,8 +17,34 @@ npm install
13
17
  npm run dev # rspack serve z HMR
14
18
  ```
15
19
 
16
- Następnie podłącz remote do hosta na teście (instrukcja w wygenerowanym `README.md` skórki):
17
- `localStorage["hexah.skinRemote"]` + motyw „SDK Remote (zdalna skórka)".
20
+ ## Podłączenie do test.kf2.pl
21
+
22
+ Skórkę ładuje aplikacja działająca pod publicznym adresem (HTTPS), a przeglądarka nie pozwala
23
+ takiej stronie pobrać zasobu z `localhost`. Wystaw więc dev server pod **publicznym URL przez
24
+ tunel**:
25
+
26
+ ```bash
27
+ npx cloudflared tunnel --url http://localhost:3001 # → https://<rand>.trycloudflare.com
28
+ ```
29
+
30
+ `<rand>.trycloudflare.com` to adres, który cloudflared wypisze w terminalu — skopiuj go
31
+ (zmienia się po każdym restarcie tunelu). Następnie otwórz `https://test.kf2.pl`, zaloguj się i
32
+ **w konsoli przeglądarki (F12 → Console)** wklej:
33
+
34
+ ```js
35
+ localStorage.setItem('hexah.skinRemoteAllowedOrigins', JSON.stringify(['https://<rand>.trycloudflare.com']))
36
+ localStorage.setItem('hexah.skinRemote', JSON.stringify({
37
+ name: 'moja_skorka', // = nazwa kontenera (uniqueName w rspack.config.js)
38
+ entry: 'https://<rand>.trycloudflare.com/remoteEntry.js',
39
+ template: 'sdkremote',
40
+ screens: { report: './ReportScreen' },
41
+ apiVersion: '0.2.0',
42
+ }))
43
+ ```
44
+
45
+ Odśwież stronę, w **Ustawieniach Gry** wybierz motyw **„SDK Remote (zdalna skórka)"** i wejdź na
46
+ ekran zgłoszeń — zobaczysz swój `ReportScreen` na realnych danych. Po każdej zmianie w `src/`
47
+ odśwież stronę (remote przebuduje się przez HMR).
18
48
 
19
49
  ## Co generuje
20
50
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hexah/create-skin",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Scaffolder skórki Hexah (zdalny kontener Module Federation, harness dev z HMR).",
5
5
  "bin": {
6
6
  "create-hexah-skin": "index.js"
@@ -55,3 +55,20 @@ odświeżeniu (i ponownym pobraniu remote'a).
55
55
  — nie pakujesz ich, dostajesz instancje z aplikacji-hosta.
56
56
  - `apiVersion` musi być zgodna z hostem (ten sam major, minor ≤ host) — inaczej host odmówi
57
57
  załadowania.
58
+
59
+ ## SDK (`@hexah/skin-sdk`)
60
+
61
+ Cały kontrakt skórki (stałe, typy, hooki danych, prymitywy UI, sloty) pochodzi z paczki
62
+ `@hexah/skin-sdk` — jest już w `dependencies` tego projektu. W istniejącym projekcie dodasz ją:
63
+
64
+ ```bash
65
+ npm install @hexah/skin-sdk
66
+ ```
67
+
68
+ - Paczka na npm (pełna lista hooków i kontrakt): <https://www.npmjs.com/package/@hexah/skin-sdk>
69
+ - Hooki danych per strona gry (`useArticles`, `useTales`, `useTown`, `useGuild`, `useVillages`,
70
+ `useReports`, `useSettings`, `useShop`, `useAccountProfile`, `useGptThreads`), stan
71
+ (`useShard`/`useCharacter`/…), usługi (`useSnackbar`/`useDialog`), sloty (`useSlots`) i
72
+ prymitywy UI — opis w README paczki.
73
+
74
+ Importuj **wyłącznie** z `@hexah/skin-sdk`. Zadeklarowane `apiVersion` musi być zgodne z hostem.