Diese Anleitung beschreibt, wie du PublicKernBlazor.Components lokal zum Laufen bringst – von der ersten Einrichtung bis zum ersten grünen Test.
| Werkzeug | Mindestversion | Installationshinweis |
|---|---|---|
| .NET SDK | 10.0 | Pflicht |
| Git | – | Pflicht |
| Node.js | 18 LTS | Nur für Smoke-Tests (Playwright) |
| PowerShell | 5.1 oder 7.x | Für Hilfsskripte unter scripts/ |
Eine IDE ist optional. Empfohlen werden:
- JetBrains Rider
- Visual Studio 2022 (17.12+)
- VS Code mit der C#-Extension
git clone https://github.com/OWNER/PublicKernBlazor.Components.git
cd PublicKernBlazor.Componentsdotnet build PublicKernBlazor.slnxSCSS wird beim Build automatisch über AspNetCore.SassCompiler nach
src/PublicKernBlazor.Components/wwwroot/css/ kompiliert – kein manueller Schritt nötig.
dotnet test tests/PublicKernBlazor.Components.Tests/PublicKernBlazor.Components.Tests.csprojDas Testprojekt verwendet bUnit und xUnit. Alle Tests laufen ohne Browser oder laufenden Server.
| Kategorie | Inhalt |
|---|---|
Components/ |
Rendering-Tests und Interaktions-Tests für alle 48+ Komponenten |
Services/ |
Unit-Tests für ThemeService und IdGeneratorService |
Utilities/ |
Tests für CssBuilder und EnumCssExtensions |
Accessibility/ |
ARIA-Attribut- und Semantik-Audits (WCAG 2.1 AA) |
dotnet run --project src/PublicKernBlazor.Demo/PublicKernBlazor.Demo.csprojDie App ist erreichbar unter:
| Protokoll | URL |
|---|---|
| HTTP | http://localhost:5076 |
| HTTPS | https://localhost:7023 |
Beim ersten Start mit HTTPS muss das Entwicklerzertifikat einmalig vertraut werden:
dotnet dev-certs https --trustDie Smoke-Tests verwenden Playwright und benötigen eine laufende Demo-App (oder das Skript startet sie automatisch).
dotnet build tests/PublicKernBlazor.Demo.SmokeTests/PublicKernBlazor.Demo.SmokeTests.csproj
pwsh tests/PublicKernBlazor.Demo.SmokeTests/bin/Debug/net10.0/playwright.ps1 install chromiumDas Skript baut die Solution, startet die Demo-App, führt alle Tests aus und stoppt die App wieder:
.\scripts\Run-SmokeTests.ps1Optionale Parameter:
# Browser sichtbar (für lokales Debugging)
.\scripts\Run-SmokeTests.ps1 -Headless $false
# Release-Konfiguration
.\scripts\Run-SmokeTests.ps1 -Configuration Releasedotnet pack src/PublicKernBlazor.Components/PublicKernBlazor.Components.csproj --configuration Release --output ./nupkgDas fertige Paket liegt danach unter nupkg/PublicKernBlazor.Components.0.1.0.nupkg.
Um das Paket in einem anderen Projekt zu testen, ohne es auf nuget.org zu veröffentlichen:
# Lokale NuGet-Quelle registrieren (einmalig)
dotnet nuget add source ./nupkg --name KernUxLocal
# Im Zielprojekt installieren
dotnet add package PublicKernBlazor.Components --source KernUxLocalNeue, projekt-eigene Stile gehören nicht in src/PublicKernBlazor.Components/Styles/core/
(dieser Ordner enthält den KERN-UX-Upstream und wird bei Updates überschrieben).
Stattdessen:
- Neue
.scss-Datei untersrc/PublicKernBlazor.Components/Styles/extensions/components/anlegen - In
src/PublicKernBlazor.Components/Styles/extensions/index.scssper@useeinbinden - Ausschließlich KERN-Token (
var(--kern-color-*),var(--kern-metric-space-*)) verwenden
- HTML-Struktur und CSS-Klassen in
src/PublicKernBlazor.Components/Styles/COMPONENTS.MDnachschlagen .razor-Datei im passenden Unterordner vonsrc/PublicKernBlazor.Components/Components/anlegen- Alle
[Parameter]-Properties mit XML-Dokumentation versehen IdGeneratorServicefür DOM-IDs verwenden (niemals statische Fallback-IDs)@attributes="AdditionalAttributes"am Host-Element weitergeben- Unit-Tests in
tests/PublicKernBlazor.Components.Tests/Components/hinzufügen - Komponente in
src/PublicKernBlazor.Demo/auf der passenden Showcase-Seite einbinden
Die vollständigen Coding-Richtlinien sind in
.github/copilot-instructions.md dokumentiert.