Skip to content

Add DOM compatibility suite - #49

Merged
cowboyd merged 2 commits into
mainfrom
dom-compatibility-suite
Nov 9, 2026
Merged

cowboyd merged 2 commits into
mainfrom
dom-compatibility-suite

Conversation

@cowboyd

@cowboyd cowboyd commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

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.

@socket-security

socket-security Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​vitest/​expect@​5.0.51001008098100
Updatedvite@​8.0.16 ⏵ 8.3.599100 +2182 +197100
Added@​standard-schema/​spec@​1.1.010010010082100
Addedtypescript@​6.0.31001009010090
Addedtypebox@​1.4.31001009996100

View full report

@pkg-pr-new

pkg-pr-new Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/bombshell-dev/ui/@clack/ui@49

commit: 3b1d418

@cowboyd
cowboyd marked this pull request as ready for review October 30, 2026 18:49
@cowboyd cowboyd changed the title Add reusable DOM compatibility suite Add DOM compatibility suite Oct 30, 2026
@cowboyd
cowboyd force-pushed the dom-compatibility-suite branch from 6ceba48 to 5b2bec1 Compare November 6, 2026 19:22
@codspeed

codspeed Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Merging this PR will degrade performance by 89.07%

❌ 1 regressed benchmark
✅ 239 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ Memory maple (100) 34.6 KB 316.6 KB -89.07%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing dom-compatibility-suite (3b1d418) with main (24b5a76)

Open in CodSpeed

Comment thread packages/dom/LICENSE Resolved
Comment thread packages/dom/package.json Resolved
Comment thread packages/dom/README.md Resolved
Comment thread packages/ui/test/dom-compatibility.md Resolved

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really nice! Love the ability to toggle on specific elements and feature sets.

@cowboyd
cowboyd force-pushed the dom-compatibility-suite branch 2 times, most recently from c74e7d9 to 0d83b28 Compare November 9, 2026 00:28
@cowboyd
cowboyd force-pushed the dom-compatibility-suite branch from 0d83b28 to 3b1d418 Compare November 9, 2026 02:38
@cowboyd
cowboyd merged commit b990b53 into main Nov 9, 2026
9 checks passed
@cowboyd
cowboyd deleted the dom-compatibility-suite branch November 9, 2026 02:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants