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:
1 parent
5c591ab7de
commit
b536b57447
105 files changed
+24822
-12503
No files matched your search
@@ -10,7 +10,7 @@ page wrnexushelpers {
|
||||
<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 wrnexushelpers {
|
||||
<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/helpers</span></nav><section class="doc-intro"><span class="eyebrow">Tooling · Package reference</span><h1>@wrnexus/helpers</h1><p>Safe Context URL helpers and forward-auth login redirects.</p><div class="doc-meta"><span>v0.8.8</span><span>Private registry</span><span>Tooling</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/helpers@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"><p>Safe convenience helpers for common WRNexusJS application flows. The package uses standard <code>Context</code>, <code>URL</code>, and <code>Response</code> values and has no runtime dependency beyond <code>@wrnexus/core</code>.</p>
|
||||
<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/helpers</span></nav><section class="doc-intro"><span class="eyebrow">Tooling · Package reference</span><h1>@wrnexus/helpers</h1><p>Safe Context URL helpers and forward-auth login redirects.</p><div class="doc-meta"><span>v0.8.9</span><span>Private registry</span><span>Tooling</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/helpers@0.8.9</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"><p>Safe convenience helpers for common WRNexusJS application flows. The package uses standard <code>Context</code>, <code>URL</code>, and <code>Response</code> values and has no runtime dependency beyond <code>@wrnexus/core</code>.</p>
|
||||
<pre data-language="bash"><code>bun add @wrnexus/helpers</code></pre>
|
||||
<p>The package is private, so the machine must be authenticated to the <code>wrnexus</code> npm organization.</p>
|
||||
<h3 id="usage">Usage</h3>
|
||||
@@ -66,6 +66,7 @@ export const GET = async (ctx: Context) => {
|
||||
<p>encoded <code>returnTo</code> parameter.</p>
|
||||
</ul>
|
||||
<p>For direct requests without gateway headers, URL helpers use <code>ctx.url</code>.</p></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 { Context } from '@wrnexus/core';
|
||||
import { Db } from '@wrnexus/db';
|
||||
|
||||
declare function appOrigin(appName: string): string;
|
||||
declare function appUrl(appName: string, path?: string): string;
|
||||
@@ -94,6 +95,59 @@ declare function safeJsonParse<T>(value: string, fallback: T): T;
|
||||
declare function clamp(value: number, min: number, max: number): number;
|
||||
declare function once<T extends (...args: any[]) => any>(fn: T): T;
|
||||
|
||||
declare class HttpError extends Error {
|
||||
readonly status: number;
|
||||
readonly details?: unknown | undefined;
|
||||
constructor(status: number, message: string, details?: unknown | undefined);
|
||||
}
|
||||
declare function subjectId(ctx: Pick<Context, "user">): string;
|
||||
declare function requireUser(ctx: Pick<Context, "user">): {
|
||||
id: string;
|
||||
user: unknown;
|
||||
};
|
||||
declare function requireParam(ctx: Pick<Context, "params">, name: string, options?: {
|
||||
integer?: boolean;
|
||||
positive?: boolean;
|
||||
}): string | number;
|
||||
declare function requireJson<T = Record<string, unknown>>(ctx: Pick<Context, "req">): Promise<T>;
|
||||
declare function requirePermission(ctx: Context, permission: string, resource?: unknown): Promise<void>;
|
||||
declare const json: {
|
||||
ok: <T>(value: T) => Response;
|
||||
created: <T>(value: T) => Response;
|
||||
noContent: () => Response;
|
||||
error: (status: number, message: string, details?: unknown) => Response;
|
||||
};
|
||||
type ApiHandler = (ctx: Context) => Response | Promise<Response>;
|
||||
/** Convert thrown HttpError values into the framework's standard JSON error shape. */
|
||||
declare function defineApiRoute(handler: ApiHandler): ApiHandler;
|
||||
declare function authorized(permission: string, handler: ApiHandler, resource?: (ctx: Context) => unknown | Promise<unknown>): ApiHandler;
|
||||
|
||||
interface ResourceDefinition<T extends Record<string, unknown>> {
|
||||
name: string;
|
||||
db: () => Db;
|
||||
table: string;
|
||||
id?: string;
|
||||
owner?: string;
|
||||
fields: readonly (keyof T & string)[];
|
||||
permissions?: {
|
||||
read?: string;
|
||||
readAny?: string;
|
||||
write?: string;
|
||||
writeAny?: string;
|
||||
};
|
||||
validate?: (input: unknown, mode: "create" | "update") => T | Promise<T>;
|
||||
serialize?: (row: T) => unknown;
|
||||
}
|
||||
interface ResourceHandlers {
|
||||
list(ctx: Context): Response | Promise<Response>;
|
||||
create(ctx: Context): Response | Promise<Response>;
|
||||
get(ctx: Context): Response | Promise<Response>;
|
||||
update(ctx: Context): Response | Promise<Response>;
|
||||
remove(ctx: Context): Response | Promise<Response>;
|
||||
}
|
||||
/** Build conventional owned CRUD handlers from one checked resource declaration. */
|
||||
declare function defineResource<T extends Record<string, unknown>>(definition: ResourceDefinition<T>): ResourceHandlers;
|
||||
|
||||
/**
|
||||
* @wrnexus/helpers — safe conveniences for common WRNexusJS application flows.
|
||||
*
|
||||
@@ -135,7 +189,7 @@ declare function getOriginalRequestOrigin(ctx: RequestContext, options?: Origina
|
||||
*/
|
||||
declare function redirectToLogin(ctx: RequestContext, loginUrl: string | URL, options?: LoginRedirectOptions): Response;
|
||||
|
||||
export { type AllowedHosts, type LoginRedirectOptions, type OriginalRequestOptions, type RequestContext, type RetryOptions, appOrigin, appUrl, backoffDelay, clamp, currentAppName, currentAppOrigin, getOriginalRequestMethod, getOriginalRequestOrigin, getOriginalRequestPath, getOriginalRequestUrl, once, redirectToLogin, retry, safeJsonParse, sleep, stableStringify, withTimeout, workspaceAppOrigins, workspaceRootDomain };
|
||||
export { type AllowedHosts, type ApiHandler, HttpError, type LoginRedirectOptions, type OriginalRequestOptions, type RequestContext, type ResourceDefinition, type ResourceHandlers, type RetryOptions, appOrigin, appUrl, authorized, backoffDelay, clamp, currentAppName, currentAppOrigin, defineApiRoute, defineResource, getOriginalRequestMethod, getOriginalRequestOrigin, getOriginalRequestPath, getOriginalRequestUrl, json, once, redirectToLogin, requireJson, requireParam, requirePermission, requireUser, retry, safeJsonParse, sleep, stableStringify, subjectId, withTimeout, workspaceAppOrigins, workspaceRootDomain };
|
||||
</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>Redirect an unauthenticated forward-auth request</h3><pre data-language="ts"><code>import type { Context } from "@wrnexus/core";
|
||||
import { redirectToLogin } from "@wrnexus/helpers";
|
||||
|
||||
@@ -162,7 +216,7 @@ export const GET = async (ctx: Context) => {
|
||||
};</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="#usage">Usage</a><a class="toc-level-4" href="#redirect-an-unauthenticated-forward-auth-request">Redirect an unauthenticated forward-auth request</a><a class="toc-level-4" href="#support-dynamic-tenant-domains">Support dynamic tenant domains</a><a class="toc-level-3" href="#api">API</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>
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user