@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 +32 -2
- package/package.json +1 -1
- package/template/README.md +17 -0
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
|
-
|
|
17
|
-
|
|
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
package/template/README.md
CHANGED
|
@@ -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.
|