64 lines
3.2 KiB
Markdown
64 lines
3.2 KiB
Markdown
# WRNexusJS
|
|
|
|
WRNexusJS is a compiler-driven, SSR-first, Bun-native full-stack framework for building secure, fast, maintainable applications with `.wrn` pages, layouts, components, stores, server functions, client functions, typed outputs, APIs, validation, authentication, realtime rooms, and production tooling.
|
|
|
|
Current framework version: **0.8.0**
|
|
|
|
## Core principles
|
|
|
|
- Secure by default with CSP, CSRF, safe serialization, URL policies, request limits, SSRF protection, secret scanning, and release gates.
|
|
- Performance-first SSR with zero framework JavaScript for static pages and selective hydration for interactive pages.
|
|
- One compiler-understood `.wrn` model for markup, props, state, outputs, and runtime-specific functions.
|
|
- Backward-compatible package upgrades with migrations, generated references, validation scripts, and private publishing controls.
|
|
- Package kits that give developers public helpers, package tests, documentation, and complete UI blocks where a package has a developer-facing interface.
|
|
|
|
## Quick start
|
|
|
|
```bash
|
|
bun install
|
|
bun run validate:0.8
|
|
bun run check
|
|
bun run dev
|
|
```
|
|
|
|
Create or upgrade a project:
|
|
|
|
```bash
|
|
bunx @wrnexus/cli@0.8.0 create my-app
|
|
bunx @wrnexus/cli@0.8.0 update --version=0.8.0 --report
|
|
```
|
|
|
|
## Package kits in 0.8
|
|
|
|
All 39 framework packages expose a documented helper/API surface and package tests. UI-facing packages additionally own complete `.wrn` blocks composed from `@wrnexus/ui`:
|
|
|
|
- `@wrnexus/auth` — complete account, sign-in, sign-up, MFA, passkey, recovery, device, provider, and security blocks.
|
|
- `@wrnexus/captcha` — challenge, field, status, extraction, verification, response, and context helpers.
|
|
- `@wrnexus/i18n` — recursive locale loading, fallback chains, request resolution, SSR/browser translations, language controls, and formatters.
|
|
- `@wrnexus/image` — responsive picture plans, secure loaders, placeholders, preload hints, audits, and image blocks.
|
|
- `@wrnexus/realtime` — typed messages, room connections, presence, typing, metadata, composer, status, and message blocks.
|
|
- `@wrnexus/uploader` — upload attributes, result validation, formatting, dropzone, and status blocks.
|
|
- `@wrnexus/validation` — parse/throw helpers, consistent error responses, summaries, and field errors.
|
|
- `@wrnexus/ui` — the complete shared design-system component catalog.
|
|
|
|
Infrastructure packages remain helper/API-only so database, encryption, security, compiler, server, and build packages do not pull browser UI into production server code.
|
|
|
|
## Security note for encrypted HTTP bodies
|
|
|
|
`@wrnexus/encryption` supports authenticated application-layer request and response envelopes with method, path, request-ID, timestamp, expiry, key-rotation, body-size, and replay binding.
|
|
|
|
This feature **does not replace HTTPS**. It is appropriate for service-to-service calls, native/mobile clients, controlled agents, or selected fields with server-managed keys. It cannot hide data from an end user when a browser receives the decryption key.
|
|
|
|
## Validation commands
|
|
|
|
```bash
|
|
bun run audit:packages
|
|
bun run test:package-kits
|
|
bun run validate:0.8
|
|
bun run security:framework
|
|
bun run sbom
|
|
bun run benchmark:framework
|
|
bun run validate:staging
|
|
bun run check
|
|
```
|