docs: update portal for WRNexusJS 0.8.72

- Bump every @wrnexus/* dependency to its latest release (ui 0.8.88,
  styles 0.8.26, cli 0.8.72, core 0.8.16, i18n 0.8.12, ...) and refresh
  bun.lock and package-lock.json. graphql/native 0.8.8 were republished,
  so their stale lockfile integrity entries were re-resolved.
- wrnexus.config.ts: drop `functions` and `compatibility`, both removed
  from the framework.
- Regenerate package, portal and discovery docs from the installed
  packages, including the new 0.8.72 release page.
- Package pages now install each package's own released version
  (ui 0.8.88, core 0.8.16) instead of stamping the CLI version on all.
- llms.txt / llms-full.txt: the generator kept every earlier run's CLI
  reference and appended another; it now replaces it, so the guide holds
  one current reference and no longer advertises the removed
  `wrnexus compatibility` command.
- docs.test.ts: compileWireFile was renamed compileWrnFile; tests follow
  the per-package install versions and the removed command.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClintchizandClaude Opus 5.5 committed 2026-09-30 16:46:32 +05:30
1 parent 5c591ab7de
commit b536b57447
105 files changed
+24822 -12503

No files matched your search

+147 -31
View File
@@ -10,7 +10,7 @@ page wrnexuscompiler {
<header class="topbar">
<a class="brand" href="/"><span>W</span> WRNexusJS</a>
<nav aria-label="Primary"><a href="/getting-started">Get started</a><a href="/packages">Packages</a><a href="https://component.wrnexusjs.dev/">Components</a><a href="/language">Language</a><a href="/architecture">Architecture</a></nav>
<div class="topbar-actions"><a class="preview-pill" href="/access">Private preview · v0.8.8</a><button data-wire-theme-toggle class="theme-button" aria-label="Toggle color theme" title="Toggle color theme">◐</button></div>
<div class="topbar-actions"><a class="preview-pill" href="/access">Private preview · v0.8.72</a><button data-wire-theme-toggle class="theme-button" aria-label="Toggle color theme" title="Toggle color theme">◐</button></div>
</header>
<div class="mobile-doc-nav"><details><summary>Browse documentation</summary><nav><a href="/getting-started">Get started</a><a href="/packages">Packages</a><a href="https://component.wrnexusjs.dev/">Components</a><a href="/language">Language</a><a href="/architecture">Architecture</a><a href="/tutorial">Tutorial</a><a href="/guides/project-structure">Guides</a><a href="/examples">Examples</a><a href="/search">Search</a></nav></details></div>
<main id="main" class="portal-main docs-layout docs-layout--navigation"><aside class="docs-section-menu" aria-label="Documentation sections"><nav>
@@ -20,7 +20,7 @@ page wrnexuscompiler {
<section><strong>Reference</strong><a href="/packages">Packages overview</a><a href="/packages/cli">CLI</a><a href="/language">.wrn language</a><a href="https://component.wrnexusjs.dev/">Components</a><a href="/examples">Examples</a></section>
<section class="package-menu"><strong>Packages</strong><a href="/packages/ai">@wrnexus/ai</a><a href="/packages/auth">@wrnexus/auth</a><a href="/packages/authz">@wrnexus/authz</a><a href="/packages/benchmark">@wrnexus/benchmark</a><a href="/packages/cache">@wrnexus/cache</a><a href="/packages/captcha">@wrnexus/captcha</a><a href="/packages/cli">@wrnexus/cli</a><a href="/packages/compiler">@wrnexus/compiler</a><a href="/packages/content">@wrnexus/content</a><a href="/packages/core">@wrnexus/core</a><a href="/packages/csr">@wrnexus/csr</a><a href="/packages/db">@wrnexus/db</a><a href="/packages/dev-server">@wrnexus/dev-server</a><a href="/packages/dev-toolbar">@wrnexus/dev-toolbar</a><a href="/packages/encryption">@wrnexus/encryption</a><a href="/packages/graphql">@wrnexus/graphql</a><a href="/packages/helpers">@wrnexus/helpers</a><a href="/packages/i18n">@wrnexus/i18n</a><a href="/packages/identity">@wrnexus/identity</a><a href="/packages/image">@wrnexus/image</a><a href="/packages/jwt">@wrnexus/jwt</a><a href="/packages/language-server">@wrnexus/language-server</a><a href="/packages/mcp">@wrnexus/mcp</a><a href="/packages/mobile">@wrnexus/mobile</a><a href="/packages/native">@wrnexus/native</a><a href="/packages/oauth">@wrnexus/oauth</a><a href="/packages/observability">@wrnexus/observability</a><a href="/packages/playground">@wrnexus/playground</a><a href="/packages/plugin">@wrnexus/plugin</a><a href="/packages/pubsub">@wrnexus/pubsub</a><a href="/packages/pwa">@wrnexus/pwa</a><a href="/packages/queue">@wrnexus/queue</a><a href="/packages/reactive">@wrnexus/reactive</a><a href="/packages/realtime">@wrnexus/realtime</a><a href="/packages/router">@wrnexus/router</a><a href="/packages/security">@wrnexus/security</a><a href="/packages/ssr">@wrnexus/ssr</a><a href="/packages/store">@wrnexus/store</a><a href="/packages/styles">@wrnexus/styles</a><a href="/packages/syntax">@wrnexus/syntax</a><a href="/packages/test">@wrnexus/test</a><a href="/packages/tracking">@wrnexus/tracking</a><a href="/packages/typecheck">@wrnexus/typecheck</a><a href="/packages/ui">@wrnexus/ui</a><a href="/packages/uploader">@wrnexus/uploader</a><a href="/packages/validation">@wrnexus/validation</a></section>
</nav></aside><div class="docs-reading-column">
<article class="documentation prose standalone package-document"><nav class="breadcrumbs" aria-label="Breadcrumb"><a href="/">Home</a><span>/</span><a href="/packages">Packages</a><span>/</span><span aria-current="page">@wrnexus/compiler</span></nav><section class="doc-intro"><span class="eyebrow">Core · Package reference</span><h1>@wrnexus/compiler</h1><p>Parser and code generators for the .wrn language.</p><div class="doc-meta"><span>v0.8.8</span><span>Private registry</span><span>Core</span></div><section id="access" class="access-callout"><h2>Install the package</h2><p>After WorkRoot approves private registry access, install the release-aligned package:</p><pre><code>bun add @wrnexus/compiler@0.8.8</code><button type="button" class="copy-button" aria-label="Copy installation command">Copy</button></pre><p><a href="/access">Request preview access</a>. Never put registry tokens in source control.</p></section></section><section id="guide"><h3 id="partial-static-rendering">Partial-static rendering</h3>
<article class="documentation prose standalone package-document"><nav class="breadcrumbs" aria-label="Breadcrumb"><a href="/">Home</a><span>/</span><a href="/packages">Packages</a><span>/</span><span aria-current="page">@wrnexus/compiler</span></nav><section class="doc-intro"><span class="eyebrow">Core · Package reference</span><h1>@wrnexus/compiler</h1><p>Parser and code generators for the .wrn language.</p><div class="doc-meta"><span>v0.8.30</span><span>Private registry</span><span>Core</span></div><section id="access" class="access-callout"><h2>Install the package</h2><p>After WorkRoot approves private registry access, install the package:</p><pre><code>bun add @wrnexus/compiler@0.8.30</code><button type="button" class="copy-button" aria-label="Copy installation command">Copy</button></pre><p><a href="/access">Request preview access</a>. Never put registry tokens in source control.</p></section></section><section id="guide"><h3 id="partial-static-rendering">Partial-static rendering</h3>
<p>Pages can select <code>render = &quot;partial-static&quot;</code> and divide their view with <code>&lt;Static&gt;</code> and <code>&lt;Dynamic&gt;</code> boundaries. The compiler emits a build-only shell renderer that never evaluates dynamic-boundary children. <code>wrnexus build</code> expands static component mounts into <code>dist/partial-shells.json</code>, records byte/region evidence in <code>build-report.json</code>, and embeds the shell in the production route manifest. At request time the production runtime retains request-aware layouts, locale/theme metadata and security nonces while streaming dynamic regions into stable placeholders.</p>
<blockquote>Compiler for the <code>.wrn</code> language — tokenizes, parses, and lowers <code>.wrn</code> page and component files to TypeScript.</blockquote>
<p>Part of the <strong>WRNexusJS</strong> framework — an SSR-first, Bun-native full-stack web framework.</p>
@@ -51,7 +51,7 @@ layout PublicLayout &#123;
<blockquote>(a read token in <code>~/.npmrc</code>). Requires <strong>Bun</strong> (Node is not supported).</blockquote>
<h3 id="api">API</h3>
<p>All exports come from the package root (<code>@wrnexus/compiler</code>).</p>
<h4 id="compilewirefile-source-string-string"><code>compileWireFile(source: string): string</code></h4>
<h4 id="compilewrnfile-source-string-string"><code>compileWrnFile(source: string): string</code></h4>
<p>Compile <code>.wrn</code> source to a TypeScript module string. Throws <code>ParseError</code> on invalid input. The output is prefixed with a <code>// compiled from .wrn</code> comment.</p>
<h4 id="compile-source-string-compileresult"><code>compile(source: string): CompileResult</code></h4>
<p>Richer entry point that returns the generated code, the AST, and any diagnostics.</p>
@@ -80,7 +80,7 @@ layout PublicLayout &#123;
<h4 id="errors">Errors</h4>
<div class="table-wrap"><table>
<thead><tr><th>Class</th><th>Thrown by</th><th>Meaning</th></tr></thead>
<tbody><tr><td><code>ParseError</code></td><td><code>parse</code>, <code>compile</code>, <code>compileWireFile</code>, <code>generate</code></td><td>Invalid <code>.wrn</code> grammar or (rewrapped) lex failure.</td></tr><tr><td><code>LexError</code></td><td><code>Lexer</code></td><td>Unexpected character / unterminated string / unbalanced braces.</td></tr></tbody></table></div>
<tbody><tr><td><code>ParseError</code></td><td><code>parse</code>, <code>compile</code>, <code>compileWrnFile</code>, <code>generate</code></td><td>Invalid <code>.wrn</code> grammar or (rewrapped) lex failure.</td></tr><tr><td><code>LexError</code></td><td><code>Lexer</code></td><td>Unexpected character / unterminated string / unbalanced braces.</td></tr></tbody></table></div>
<h4 id="ast-types">AST types</h4>
<p>Exported type-only symbols describing the parsed tree:</p>
<div class="table-wrap"><table>
@@ -88,9 +88,9 @@ layout PublicLayout &#123;
<tbody><tr><td><code>PageAst</code></td><td>Root node including top-level <code>imports</code>, <code>kind</code>, <code>name</code>, <code>types</code>, typed <code>props</code>, typed <code>states</code>, <code>view</code>, styles, functions, data APIs, lifecycle, and routes.</td></tr><tr><td><code>ViewNode</code></td><td><code>&#123; type: &quot;text&quot;; value &#125;</code> or <code>&#123; type: &quot;element&quot;; tag; attrs; children &#125;</code>.</td></tr><tr><td><code>Attr</code></td><td><code>&#123; name; value; event; boolean? &#125;</code> — <code>event</code> marks <code>@event</code> bindings.</td></tr><tr><td><code>StateDecl</code></td><td><code>&#123; name; valueType?; expr &#125;</code> — a typed <code>state x: Type = &lt;expr&gt;</code> declaration.</td></tr><tr><td><code>PropDecl</code></td><td><code>&#123; name; valueType?; required; default &#125;</code> — a typed prop declaration.</td></tr><tr><td><code>SeoBlock</code></td><td><code>Record&lt;string, string&gt;</code> from the <code>seo &#123; ... &#125;</code> block.</td></tr><tr><td><code>ApiBlock</code></td><td><code>&#123; method; path; body &#125;</code> — a top-level <code>api METHOD /path &#123; ... &#125;</code>.</td></tr><tr><td><code>DataApiBlock</code></td><td><code>&#123; mode; name; method; path; body &#125;</code> — an <code>api</code> inside an <code>ssr</code>/<code>client</code> block.</td></tr><tr><td><code>DataMode</code></td><td>`&quot;ssr&quot; \</td><td>&quot;client&quot;`.</td></tr><tr><td><code>ModeFunctionsBlock</code></td><td><code>&#123; mode; body &#125;</code> — a <code>functions &#123; ... &#125;</code> inside an <code>ssr</code>/<code>client</code> block.</td></tr><tr><td><code>RealtimeBlock</code></td><td><code>&#123; name; handlers &#125;</code> — a <code>realtime &lt;name&gt; &#123; on evt(args) &#123; ... &#125; &#125;</code> block.</td></tr></tbody></table></div>
<h3 id="usage">Usage</h3>
<p>Compile a page:</p>
<pre data-language="ts"><code>import &#123; compileWireFile &#125; from &quot;@wrnexus/compiler&quot;;
<pre data-language="ts"><code>import &#123; compileWrnFile &#125; from &quot;@wrnexus/compiler&quot;;
const ts = compileWireFile(`
const ts = compileWrnFile(`
page Home &#123;
state count = 0
seo &#123; title = &quot;Home&quot; description = &quot;Welcome&quot; &#125;
@@ -143,10 +143,9 @@ lx.next(); // &#123; type: &quot;lbrace&quot;, value: &quot;&#123;&quot;, pos: 1
<h3 id="requirements-notes">Requirements / Notes</h3>
<ul>
<li>Pure TypeScript with no runtime dependencies; runs under <strong>Bun</strong> as part of the WRNexusJS toolchain (Node is not supported).</li>
<li>Generated modules target WRNexusJS runtime primitives (<code>data-scope</code>, <code>data-text</code>, <code>data-on-*</code>, <code>data-for</code>, <code>data-component</code>, <code>__wrnexus*</code>/<code>__wire*</code> helpers) — consume the output within a WRNexusJS app, e.g. via <code>@wrnexus/core</code>'s dev loader.</li>
</ul></section><section id="api" class="api"><h2>Complete TypeScript API</h2><p>Generated from the exact installed package declarations.</p><pre data-language="typescript"><code>import &#123; PageAst as PageAst$1, StructuredImportDecl, WrnDiagnostic &#125; from '@wrnexus/syntax';
<li>Generated modules target WRNexusJS runtime primitives (<code>data-scope</code>, <code>data-text</code>, <code>data-on-*</code>, <code>data-for</code>, <code>data-component</code>, <code>__wrnexus*</code>/<code>__wrn*</code> helpers) — consume the output within a WRNexusJS app, e.g. via <code>@wrnexus/core</code>'s dev loader.</li>
</ul></section><section id="api" class="api"><h2>Complete TypeScript API</h2><p>Generated from the exact installed package declarations.</p><pre data-language="typescript"><code>import &#123; PageAst, StructuredImportDecl, WrnDiagnostic &#125; from '@wrnexus/syntax';
export &#123; ActionBlock, ApiBlock, Attr, ComputedDecl, DataApiBlock, DataMode, EffectBlock, EventDecl, FormatWrnOptions, LexError, Lexer, LoadBlock, ModeFunctionsBlock, OutputDecl, PageAst, ParseError, PropDecl, RealtimeBlock, RuntimeFunctionDecl, SeoBlock, StateDecl, StateRuntime, StoreKind, StructuredImportDecl, ViewNode, WrnDiagnostic, assertValidAst, diagnose, diagnosticFromError, eraseFunctionTypes, formatDiagnostic, formatWrn, inferredRuntimeType, parse, runtimeTypeOf &#125; from '@wrnexus/syntax';
import &#123; PageAst &#125; from '@wrnexus/syntax/parser';
/**
* Code generation: lower a `.wrn` AST to TypeScript that targets the framework's
@@ -165,11 +164,15 @@ import &#123; PageAst &#125; from '@wrnexus/syntax/parser';
* realtime &#123;..&#125; -&gt; export const websocket = &#123; evt(ws, ...args) &#123; b &#125; &#125;
*/
declare function generate(ast: PageAst): string;
interface GenerateOptions &#123;
/** Local names bound to .tsx island imports in this file. */
islands?: ReadonlySet&lt;string&gt;;
&#125;
declare function generate(ast: PageAst, options?: GenerateOptions): string;
interface ComponentContractMetadata &#123;
name: string;
kind: PageAst$1[&quot;kind&quot;];
kind: PageAst[&quot;kind&quot;];
props: Array&lt;&#123;
name: string;
type: string;
@@ -211,7 +214,7 @@ interface ComponentContractMetadata &#123;
namedImports: string[];
&#125;&gt;;
&#125;
declare function createComponentContract(ast: PageAst$1): ComponentContractMetadata;
declare function createComponentContract(ast: PageAst): ComponentContractMetadata;
interface RpcManifestEntry &#123;
id: string;
@@ -224,8 +227,8 @@ interface RpcManifestEntry &#123;
&#125;&gt;;
returnType: string;
&#125;
declare function rpcManifest(ast: PageAst$1): RpcManifestEntry[];
declare function generateServerFunctionsModule(ast: PageAst$1): string;
declare function rpcManifest(ast: PageAst): RpcManifestEntry[];
declare function generateServerFunctionsModule(ast: PageAst): string;
interface CompileTargets &#123;
server: string;
@@ -234,15 +237,30 @@ interface CompileTargets &#123;
contract: ReturnType&lt;typeof createComponentContract&gt;;
rpc: ReturnType&lt;typeof rpcManifest&gt;;
&#125;
declare function generateTargets(ast: PageAst$1): CompileTargets;
declare function generateTargets(ast: PageAst): CompileTargets;
declare function generateBrowserModule(ast: PageAst$1): string;
declare function generateBrowserModule(ast: PageAst): string;
declare function generateDeclarations(ast: PageAst$1): string;
/**
* Strip TypeScript from a generated browser module.
*
* A client function's body is emitted verbatim, so anything TypeScript-only
* inside one -- an annotated local, an `as` cast, a local interface -- reaches
* the browser module as TypeScript source. Codegen removes the types from the
* function's *signature*, which is what made this easy to miss: the emitted
* module looked transpiled, and only bodies carried types through.
*
* The artifact is written as `.mjs` and read back as plain JavaScript, so the
* failure surfaced as a syntax error pointing at generated code rather than at
* the `.wrn` line responsible.
*/
declare function stripBrowserTypes(code: string): string;
declare function generateStoreModule(ast: PageAst$1): string;
declare function generateDeclarations(ast: PageAst): string;
declare function generateStoreModule(ast: PageAst): string;
/** Standalone browser artifact for an imported `.wrn` store. */
declare function generateStoreBrowserModule(ast: PageAst$1): string;
declare function generateStoreBrowserModule(ast: PageAst): string;
type ImportMode = &quot;legacy&quot; | &quot;compatible&quot; | &quot;explicit&quot;;
interface ImportResolverOptions &#123;
@@ -253,6 +271,8 @@ interface ImportResolverOptions &#123;
interface ResolvedImport &#123;
declaration: StructuredImportDecl;
resolved?: string;
/** `.tsx` imports are React islands, not `.wrn` components. */
kind?: &quot;island&quot;;
diagnostic?: &#123;
code: string;
message: string;
@@ -281,6 +301,8 @@ interface RuntimeRequirements &#123;
kind: RouteExecutionKind;
canPrerender: boolean;
needsClientRuntime: boolean;
/** True when the route mounts a React island and must ship the island runtime. */
needsIslandRuntime: boolean;
needsServerRuntime: boolean;
hydrationStrategy: string | null;
reasons: string[];
@@ -302,12 +324,19 @@ interface OptimizationReport &#123;
serverOnlyModules: string[];
&#125;
/** Safe compile-time folding for literal conditional branches. */
declare function optimizeAst(ast: PageAst$1): &#123;
ast: PageAst$1;
declare function optimizeAst(ast: PageAst): &#123;
ast: PageAst;
eliminatedBranches: number;
&#125;;
declare function analyzeOptimizations(ast: PageAst$1): OptimizationReport;
declare function analyzeRuntimeRequirements(ast: PageAst$1): RuntimeRequirements;
declare function analyzeOptimizations(ast: PageAst): OptimizationReport;
/**
* A route containing a React island ships JavaScript and can no longer be
* classified as zero-JS static, so island presence must reach the classifier.
*/
declare function routeNeedsIslands(imports: ResolvedImport[]): boolean;
declare function analyzeRuntimeRequirements(ast: PageAst, options?: &#123;
hasIslands?: boolean;
&#125;): RuntimeRequirements;
type DeploymentRuntime = &quot;bun&quot; | &quot;node&quot; | &quot;edge&quot; | &quot;worker&quot; | &quot;service-worker&quot; | &quot;browser&quot;;
type RuntimeCapability = &quot;filesystem&quot; | &quot;tcp&quot; | &quot;process&quot; | &quot;websocket&quot; | &quot;crypto&quot; | &quot;streams&quot; | &quot;background-tasks&quot;;
@@ -360,6 +389,93 @@ declare class DependencyGraph &#123;
affected(file: string): string[];
&#125;
type IslandStrategy = &quot;only&quot; | &quot;load&quot; | &quot;visible&quot; | &quot;idle&quot;;
interface IslandDiagnostic &#123;
code: &quot;WRN-ISLAND-PROPS&quot;;
message: string;
severity: &quot;error&quot;;
&#125;
declare function parseIslandStrategy(directives: string[]): IslandStrategy;
/**
* Interprets an island attribute value with JSX semantics.
*
* `title=&quot;Revenue&quot;` is a string, `start=&#123;3&#125;` is a number, `flag` alone is
* `true`. Without this every prop arrives as a string, so `start=&#123;3&#125;` would be
* `&quot;3&quot;` and arithmetic in the island silently concatenates.
*
* Returns `dynamic` for a `&#123;…&#125;` value that is not JSON: such expressions are
* evaluated at runtime and cannot cross the serialization boundary.
*/
declare function islandPropValue(raw: string | undefined): &#123;
value: unknown;
&#125; | &#123;
dynamic: string;
&#125;;
declare function serializeIslandProps(componentName: string, props: Record&lt;string, unknown&gt;): &#123;
json: string;
&#125; | &#123;
diagnostic: IslandDiagnostic;
&#125;;
declare function renderIslandMarker(input: &#123;
name: string;
strategy: IslandStrategy;
propsJson: string;
&#125;): string;
/**
* Local binding names introduced by island imports.
*
* Codegen sees only component tag names, so it needs the set of names that came
* from `.tsx` imports to tell an island apart from a `.wrn` component.
*/
declare function islandNamesFrom(imports: Array&lt;&#123;
kind?: &quot;island&quot;;
declaration: &#123;
defaultImport?: string;
&#125;;
&#125;&gt;): Set&lt;string&gt;;
interface IslandInput &#123;
name: string;
sourcePath: string;
&#125;
interface IslandBuildResult &#123;
assets: Array&lt;&#123;
name: string;
hash: string;
path: string;
&#125;&gt;;
sharedChunks: string[];
&#125;
/**
* Generates the per-island browser entry.
*
* Never imports react-dom/server — islands are client-only.
*/
declare function generateIslandEntry(input: IslandInput): string;
declare function assertReactAvailable(appRoot: string): &#123;
code: &quot;WRN-ISLAND-REACT-MISSING&quot;;
message: string;
severity: &quot;error&quot;;
&#125; | null;
/**
* Bundles island entries. `splitting: true` is required so React is emitted
* once as a shared chunk rather than duplicated into every island.
*/
declare function buildIslands(input: &#123;
islands: IslandInput[];
outDir: string;
/**
* App root used to resolve the island mount runtime. When given, the runtime
* is emitted as `runtime.js` in the SAME build as the islands.
*
* This is not a convenience: building the runtime separately gives it its own
* copy of React, and a component rendered by one copy while importing hooks
* from another fails with &quot;Cannot read properties of null (reading
* 'useState')&quot;. One build with splitting keeps React in a single shared chunk.
*/
appRoot?: string;
&#125;): Promise&lt;IslandBuildResult&gt;;
/**
* @wrnexus/compiler — the `.wrn` language compiler.
*
@@ -369,26 +485,26 @@ declare class DependencyGraph &#123;
interface CompileResult &#123;
code: string;
ast: PageAst$1;
ast: PageAst;
/** Backward-compatible plain diagnostic messages. */
diagnostics: string[];
/** Structured diagnostics for editors, CI, and the DevToolbar. */
richDiagnostics: WrnDiagnostic[];
&#125;
/** Compile `.wrn` source into an Expo Router React Native screen. */
declare function compileNativeWireFile(source: string): string;
declare function compileNativeWrnFile(source: string): string;
/**
* Compile `.wrn` source into TypeScript source. Errors include a stable code,
* source location, code frame, and actionable hint whenever available.
*/
declare function compileWireFile(source: string, filePath?: string): string;
declare function compileWrnFile(source: string, filePath?: string): string;
/** Richer entry point returning the AST and structured diagnostics. */
declare function compile(source: string, filePath?: string): CompileResult;
export &#123; type CompilationCache, type CompilationCacheEntry, type CompilationCacheOptions, type CompileResult, DependencyGraph, type DeploymentRuntime, NativeCompileError, type OptimizationReport, type RouteExecutionKind, type RuntimeCapability, type RuntimeCapabilityDiagnostic, type RuntimeRequirements, analyzeOptimizations, analyzeRuntimeImports, analyzeRuntimeRequirements, compilationKey, compile, compileNativeWireFile, compileWireFile, createCompilationCache, createComponentContract, createWrnSourceMap, generate, generateBrowserModule, generateDeclarations, generateNative, generateServerFunctionsModule, generateStoreBrowserModule, generateStoreModule, generateTargets, optimizeAst, resolveWrnImport, resolveWrnImports, rpcManifest, runtimeCapabilities &#125;;
</code></pre></section><section id="examples" class="examples"><h2>Examples</h2><p>Copy-ready examples from the installed package documentation.</p><div class="example-grid"><article class="example-card"><h3>Compile a page</h3><pre data-language="ts"><code>import &#123; compileWireFile &#125; from &quot;@wrnexus/compiler&quot;;
export &#123; type CompilationCache, type CompilationCacheEntry, type CompilationCacheOptions, type CompileResult, DependencyGraph, type DeploymentRuntime, type IslandBuildResult, type IslandDiagnostic, type IslandInput, type IslandStrategy, NativeCompileError, type OptimizationReport, type RouteExecutionKind, type RuntimeCapability, type RuntimeCapabilityDiagnostic, type RuntimeRequirements, analyzeOptimizations, analyzeRuntimeImports, analyzeRuntimeRequirements, assertReactAvailable, buildIslands, compilationKey, compile, compileNativeWrnFile, compileWrnFile, createCompilationCache, createComponentContract, createWrnSourceMap, generate, generateBrowserModule, generateDeclarations, generateIslandEntry, generateNative, generateServerFunctionsModule, generateStoreBrowserModule, generateStoreModule, generateTargets, islandNamesFrom, islandPropValue, optimizeAst, parseIslandStrategy, renderIslandMarker, resolveWrnImport, resolveWrnImports, routeNeedsIslands, rpcManifest, runtimeCapabilities, serializeIslandProps, stripBrowserTypes &#125;;
</code></pre></section><section id="examples" class="examples"><h2>Examples</h2><p>Copy-ready examples from the installed package documentation.</p><div class="example-grid"><article class="example-card"><h3>Compile a page</h3><pre data-language="ts"><code>import &#123; compileWrnFile &#125; from &quot;@wrnexus/compiler&quot;;
const ts = compileWireFile(`
const ts = compileWrnFile(`
page Home &#123;
state count = 0
seo &#123; title = &quot;Home&quot; description = &quot;Welcome&quot; &#125;
@@ -414,9 +530,9 @@ const lx = new Lexer(&quot;page Home &#123;&quot;);
lx.next(); // &#123; type: &quot;ident&quot;, value: &quot;page&quot;, pos: 0 &#125;
lx.next(); // &#123; type: &quot;ident&quot;, value: &quot;Home&quot;, pos: 5 &#125;
lx.next(); // &#123; type: &quot;lbrace&quot;, value: &quot;&#123;&quot;, pos: 10 &#125;</code></pre></article></div></section></article></div>
<aside class="on-this-page"><h2>On this page</h2><nav><a class="toc-level-2" href="#guide">Guide</a><a class="toc-level-3" href="#partial-static-rendering">Partial-static rendering</a><a class="toc-level-3" href="#server-actions">Server actions</a><a class="toc-level-3" href="#overview">Overview</a><a class="toc-level-3" href="#api">API</a><a class="toc-level-4" href="#compilewirefile-source-string-string">compileWireFile(source: string): string</a><a class="toc-level-4" href="#compile-source-string-compileresult">compile(source: string): CompileResult</a><a class="toc-level-4" href="#parse-source-string-pageast">parse(source: string): PageAst</a><a class="toc-level-4" href="#generate-ast-pageast-string">generate(ast: PageAst): string</a><a class="toc-level-4" href="#lexer">Lexer</a><a class="toc-level-4" href="#errors">Errors</a><a class="toc-level-4" href="#ast-types">AST types</a><a class="toc-level-3" href="#usage">Usage</a><a class="toc-level-3" href="#the-wrn-language-as-parsed">The .wrn language (as parsed)</a><a class="toc-level-3" href="#requirements-notes">Requirements / Notes</a><a class="toc-level-2" href="#api">Complete API</a><a class="toc-level-2" href="#examples">Examples</a></nav></aside>
<aside class="on-this-page"><h2>On this page</h2><nav><a class="toc-level-2" href="#guide">Guide</a><a class="toc-level-3" href="#partial-static-rendering">Partial-static rendering</a><a class="toc-level-3" href="#server-actions">Server actions</a><a class="toc-level-3" href="#overview">Overview</a><a class="toc-level-3" href="#api">API</a><a class="toc-level-4" href="#compilewrnfile-source-string-string">compileWrnFile(source: string): string</a><a class="toc-level-4" href="#compile-source-string-compileresult">compile(source: string): CompileResult</a><a class="toc-level-4" href="#parse-source-string-pageast">parse(source: string): PageAst</a><a class="toc-level-4" href="#generate-ast-pageast-string">generate(ast: PageAst): string</a><a class="toc-level-4" href="#lexer">Lexer</a><a class="toc-level-4" href="#errors">Errors</a><a class="toc-level-4" href="#ast-types">AST types</a><a class="toc-level-3" href="#usage">Usage</a><a class="toc-level-3" href="#the-wrn-language-as-parsed">The .wrn language (as parsed)</a><a class="toc-level-3" href="#requirements-notes">Requirements / Notes</a><a class="toc-level-2" href="#api">Complete API</a><a class="toc-level-2" href="#examples">Examples</a></nav></aside>
</main>
<footer><div class="footer-brand"><span class="footer-mark" aria-hidden="true">W</span><p><strong>WRNexusJS 0.8.8</strong><span>Complete API documentation generated from installed package declarations.</span></p></div><nav aria-label="Footer"><a href="/packages">All packages</a><a href="/getting-started">Get started</a><a href="/security">Security</a><a href="/support">Support</a><a href="/llms.txt">AI guide</a></nav><p class="footer-meta">Private Developer Preview · Bun-native</p></footer>
<footer><div class="footer-brand"><span class="footer-mark" aria-hidden="true">W</span><p><strong>WRNexusJS 0.8.72</strong><span>Complete API documentation generated from installed package declarations.</span></p></div><nav aria-label="Footer"><a href="/packages">All packages</a><a href="/getting-started">Get started</a><a href="/security">Security</a><a href="/support">Support</a><a href="/llms.txt">AI guide</a></nav><p class="footer-meta">Private Developer Preview · Bun-native</p></footer>
</div>
}
}