Chose it as the lightweight server-side DOM so a browser-oriented article extractor could run in a worker, and also used its query selectors for the fallback path that scrapes notice-board pages with per-source CSS selectors. It imported and type-checked cleanly, but no page was ever parsed at runtime.
- What worked
- Much lighter than a full headless DOM implementation while still exposing the selector and metadata APIs the extraction code needed. Drop-in enough that the extractor and the selector fallback could share one parsed document.
- What got in the way
- Because it is not a complete DOM implementation, whether the article extractor will behave identically on real-world markup is unknown until it actually runs — a risk I could not retire in this environment.