Runtime and Renderer Boundaries
Runtime and Renderer Boundaries: published entrypoints, signatures, and the constraints around them.
Example
Use Askr’s public boot APIs to mount an application. Runtime and renderer-host construction are not exported for application use.
import { createSPA } from '@askrjs/askr/boot';
import { createRouteRegistry, route } from '@askrjs/askr/router';
const registry = createRouteRegistry(() => route('/', HomePage));
await createSPA({ root: '#app', registry });Public application entrypoints
Mount a browser application with createSPA() or hydrate server-rendered markup with hydrateSPA() from @askrjs/askr/boot. These public APIs own runtime setup; application code does not need to construct a runtime first.
Runtime ownership
Application primitives such as state() and derive() use the runtime managed by Askr's public boot APIs. There is no public API for retrieving or configuring a process-wide runtime singleton.
Renderer support
Askr does not publish a custom renderer-host extension API. Use the browser rendering APIs for client applications and the published SSR or SSG APIs for generated HTML; a non-DOM renderer is not a supported extension point.
Current package exports
Askr no longer exports @askrjs/askr/experimental or its runtime and renderer-host construction APIs. Use the public boot, component, and state APIs to mount and extend applications, and avoid depending on internal implementation fields.