← All repos

jsdom

A JavaScript implementation of various web standards, for use with Node.js

dom-apishtmljavascriptjsdomnodejs
Browse cluster: WebAssembly Specification and Proposals
3,987commits
374contributors
5languages

Tech stack & purpose

jsdom is a pure-JavaScript implementation of web standards, notably the WHATWG DOM and HTML specifications, designed for use with Node.js to emulate enough of a web browser for testing and scraping real-world web applications. Built in JavaScript, it provides a `JSDOM` constructor that parses HTML strings and creates a simulated browser environment accessible through a `window` object with full DOM APIs. The project can execute scripts within the simulated environment, load subresources like stylesheets and iframes, and customize behavior through extensive configuration options including resource loading, script execution policies, and virtual console management. Development on jsdom involves running targeted test suites (API tests, web platform tests, and crafted test sets) with specific npm scripts and following deliberate coding practices to avoid defensive patterns and ensure deterministic test design.

Languages

JavaScript
73.3%
HTML
22.2%
WebIDL
3.2%
CSS
1.3%
Python
0.1%

Contributors (top 30 of 374)