A JavaScript implementation of a web browser without its graphical user interface.
<a href="https://www.npmjs.com/package/happy-dom">
<img alt="Published on NPM" src="https://img.shields.io/npm/v/happy-dom.svg">
</a>
<a href="https://github.com/capricorn86/happy-dom/wiki/">Documentation</a> | <a href="https://github.com/capricorn86/happy-dom/wiki/Getting-started">Getting started</a> | <a href="https://github.com/capricorn86/happy-dom/wiki/Setup-as-Test-Environment">Setup as Test Environment</a>
Custom Elements (Web Components)
Declarative Shadow DOM
Mutation Observer
Tree Walker
Fetch API
And much more..
Sponsors
<a href="https://sentry.io/"><img alt="Sentry" width="50px" src="https://avatars.githubusercontent.com/u/1396951?s=200&v=4"></a>
<a href="https://canonical.com/"><img alt="Canonical" width="50px" src="https://avatars.githubusercontent.com/u/53057619?s=200&v=4"></a>
Backers
<a href="https://sourcegraph.com/"><img alt="Sourcegraph" src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/3979584?v=4&h=40&w=40&fit=cover&mask=circle&maxage=7d"></a>
<a href="https://github.com/andykenward"><img alt="andykenward" src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/4893048?v=4&h=40&w=40&fit=cover&mask=circle&maxage=7d"></a>
<a href="https://github.com/raystubbs"><img alt="raystubbs" src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/7083791?v=4&h=40&w=40&fit=cover&mask=circle&maxage=7d"></a>
See Contributing Guide.
MIT License © 2019-Present David Ortner
$ claude mcp add happy-dom \
-- python -m otcore.mcp_server <graph>