Server-first rendering
Useful HTML is rendered first; reactive scopes hydrate only where declared.
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs"; import { join, resolve } from "node:path"; import { format } from "prettier"; const root = resolve(import.meta.dir, ".."); const pkg = JSON.parse(readFileSync(join(root, "package.json"), "utf8")); const version = pkg.wrnexus.version as string; const pages = join(root, "app", "pages"); const docs = join(root, "docs"); const pub = join(root, "public"); mkdirSync(docs, { recursive: true }); const packageNames = [...Object.keys(pkg.dependencies), ...Object.keys(pkg.devDependencies)] .filter((name) => name.startsWith("@wrnexus/")) .map((name) => name.split("/")[1]!) .filter((name, index, all) => all.indexOf(name) === index) .sort(); const packageCount = packageNames.length; const uiReferencePath = join(root, "node_modules", "@wrnexus", "ui", "component-reference.json"); const uiReference = existsSync(uiReferencePath) ? (JSON.parse(readFileSync(uiReferencePath, "utf8")) as { count: number; components: Array<{ name: string; mount: string; category: string; props: Array<{ name: string; type: string; required: boolean; default: string | null }>; slots: string[]; events: string[]; }>; }) : undefined; const uiReferenceText = uiReference ? uiReference.components .map( (component) => `### ${component.name}\nMount: data-component="${component.mount}"\nCategory: ${component.category}\nProps: ${component.props.length ? component.props.map((prop) => `${prop.name}: ${prop.type}${prop.required ? " (required)" : ` = ${prop.default}`}`).join(", ") : "none"}\nSlots: ${component.slots.join(", ") || "none"}\nEvents: ${component.events.join(", ") || "none"}`, ) .join("\n\n") : "UI component reference unavailable; install the release-aligned @wrnexus/ui package."; async function writeFormatted(path: string, source: string) { writeFileSync(path, await format(source, { filepath: path })); } const esc = (s: string) => s.replaceAll("{", "{").replaceAll("}", "}"); const code = (s: string) => `
${esc(s).replaceAll("<", "<").replaceAll(">", ">")}`;
const navigation = [
["/getting-started", "Get started"],
["/packages", "Packages"],
["/language", "Language"],
["/architecture", "Architecture"],
] as const;
const documentationNavigation = [
...navigation,
["/tutorial", "Tutorial"],
["/guides/project-structure", "Guides"],
["/examples", "Examples"],
["/search", "Search"],
] as const;
function shell(title: string, description: string, body: string, section = "Documentation") {
const nav = navigation.map(([href, label]) => `${label}`).join("");
const mobileNav = documentationNavigation
.map(([href, label]) => `${label}`)
.join("");
const breadcrumbs =
title === "Home"
? ""
: ``;
return `page ${title.replace(/[^A-Za-z0-9]/g, "") || "Guide"} {
seo {
title = "${title.replaceAll('"', "'")}"
description = "${description.replaceAll('"', "'")}"
canonical = "https://wrnexusjs.dev${routeFor(title)}"
}
view {
Skip to content
}
}`;
}
function marketingShell(description: string, body: string) {
const codeCard = `page Dashboard {
ssr { api tasks GET /api/tasks { return tasks } }
view {
<main>
<h1>Tasks</h1>
{#each tasks as task}
<article>{task.title}</article>
{:empty}
<p>Nothing waiting.</p>
{/each}
</main>
}
}WRNexusJS v${version}
WRNexusJS is an SSR-first, Bun-native full-stack framework. Build typed pages, APIs, validated forms, realtime rooms, secure sessions, workspaces, and optional mobile experiences with the .wrn component language.
Packages require approved private-registry access. No public installation command is currently available.
Useful HTML is rendered first; reactive scopes hydrate only where declared.
.wrn componentsPages, layouts, props, state, events, server loops, and directives live in a focused language.
The runtime is Bun. Node compatibility is not claimed.
Database queries and shared validation connect server routes to forms.
CSP, CSRF, sessions, authorization, encryption, and safe output are framework primitives.
Rooms, Redis pub/sub, and multi-app gateways support live and isolated applications.
Public creator/company site and approved WRNexusJS production showcase.
This documentation application runs WRNexusJS ${version}.
| Capability | Status | Details |
|---|---|---|
| SSR, routing, compiler, APIs | Preview | Installed in ${version}; public support policy pending. |
| Mobile/native | Experimental | Capacitor compatibility and native generation have platform limitations. |
| Durable queues | Experimental | Production durability requires an appropriate driver strategy. |
WRNexusJS ${version} packages are not available from the public npm registry. Installation requires approval and private registry credentials supplied by WorkRoot. Never paste registry tokens into source control, issue reports, or support messages.
Access approval, response time, licensing terms, and support level remain owner-controlled. This site does not collect access requests directly.
This path creates a server-rendered page, validated API route, middleware, and realtime next step. It requires approved registry access and Bun 1.3.x; this site was verified with Bun 1.3.14.
Use an ssr API binding and a server {#each} block. See Server data for the complete verified pattern.
Next: deployment, database, authentication, and workspaces.
This tutorial connects the installed ${version} APIs into one design. Snippets are limited to declarations and README patterns verified in the installed packages; a CI-compiled standalone fixture remains on the roadmap.
A .wrn page renders tasks from an SSR API binding. A shared validation schema protects mutations. Session middleware identifies users, authorization policies gate updates, and a realtime room broadcasts changes.
Follow the focused database, authentication, authorization, realtime, and upload guides.
WRNexusJS is Bun-native and SSR-first. File discovery maps pages and API handlers; middleware enriches or short-circuits a request; the compiler turns .wrn declarations into server render functions and small feature runtimes.
core owns contexts, middleware, sessions and rooms; router discovers routes; compiler parses .wrn; ssr renders documents; csr supplies browser runtimes; dev-server and cli orchestrate development and builds.
Validation happens at trust boundaries. Session authentication establishes identity; authorization makes resource decisions. CSP, Trusted Types, CSRF, upload checks, WebSocket origins, request limits, and output escaping are layered controls—not substitutes for application policy.
Rooms are process-local unless connected through pub/sub. Redis-backed pub/sub distributes events. Queue durability depends on the selected driver and must be evaluated explicitly.
The gateway can dispatch multiple applications while preserving route, component, asset, config, and session boundaries. Validate host routing and isolation before production.
wrnexus build . produces dist/server.js and hashed/static assets. Run the server with Bun, apply migrations before traffic, terminate TLS at a trusted edge, and forward only expected proxy headers.
Mobile compatibility bridges SSR-safe Capacitor capabilities; native route generation is experimental and is not general web portability. Test each target platform.
app/routes.gen.ts, .wrnexus/, and dist/ are generated. The runtime is Bun-only. Preview packages are private. Historical compatibility and long-term support policy are not yet published.
.wrn languagePages are routes. Components declare default-valued props and may hold state. Layouts provide shared slots. Mount components with data-component; fill default or named slots with data-slot.
Interpolation is HTML-escaped. Use server {#if} and {#each} for SSR data. Use data-show for reactive client visibility.
@click and other events execute in the reactive scope. Data attributes opt into forms, i18n, themes, realtime, uploader, browser, and mobile behavior. Consult the exact package page because availability varies.
form[data-schema] connects descriptors to client and server validation. Translation keys use {t:key}. Theme toggles use data-wire-theme-toggle. Realtime pages opt into a named room.
Text interpolation is escaped by default. Do not construct trusted HTML from user input. Server-only refinements must be repeated at the authoritative mutation boundary.
view, not JSX or hooks.A workspace runs isolated applications behind one domain-routing gateway. Add an application from the workspace root; the CLI scaffolds apps/reports and registers it in wrnexus.workspace.ts:
Point protected applications at a dedicated verifier endpoint. The verifier must return 2xx for an authenticated session, 401/403 to deny access, or an HTTP redirect to begin browser login.
${code(`// wrnexus.workspace.ts { name: "admin", dir: "apps/admin", domains: ["admin.localhost"], auth: { forward: { url: "http://sso.localhost:3000/api/verify" } }, }`)}The gateway forwards cookies, authorization, original host, protocol, method, path, and query. Inside the verifier, ctx.url identifies the SSO verifier request—not the original admin URL. Use @wrnexus/helpers to reconstruct and validate the original destination:
Always allowlist redirect hosts. After login, validate or sign the returnTo value before redirecting. Keep internal app ports private and open applications through the gateway port.
${text}
`}This guide describes installed ${version} capabilities. Follow linked package declarations for exact signatures; undocumented behavior is not guaranteed.
Examples are tied to installed ${version} package documentation. The focused snippets in guides are source-verified; standalone runnable projects and CI compilation are tracked as remaining work.
Only confirmed public properties are listed; no customer or traffic claims are made.
Creator/company site demonstrating a public WRNexusJS deployment. Exact deployed version and infrastructure notes await owner confirmation.
This documentation portal, built and verified against WRNexusJS ${version} on Bun.
Screenshots are intentionally deferred until approved assets and alt text are available.
No comparative speed claims are published. A valid baseline must record scripts, commit, Bun/framework versions, hardware, OS, warmup, samples, workload, raw results, median, percentiles, memory, HTML size, browser JavaScript size, and run date.
The roadmap starts with WRNexusJS-only measurements before any maintained equivalent-workload comparison.
Roadmap items are direction, not delivery commitments. Dates require explicit owner approval.
Documentation is aligned to all ${packageCount} installed packages. This release adds @wrnexus/helpers, original-request URL helpers, safe login redirects, working wrnexus workspace add, and forward-auth redirect propagation.
Run wrnexus update --latest and keep every @wrnexus/* package on ${version}. Existing applications must explicitly add @wrnexus/helpers before importing it; newly scaffolded applications include it automatically.
The packages use semantic-looking versions, but a formal compatibility and old-release support policy has not been approved. Preview consumers should treat minor releases as potentially requiring migration review.
Released 2026-07-13. All ${packageCount} installed packages are aligned to this version. Highlights include the new helpers package, reliable workspace app addition, and browser SSO redirects through forward authentication. See the changelog, upgrade guide, and package references.
WRNexusJS provides primitives for CSP, CSRF, Trusted Types, sessions, validation, authorization, encryption, upload restrictions, request limits, and WebSocket-origin checks. Applications remain responsible for correct configuration, business authorization, secrets, dependencies, data protection, and operations.
Only the current private-preview release ${version} is documented here. A formal old-release support window is not yet published.
Use WorkRoot’s approved private contact path at workroot.in. Do not publish exploit details or secrets. Include affected version, impact, reproduction, and a safe contact method. Response targets, encryption key, bounty, audit, and certification are not currently claimed.
Use restrictive CSP and permissions policies, HSTS only on HTTPS production origins, MIME sniffing protection, restrictive referrers, explicit CORS, secure cookies, CSRF validation, request limits, and origin checks. See application security.
WRNexusJS has no public Discord, public issue tracker, or guaranteed community support channel listed by this repository. Preview access and support begin through WorkRoot’s public contact path.
Include WRNexusJS version, Bun version, OS, a minimal reproduction, expected and actual behavior, and sanitized logs. Never include registry tokens, credentials, session cookies, or private data.
Support scope, service levels, and commercial terms require owner confirmation.
This documentation repository contains no public license file, and the packages are unavailable from the public npm registry. No open-source license or redistribution right should be inferred.
Approved preview users must follow the private/commercial terms supplied by WorkRoot. Contact WorkRoot before copying, redistributing, or using WRNexusJS in production.
This build-time index is local and sends no query to a third party. Use your browser’s find command to filter this compact index.
${navigation.map(([href, label]) => `${label}`).join(" · ")}
${Object.entries( guides, ) .map(([slug, [title]]) => `${title}`) .join(" · ")}
${Object.keys(pkg.dependencies) .concat(Object.keys(pkg.devDependencies)) .filter((name) => name.startsWith("@wrnexus/")) .map((name) => `${name}`) .join(" · ")}
The address may be outdated or misspelled. No private or duplicate route is exposed here.