/** * @nifrajs/web-vanilla - the zero-framework render adapter for @nifrajs/web. * * Pages are plain functions returning auto-escaping `html` tagged templates; the client ships * **no framework runtime at all**. Use it for content/SEO surfaces (landing pages, listings, * docs, comparison tables) where HTML is the product - interactivity comes from * `@nifrajs/web/islands` entries (`islandScripts`), each a hand-sized vanilla module. * * Routes using this adapter are server-rendered documents, not hydrated apps - set * `export const hydrate = false` on the route (there is no client runtime to hydrate with); * `renderPage` then omits the framework bootstrap entirely. Loaders, actions, ISR, SSG, head * management, and streaming all work unchanged - they live in @nifrajs/web, not the view layer. * * import { html, vanillaAdapter } from "@nifrajs/web-vanilla" * * export default function Hotels({ data }) { * const { hotels } = data as { hotels: Array<{ name: string; pricePaise: number }> } * return html`