Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

happy-dom

capricorn863.9mMIT16.7.2TypeScript support: included

Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.

jsdom, dom, browser, custom, elements, web, components, html, whatwg, w3c

readme

Happy DOM Logo

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

ESM | CommonJS

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