Skip to content

Add framework integrations and demos for @bomb.sh/dom - #15

Open
cowboyd wants to merge 1 commit into
dom-spikefrom
dom-integrations
Open

cowboyd wants to merge 1 commit into
dom-spikefrom
dom-integrations

Conversation

@cowboyd

@cowboyd cowboyd commented Oct 21, 2026 •

Copy link
Copy Markdown

What does this PR do?

Add framework integrations, demos, and acceptance tests on top of the @bomb.sh/dom core layer. All framework dependencies and support code live in separate example packages, with JSX configuration local to the examples.

  • Exercise actual Preact 11 rendering, asynchronous updates across documents, keyed identity, refs, events, cross-document portals, and cleanup.
  • Add React reconciler, Solid universal-renderer, and Crank generic-renderer adapters over the same DOM tree.
  • Add real Lit/custom-element and Svelte compiler/client-runtime fixtures using persistent document-specific Node VM contexts.
  • Add framework documentation, capability coverage, and workspace test commands and lockfile entries.

This layer changes no DOM implementation or core tests. The combined stack preserves the original PR's complete file tree.

Scope and limitations

These are tested example integrations rather than a claim of complete browser-renderer compatibility. Lit and Svelte load separately bundled browser runtimes inside persistent Node VM contexts; ordinary fully typed browser imports remain unproven. The context keeps asynchronous work associated with its document without swapping process globals.

Hydration, broader framework APIs, and richer namespace/property support remain unfinished. Framework code is not exported by @bomb.sh/dom.

Validation

  • Frozen-lockfile installation succeeded.
  • pnpm test: 248 tests passed, including 21 framework tests, 216 DOM tests, and 11 existing workspace tests.
  • All seven framework/support example packages passed TypeScript checking; the core build passed.
  • pnpm format:check passed.
  • pnpm lint passed with 78 existing workspace warnings.

Type of change

  • Bug fix
  • Feature
  • Refactor (no behavior change)
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • All tests pass (pnpm test)
  • Files are formatted (pnpm format)
  • I have added/updated tests for my changes (if applicable)
  • I have added a changeset

AI-generated code disclosure

  • This PR includes AI-generated code

@cowboyd
cowboyd added this pull request to stack #16 October 21, 2026 20:24
@socket-security

Copy link
Copy Markdown

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.

1 participant