@pwfabric/runner
v1.1.0
Published
pwapp runner — browser ES module that runs a pwpack source envelope at RUNTIME (hash/path router, navigation assembly, PKCE auth bridge) on top of the @pwfabric/embed fat-mode renderer
Readme
@pwfabric/runner
The pwapp runner: a browser ES module that runs a built pwapp. It loads the
pwpack envelope, routes pages (hash or path), assembles navigation, and runs
the sign-in bridge, on top of the @pwfabric/embed renderer. pwf build
copies it into every app's assets/runner.js; you rarely import it yourself.
Install
pnpm add @pwfabric/runnerESM only: import it from an ES module ("type": "module" or .mjs). Node 22+. It runs in the browser, not in Node.
import { runApp } from '@pwfabric/runner'
runApp({ source: './pwpack', blocks: './blocks/', engines: './engines', router: 'hash', locale: 'en' })Under router: 'path', the app's relative asset URLs resolve against the
shell's <base href>; a host serving the app under a sub-path should inject
one. See self-hosting.
A host that republishes an app under the same addresses should pass the
publish as version (runApp({ …, version: 42 })): every file the runner
reads under source — project.json, auth.json, navigation.json,
appearance.json, connections.json and the receipts — is then asked for
as <file>?v=42, so a cached file from the previous publish is never read
beside a new one. Without version the addresses are unchanged.
Main exports
| Export | What it is |
|--------|------------|
| runApp | Boot a pwapp |
| createRouter, resolveRouterMode | The hash/path router |
| createAuthBridge, bootSession, mountSignInGate, createAccountController | Sign-in and session |
| assembleNav, assembleFooter, composeTitle, renderNotFound | Page assembly |
| sessionDataCache, buildEntityFacade | Data access |
| THEME_PRESETS, RUNNER_COPY, copyFor | Theme presets and UI copy |
Entry points
| Import | Contents |
|--------|----------|
| @pwfabric/runner | The bundled browser module dist/runner.js (the only entry point) |
Licence
Business Source License 1.1 — see LICENSE. Use it, change it, and host what you build with it, for yourself or your own customers; do not offer PWFabric itself as a service. Each version becomes Apache-2.0 on the Change Date in LICENSE. See licensing.
Part of PWFabric — the engine that renders an app. Source: github.com/pwfabric/pwfabric.
