CFML-first
Use <cf_Island> and <cf_Slot> like any other custom tags. Pass CFML structs as props and CFML markup as slots.
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.