Stream: javy

Topic: Built Lit SSR → WASM with Javy, ended up in Drupal


view this post on Zulip Benny Powers (Mar 19 2026 at 14:16):

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