- Delete old Vite+Svelte frontend - Initialize new SvelteKit project with TypeScript - Configure Tailwind CSS v4 + DaisyUI - Implement JWT authentication with auto-refresh - Create login page with form validation (Zod) - Add protected route guards - Update Docker configuration for single-stage build - Add E2E tests with Playwright (6/11 passing) - Fix Svelte 5 reactivity with $state() runes Known issues: - 5 E2E tests failing (timing/async issues) - Token refresh implementation needs debugging - Validation error display timing
A JavaScript implementation of a web browser without its graphical user interface.
DOM Features
-
Custom Elements (Web Components)
-
Declarative Shadow DOM
-
Mutation Observer
-
Tree Walker
-
Fetch API
And much more..
Documentation
Documentation | Getting Started | Setup as Test Environment | GitHub
Works With
Vitest | Bun | Jest | Testing Library | Google LitElement | Vue | React | Svelte | Angular
Module Systems
Performance
| Operation | JSDOM | Happy DOM |
|---|---|---|
| Import / Require | 333 ms | 45 ms |
| Parse HTML | 256 ms | 26 ms |
| Serialize HTML | 65 ms | 8 ms |
| Render custom element | 214 ms | 19 ms |
| querySelectorAll('tagname') | 4.9 ms | 0.7 ms |
| querySelectorAll(':nth-child(2n+1)') | 10.4 ms | 3.8 ms |
See how the test was done here
