TopGit tracks ampproject/worker-dom on GitHub. The project has 3.3k stars. The same DOM API and Frameworks you know, but in a Web Worker.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
An in-progress implementation of the DOM API intended to run within a Web Worker.
Purpose: Move complexity of intermediate work related to DOM mutations to a background thread, sending only the necessary manipulations to a foreground thread.
Use Cases:
Embedded content from a third party living side by side with first party code.
Mitigation of expensive rendering for content not requiring synchronous updates to user actions.
Retaining main thread availablity for high priority updates by async updating elsewhere in a document.
For more information, visit our blog post announcing WorkerDOM or checkout the slides from the announcement at JSConf US.
Installation
npm install @ampproject/worker-dom
Usage
WorkerDOM comes in two flavours, a global variant and a module variant. It is possible to include the WorkerDOM main thread code within your document directly or via a bundler. Here's how you might do so directly:
WorkerDOM has a special output variant that supplies additional hooks for safety features e.g. HTML sanitization. This variant is distributed under the amp folder for main and worker thread binaries:
amp/main.mjs
amp/worker/worker.mjs
This output assumes the consumer will compile this distributed JavaScript to ensure it works with older user-agents.
Debug Distribution
WorkerDOM also has an output variant that includes additional debugging messages. This variant is distributed in the debug folder.
After cloning the repository, you can try out the debug demos with the following.
npm run demo
This script will build the current version of WorkerDOM and start up a local webserver.
Which JavaScript APIs can I use?
Currently, most DOM elements and their properties are supported. DOM query APIs like querySelector have partial support. Browser APIs like History are not implemented yet. Please see the API support matrix here.
Which Browsers are supported?
In general we support the latest two versions of major browsers like Chrome, Firefox, Edge, Safari, Opera and UC Browser. We support desktop, phone, tablet and the web view version of these respective browsers.
Beyond that, we aim for very wide browser support and we accept fixes for all browsers with market share greater than 1 percent.
In particular, we try to maintain "it might not be perfect but isn't broken"-support for IE 11, iOS 8, the Android 4.0 system browser and Chrome 41.
Local Development
Local development of WorkerDOM assumes the following:
Familiarity with npm or yarn
Latest LTS release of Node (10 at time of writing) available.
Comfort with TypeScript, the codebase and tests are entirely written in TypeScript.
Release Log
Each release includes a log of changes with the newly released version. You can find the log here: https://github.com/ampproject/worker-dom/releases
Security disclosures
The AMP Project accepts responsible security disclosures through the Google Application Security program.
Code of conduct
The AMP Project strives for a positive and growing project community that provides a safe environment for everyone. All members, committers and volunteers in the community are required to act according to the code of conduct.
License
worker-dom is licensed under the Apache License, Version 2.0.
TopGit's last sync did not record any GitHub topics for ampproject/worker-dom. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on ampproject/worker-dom?
The most recent commit recorded on ampproject/worker-dom was 14 days ago, based on the GitHub push timestamp. The repository has 153 forks — one of the better signals of community interest.
How many stars does ampproject/worker-dom have?
ampproject/worker-dom has 3.3k GitHub stars — refresh the page for the live number, or check github.com/ampproject/worker-dom. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is ampproject/worker-dom written in?
ampproject/worker-dom is written primarily in TypeScript. GitHub's language field is based on the largest share of bytes in the default branch.
Where do I read more about ampproject/worker-dom?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/ampproject/worker-dom is the definitive source.
Read full README in the tab above.
Curious whether worker-dom is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about worker-dom.