Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
AppEnv string // "production" or "development"
AssetRoute string // The route to serve assets from, e.g. "/assets"
FrontendDir string // The path to the frontend folder, where your React app lives
GeneratedTypesPath string // The path to the generated types file
PropsStructsPath string // The path to the Go structs file, the structs will be generated to TS types
LayoutFilePath string // The path to the layout file, relative to the frontend dir
LayoutCSSFilePath string // The path to the layout css file, relative to the frontend dir
TailwindConfigPath string // The path to the tailwind config file
HotReloadServerPort int // The port to run the hot reload server on, 3001 by default
JSRuntimePoolSize int // The number of JS runtimes to keep in the pool, 10 by default
CacheConfig cache.CacheConfig // Cache configuration (local or redis)
ClientAppPath string // Path to client SPA app (e.g., "App.tsx") for client-side routing after hydration
// SPA hydration mode options (only used when ClientAppPath is set):
// - "router": wraps with StaticRouter/BrowserRouter for true hydration (default, requires react-router-dom)
// - "replace": uses createRoot to replace SSR HTML (no hydration, compatible with any SPA structure)
SPAHydrationMode string // "router" or "replace", defaults to "router"
}
Config is the config for starting the engine
type Engine ¶
type Engine struct {
Logger *slog.Logger
Config *Config
HotReload *HotReload
Cache cache.Cache
RuntimePool *jsruntime.Pool
CachedLayoutCSSFilePath string
CachedClientSPAJS string // Cached client SPA bundle JS
CachedServerSPAJS string // Cached server SPA bundle JS (for StaticRouter rendering)
CachedServerSPACSS string // Cached server SPA bundle CSS
}
func (*Engine) BuildLayoutCSSFile ¶
BuildLayoutCSSFile builds the layout css file if it exists
func (*Engine) IsProduction ¶
IsProduction returns true if running in production mode
func (*Engine) RenderRoute ¶
func (engine *Engine) RenderRoute(renderConfig RenderConfig) []byte
RenderRoute renders a route to html
Source Files
¶
Click to show internal directories.
Click to hide internal directories.