/happy-dom

A jsdom alternative with support for server side rendering of web components.

Primary LanguageTypeScriptMIT LicenseMIT

Happy DOM Logo

About

A JSDOM alternative with support for server side rendering of web components.

Happy DOM aims to support all common functionality of a web browser.

Read more about how to use Happy DOM

DOM Features

  • Custom Elements (Web Components)

  • Shadow Root (Shadow DOM)

  • Mutation Observer

  • Tree Walker

  • Fetch

And much more..

Works With

Packages

This repository is a Monorepo. Each package lives under packages/<package>.

Published on npm happy-dom

This package contains the core functionality of Happy DOM.


Published on npm jest-environment

This package makes it possible to use Happy DOM with Jest.


Published on npm server-rendering

This package makes it easier to setup servering side rendering of web components by handling the setup of the Node VM Context for you.

Whats New in 1.0.0?

  • Lerna is used for managing all packages within a single repository

  • Support for React, Angular, Vue

  • Full support for querySelector() and querySelectorAll()

  • Server side rendering has been split out to its own package

  • All functionality is now covered by unit tests

  • Automated release process by publishing to NPM automatically when a pull request is merged

  • Release notes are generated automatically by using Github Releases

  • A lot of minor bug fixes

Contributing

Read more about how to develop and contribute