@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 CHANGED
@@ -1,3 +1,93 @@
1
- # Temporary Holding Version
1
+ # Cookie Banner
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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.