Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

👷‍♀️ Use Web Workers in Jest / JSDOM 🌈

NotificationsYou must be signed in to change notification settings

developit/jsdom-worker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jsdom-worker

Lets you use Web Workers in Jest!

This is an experimental implementation of the Web Worker API (specifically Dedicated Worker) for JSDOM.

It does not currently do any real threading, rather it implements theWorker interface but all work is done in the current thread.jsdom-worker runs wherever JSDOM runs, and does not require Node.

It supports both "inline"(created via Blob) and standard(loaded via URL) workers.

Hot Take: this module likely works in the browser, where it could act as a simple inline worker "poorlyfill".

npmtravis

Why?

Jest uses a JSDOM environment by default, which means it doesn't support Workers. This means it is impossible to test code that requires both NodeJS functionalityand Web Workers.jsdom-worker implements enough of the Worker spec that it is now possible to do so.

Installation

npm i jsdom-worker

Example

import'jsdom-global/register';import'jsdom-worker';letcode=`onmessage = e => postMessage(e.data*2)`;letworker=newWorker(URL.createObjectURL(newBlob([code])));worker.onmessage=console.log;worker.postMessage(5);// 10

Usage with Jest

For single tests, simply addimport 'jsdom-worker' to your module.

Otherwise, add it via thesetupFiles Jest config option:

{"setupFiles":["jsdom-worker"]}

License

MIT License

About

👷‍♀️ Use Web Workers in Jest / JSDOM 🌈

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

[8]ページ先頭

©2009-2026 Movatter.jp