Skip to content

Commit

Permalink
#873@trivial: Updates documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
capricorn86 committed Jul 5, 2023
1 parent e2b294b commit 29a1f43
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 99 deletions.
4 changes: 4 additions & 0 deletions README.md
Expand Up @@ -38,6 +38,10 @@ And much more..

- [Vue](https://vuejs.org/)

### Module Systems

[Happy DOM](https://github.com/capricorn86/happy-dom) has support for both [ESM](https://nodejs.org/api/esm.html#introduction) and [CommonJS](https://nodejs.org/api/modules.html#modules-commonjs-modules).

# Packages

This repository is a _Monorepo_. Each package lives under `packages/<package>`.
Expand Down
4 changes: 4 additions & 0 deletions packages/global-registrator/README.md
Expand Up @@ -38,6 +38,10 @@ And much more..

- [Vue](https://vuejs.org/)

### Module Systems

[Happy DOM](https://github.com/capricorn86/happy-dom) has support for both [ESM](https://nodejs.org/api/esm.html#introduction) and [CommonJS](https://nodejs.org/api/modules.html#modules-commonjs-modules).

# Installation

```bash
Expand Down
4 changes: 4 additions & 0 deletions packages/happy-dom/README.md
Expand Up @@ -36,6 +36,10 @@ And much more..

- [Vue](https://vuejs.org/)

### Module Systems

[Happy DOM](https://github.com/capricorn86/happy-dom) has support for both [ESM](https://nodejs.org/api/esm.html#introduction) and [CommonJS](https://nodejs.org/api/modules.html#modules-commonjs-modules).

# Installation

```bash
Expand Down
100 changes: 1 addition & 99 deletions packages/integration-test/README.md
@@ -1,99 +1 @@
![Happy DOM Logo](https://github.com/capricorn86/happy-dom/raw/master/docs/happy-dom-logo.jpg)

# About

[Happy DOM](https://github.com/capricorn86/happy-dom) is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG [DOM](https://dom.spec.whatwg.org/) and [HTML](https://html.spec.whatwg.org/multipage/).

The goal of [Happy DOM](https://github.com/capricorn86/happy-dom) is to emulate enough of a web browser to be useful for testing, scraping web sites and server-side rendering.

[Happy DOM](https://github.com/capricorn86/happy-dom) focuses heavily on performance and can be used as an alternative to [JSDOM](https://github.com/jsdom/jsdom).

This package contains a utility that registers [Happy DOM](https://github.com/capricorn86/happy-dom) globally, which makes it possible to use [Happy DOM](https://github.com/capricorn86/happy-dom) for testing in a Node environment.

### DOM Features

- Custom Elements (Web Components)

- Shadow Root (Shadow DOM)

- Declarative Shadow DOM

- Mutation Observer

- Tree Walker

- Fetch

And much more..

### Works With

- [Google LitHTML](https://lit-html.polymer-project.org)

- [Google LitElement](https://lit-element.polymer-project.org)

- [React](https://reactjs.org)

- [Angular](https://angular.io/)

- [Vue](https://vuejs.org/)

# Installation

```bash
npm install @happy-dom/global-registrator --save-dev
```

# Usage

## Register

```javascript
import { GlobalRegistrator } from '@happy-dom/global-registrator';

GlobalRegistrator.register();

document.body.innerHTML = `<button>My button</button>`;

const button = document.querySelector('button');

// Outputs: "My button"
console.log(button.innerText);
```

## Unregister

```javascript
import { GlobalRegistrator } from '@happy-dom/global-registrator';

GlobalRegistrator.register();

GlobalRegistrator.unregister();

// Outputs: "undefined"
console.log(global.document);
```

# Documentation

Read more about how Happy DOM works in our [documentation](https://github.com/capricorn86/happy-dom/wiki).

# 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('.class') | 6.4 ms | 3.7 ms |
| querySelectorAll('[attribute]') | 4.0 ms | 1.7 ms |
| querySelectorAll('[class~="name"]') | 5.5 ms | 2.9 ms |
| querySelectorAll(':nth-child(2n+1)') | 10.4 ms | 3.8 ms |

[See how the test was done here](https://github.com/capricorn86/happy-dom-performance-test)

# Sponsors

[<img alt="RTVision" width="120px" src="https://avatars.githubusercontent.com/u/8292810?s=200&v=4" />](https://rtvision.com)
This package is used internally for testing the integration of Happy DOM in various environments.
4 changes: 4 additions & 0 deletions packages/jest-environment/README.md
Expand Up @@ -38,6 +38,10 @@ And much more..

- [Vue](https://vuejs.org/)

### Module Systems

[Happy DOM](https://github.com/capricorn86/happy-dom) has support for both [ESM](https://nodejs.org/api/esm.html#introduction) and [CommonJS](https://nodejs.org/api/modules.html#modules-commonjs-modules). However, [@happy-dom/jest-environment](https://github.com/capricorn86/happy-dom/packages/jest-environment) only has support for [CommonJS](https://nodejs.org/api/modules.html#modules-commonjs-modules) because of limitations with [Jest](https://jestjs.io/).

# Installation

```bash
Expand Down

0 comments on commit 29a1f43

Please sign in to comment.