Skip to content

Coldspa

Give your CFML a spa day. The Islands Architecture for ColdFusion.

Mount Vue or React components into CFML pages with server-side rendering and progressive hydration. Coldspa brings the islands architecture popularized by Astro to ColdFusion, so you can keep rendering pages with CFML while sprinkling in interactive widgets that hydrate on demand.

CFML-first

Use <cf_Island> and <cf_Slot> like any other custom tags. Pass CFML structs as props and CFML markup as slots.

Real SSR

A Node sidecar pre-renders Vue and React to HTML so the page is meaningful before JS loads — no flash of empty containers.

Progressive hydration

Choose load, idle, visible, or client per island. Below-the-fold widgets stay dormant until the user scrolls.

Vite-powered

HMR in dev, hashed bundles + manifest in prod. One Vite plugin (coldspa/vite) wires up component globs, client entries, and the SSR build.

Vue & React

Both frameworks supported out of the box, and you can mix them on the same page.

Slots, the CFML way

Default and named slots come from CFML markup — including <cfoutput> queries, <cfinclude>, and conditionals.