TypeScript

Pages can be .ht.ts / .ht.tsx with zero configuration.

definePageModule

Helpers from sitelo/page give full type inference. At build time the import is swapped for a per-route generated module whose PageParams come from the filename: [slug]{ slug: string }, [...path]{ path: string[] }, [...path]?{ path?: string[] }.

Also exported: definePage, defineData, defineStaticParams.

Generated types

Declarations are written to .sitelo/types/ whenever the dev server or a build runs. Add that folder to .gitignore.