Hi all -- wanted to share something built on Javy that ended up in a surprising place.
I compiled @lit-labs/ssr (a Node.js server-rendering library for Lit web components) to WASM using Javy, then embedded the result in a Go binary via wazero. The binary reads HTML on stdin and writes Declarative Shadow DOM-enhanced HTML on stdout. Drupal (PHP) calls it via proc_open().
The Go binary is called lit-ssr-wasm: https://github.com/bennypowers/lit-ssr-wasm
The Drupal module that wraps it is called Backlit: https://github.com/bennypowers/backlit
I originally built this for a completely different project -- live component previews in a custom elements dev server. The Drupal integration was accidental. Once the WASM module and CLI protocol existed, it took an afternoon.
A few Javy-specific notes in case they're useful:
Writeup if you're curious: https://bennypowers.dev/posts/drupal-lit-ssr-wasm/
Thanks for Javy -- it's a genuinely useful piece of the stack.
Last updated: Mar 23 2026 at 16:19 UTC