@app4you/cookie-banner 0.0.0-stage → 2.0.2
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 +92 -2
- package/dist/NOTICE +20 -0
- package/dist/cookie-banner.js +1 -0
- package/dist/core/csp.d.ts +25 -0
- package/dist/core/service-consent.d.ts +4 -0
- package/dist/i18n/locale.d.ts +7 -0
- package/dist/licenses/open-cookie-database-Apache-2.0.txt +201 -0
- package/dist/licenses/third-party-web-MIT.txt +20 -0
- package/dist/native/app-CzgF6XmJ.js +1593 -0
- package/dist/native/native-B9FXlXDp.js +1503 -0
- package/dist/native.d.ts +27 -0
- package/dist/native.js +15 -0
- package/dist/types.d.ts +145 -0
- package/docs/consent-compliance.md +142 -0
- package/docs/consent-integration.md +262 -0
- package/docs/deployment-security.md +28 -0
- package/docs/multilingual.md +100 -0
- package/package.json +66 -4
package/README.md
CHANGED
|
@@ -1,3 +1,93 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Cookie Banner
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Lekki baner zgód cookies dla aplikacji webowych, ze wsparciem Google Consent
|
|
4
|
+
Mode v2.
|
|
5
|
+
|
|
6
|
+
Publiczne API jest niezależne od frameworka. Wbudowany interfejs używa Preact,
|
|
7
|
+
ale aplikacja nie musi korzystać z React ani Preact. W Vue inicjalizuj baner
|
|
8
|
+
w `onMounted()`, a w React/Next.js po stronie klienta, po hydratacji.
|
|
9
|
+
|
|
10
|
+
Obsługiwane języki bannera: angielski, polski, francuski, niemiecki,
|
|
11
|
+
hiszpański, włoski, niderlandzki, duński, norweski i szwedzki. Plugin
|
|
12
|
+
WordPress może wykrywać język automatycznie na podstawie locale strony.
|
|
13
|
+
|
|
14
|
+
## Pakiet npm
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @app4you/cookie-banner
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Pakiet publikuje gotowy bundle z katalogu `dist/`. Katalog `plugin/` jest
|
|
21
|
+
częścią repozytorium GitHub, ale jest celowo wykluczony z paczki npm.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
bun run build
|
|
25
|
+
bun run test
|
|
26
|
+
bun run typecheck
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Build bannera oraz build panelu WordPressa zaczynają się od sprawdzenia typów.
|
|
30
|
+
Wszystkie słowniki muszą odpowiadać schematowi `src/i18n/en.ts`; brak klucza,
|
|
31
|
+
nieprawidłowy typ tłumaczenia lub błędny klucz edytora przerywa build.
|
|
32
|
+
|
|
33
|
+
## Struktura projektu
|
|
34
|
+
|
|
35
|
+
- `src/core/` — logika zgód, zapis, usługi, CSP i blokowanie zasobów.
|
|
36
|
+
- `src/ui/` — atomowe elementy: przyciski, przełącznik i ikonki.
|
|
37
|
+
- `src/components/` — złożone komponenty: baner, pasek, modal i sekcje.
|
|
38
|
+
- `src/hooks/` — hooki Preact.
|
|
39
|
+
- `src/style.css` — style bannera; obsługa hosta, motywu i przewijania jest w `src/core/`.
|
|
40
|
+
- `src/i18n/` — słowniki tłumaczeń i wybór języka.
|
|
41
|
+
- `src/api/` — publiczne API npm.
|
|
42
|
+
- `src/app.tsx` — uruchamianie i zamykanie bannera; `src/types.ts` — wspólne typy i stałe.
|
|
43
|
+
- `src/demo.tsx` — demo uruchamiane przez `bun run dev`.
|
|
44
|
+
- `tests/` — testy bannera w układzie odpowiadającym źródłom; `tests/fixtures/` — dane testowe.
|
|
45
|
+
- `plugin/src/` — panel WordPressa; `plugin/tests/` — testy pluginu.
|
|
46
|
+
- `scripts/` — generowanie metadanych paczki, aktualizacja baz usług i uruchamianie WordPress Playground.
|
|
47
|
+
|
|
48
|
+
`bun run test` uruchamia testy Vitest z `tests/` i `plugin/tests/`.
|
|
49
|
+
|
|
50
|
+
Testy przeglądarkowe bannera są w `tests/browser/`, a test paczki npm w
|
|
51
|
+
`tests/package/`. Komendy `test:browser`, `test:package`, `test:privacy`
|
|
52
|
+
i `test:accessibility` wskazują te katalogi. Test paczki i testy korzystające
|
|
53
|
+
z `dist/` wymagają wcześniejszego `bun run build:banner`; `test:browser`
|
|
54
|
+
korzysta z serwera demo uruchomionego przez `bun run dev`.
|
|
55
|
+
|
|
56
|
+
Testy WordPressa są w `plugin/tests/browser/` i `plugin/tests/php/`.
|
|
57
|
+
Uruchamia się je ręcznie, np. `node plugin/tests/browser/wordpress-consent.mjs`
|
|
58
|
+
lub `php plugin/tests/php/wordpress-locales.php`. Testy integracyjne wymagają
|
|
59
|
+
lokalnego WordPressa, a testy panelu również sesji administratora
|
|
60
|
+
(`WORDPRESS_ADMIN_SESSION`). Nie należą do domyślnego zestawu Vitest.
|
|
61
|
+
Test narzędzi wdrożeniowych można uruchomić bez serwera:
|
|
62
|
+
`node plugin/tests/deployment.cjs`.
|
|
63
|
+
|
|
64
|
+
## Plugin WordPress
|
|
65
|
+
|
|
66
|
+
Źródła pluginu znajdują się w [`plugin/`](./plugin). Plugin korzysta z tego
|
|
67
|
+
samego buildu cookie bannera i może być pakowany niezależnie:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
bun run build:all
|
|
71
|
+
bun run --cwd plugin zip
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Natywne zgody i blokowanie treści
|
|
75
|
+
|
|
76
|
+
Punkt wejścia `@app4you/cookie-banner/native` udostępnia bezpieczne w SSR
|
|
77
|
+
`blockedContentProps` i `blockedScriptProps`, inicjalizację bannera oraz API
|
|
78
|
+
zgody na konkretną usługę. W WordPressie działa oddzielna warstwa blokowania
|
|
79
|
+
HTML i dynamicznych loaderów, korzystająca z istniejącego skanera.
|
|
80
|
+
|
|
81
|
+
[Integracja npm / Next.js i WordPress](docs/consent-integration.md).
|
|
82
|
+
|
|
83
|
+
Tryb rygorystyczny używa CSP w odpowiedzi HTTP i przeładowania po zmianie zgody.
|
|
84
|
+
Npm udostępnia `consentCspHeaders`; WordPress włącza ten tryb domyślnie.
|
|
85
|
+
HTML zależny od zgód omija współdzielony cache, a optymalizacje JS/CSS pozostają aktywne.
|
|
86
|
+
[Konfiguracja wdrożeń](docs/deployment-security.md).
|
|
87
|
+
|
|
88
|
+
## Konfiguracja zgód
|
|
89
|
+
|
|
90
|
+
Opcjonalne usługi pozostają zablokowane przy niepełnych informacjach o administratorze, celu i dostawcy. Zmiana wersji informacji wymaga ponownego wyboru.
|
|
91
|
+
|
|
92
|
+
[Wymagane informacje i konfiguracja zgód](docs/consent-compliance.md).
|
|
93
|
+
[Konfiguracja języków, WPML i Polylang](docs/multilingual.md).
|
package/dist/NOTICE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Cookie Banner App4You
|
|
2
|
+
Copyright 2024-2026 App4You.dev
|
|
3
|
+
|
|
4
|
+
This plugin includes the following third-party data:
|
|
5
|
+
|
|
6
|
+
Open Cookie Database
|
|
7
|
+
Source: https://github.com/jkwakman/Open-Cookie-Database
|
|
8
|
+
License: Apache License 2.0
|
|
9
|
+
File: includes/cookie-database.json
|
|
10
|
+
No modifications to the original data.
|
|
11
|
+
|
|
12
|
+
Third Party Web
|
|
13
|
+
Copyright (c) 2019 Patrick Hulce
|
|
14
|
+
Source: https://github.com/patrickhulce/third-party-web
|
|
15
|
+
License: MIT (licenses/third-party-web-MIT.txt)
|
|
16
|
+
File: includes/service-database.json
|
|
17
|
+
Modified: provider metadata normalized; performance data and empty entries omitted.
|
|
18
|
+
|
|
19
|
+
Pinned upstream revisions for both databases: includes/database-sources.json.
|
|
20
|
+
Open Cookie Database license: licenses/open-cookie-database-Apache-2.0.txt.
|