Repository navigation
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
commit: |
cowboyd
marked this pull request as ready for review
October 30, 2026 18:49
cowboyd
force-pushed
the
dom-compatibility-suite
branch
from
November 6, 2026 19:22
6ceba48 to
5b2bec1
Compare
Merging this PR will degrade performance by 64.43%
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In order to support the widest degree of rendering frameworks and design systems, we're going to be implementing a subset of DOM features. But what does it mean to implement that subset, and how do we know that the features we implemented are done properly?
It turns out that there is a very extensive test suite maintained by the good folks at the W3C to test compatibility with the web platform https://github.com/web-platform-tests/wpt Including the DOM, and that we can use this to incrementally validate our own implementation.
This extracts a subset of the WPT (web platform tests) that don't pre-suppose a browser rendering engine, and allows us to declare a feature as either supported or unsupported. If it is declared as supported, then that test will be run against our DOM in CI, if not, then that test is not even part of our test suite.
For sanity checking, the test suite is also runnable in the browser via playwright, but this is only to validate that the test suite itself is valid.
This should allow us to add features to our DOM with complete confidence that we have met the bar.