ページ内ナビ
概要
jsdomは、WHATWG DOMとHTMLを中心としたWeb標準の一部をJavaScriptで実装し、Node.js上にwindowとdocumentを作るlibraryです。DOM test、server-sideのmarkup解析、browser APIを前提とするcodeの検証などに利用できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
向いている用途
DOM依存codeのunit/integration testやserver-side解析に向く
実browserを起動せずにDOM APIが必要なtestを実行したり、HTMLから情報を抽出・変換したりする用途に向きます。
出典:[2]
導入前の確認
参考にした公式資料
- [1]jsdom/jsdom repository(2026-09-30)
- [2]jsdom README(2026-09-30)
- [3]jsdom 30.1.1 package metadata(2026-09-30)
- [4]jsdom v30.1.1 release(2026-09-30)
- [5]jsdom MIT license(2026-09-30)
編集部からの補足
browser全部を再現するのではなく、Node.js上でtestやscrapingに必要なWeb標準のsubsetを提供します。runScripts: 'dangerously'で未信頼HTMLのscriptを実行するとNode.js環境へ影響し得るため、外部入力では有効化しないのが基本です。
3ステップで試す
- 1
jsdom 30.1.1を追加
package metadataのNode.js要件を満たすprojectへversion固定で追加します。
npm install jsdom@30.1.1 - 2
JSDOMでHTMLをparse
script実行を有効にせず、最小のDOMを作成します。
const { JSDOM } = require("jsdom"); const dom = new JSDOM("<p>Hello world</p>"); - 3
DOM APIで要素を取得
Node.js上でdocumentと標準DOM APIが利用できることを確認します。
console.log(dom.window.document.querySelector("p").textContent);
成長
成長の推移 · 直近30日
21,695 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- dom-apis
- html
- javascript
- jsdom
- nodejs
- Stars
- 21,695
- Forks
- 1,809
- Watchers
- 261
- Open Issues
- 306
- 所有者種別
- Organization
- 主要言語
- JavaScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/09/22
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Cheerio30,513 Stars
共通タグ 3件 · 共通カテゴリ 1件
jQuery風selectorでHTML・XMLを軽量にparse・検索・書き換える
TypeScript - CodeceptJS4,242 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
PlaywrightなどのE2E操作を利用者視点の
JavaScriptIステップへ統一するテストフレームワーク - fake-indexeddb695 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
Node.jsのテストでIndexedDB互換APIをメモリ上に再現する
JavaScript - Storybook91,178 Stars
共通タグ 2件 · 共通カテゴリ 2件
UI状態をstoryとして保存し、Docs・interaction test・AI toolへ再利用するfrontend workshop
TypeScript - Jest45,464 Stars
共通タグ 2件 · 共通カテゴリ 2件
assertion・mock・watch・snapshot・worker isolationを一つのCLIへまとめるJavaScript testing framework
TypeScript - Markuplint619 Stars
共通タグ 2件 · 共通カテゴリ 2件
HTML標準やARIAに沿ってmarkupを検査し、React・Vue・Svelte等のtemplateにも対応する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。