release: WRNexusJS 0.8.0
Quality / quality (ubuntu-latest) (push) Failing after 21s
Quality / quality (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-08-02 23:18:51 +05:30
parent 87507edf59
commit 586a6db8ff
625 changed files with 243608 additions and 11210 deletions
+9 -1
View File
@@ -66,6 +66,12 @@ interface RunningServer {
In development, `startServer` also connects `app/db/migrations` (and `app/db/<name>/migrations`) and auto-applies migrations, then starts an in-process file watcher. CSS edits hot-swap live. Page, component, layout, API, middleware, realtime, schema, locale, and public-asset edits invalidate only their cached modules, rescan routes where necessary, and morph fresh HTML through the existing HMR WebSocket. The server process and active gateway stay running.
`getWrnCompileMetrics()` exposes cumulative content-addressed compiler cache
`hits`, `misses`, successful `compilations`, `errors`, `totalDurationMs`, and
`lastDurationMs` for the DevToolbar or custom diagnostics. Tests and embedded
servers can call `resetWrnCompileMetrics()` to establish a fresh measurement
window.
### `createHandlers(deps)`
The core runtime shared by dev and prod. It handles CORS preflight, `/healthz` and `/__wrnexus/health`, request-body size limits (413), HMR socket upgrades (`/__wrnexus/hmr`), realtime WebSocket upgrades (`defineRoom` default export or a raw `websocket` export), the middleware pipeline, API routes (`/api/*`), framework assets (`/__wrnexus/*`), public assets, and full SSR page rendering (component mounts, layouts, slots, i18n markers, per-page script selection, ETag/304, gzip).
@@ -296,7 +302,9 @@ Pages get only the scripts they use: `nav.js` always, `reactive.js` when a page
- **Bun-only.** Uses `Bun.serve` (HTTP + WebSocket), `Bun.file`, and `Bun.gzipSync`. The full app also relies on `bun:sqlite` / `Bun.SQL` via `@wrnexus/db`.
- Orchestrates the whole framework: `@wrnexus/core` (context, security, realtime registry), `@wrnexus/router`, `@wrnexus/ssr` (`renderDocument`), `@wrnexus/csr` (client runtimes), `@wrnexus/compiler` (`.wrn` → TS), `@wrnexus/styles`, `@wrnexus/ui`, `@wrnexus/validation`, `@wrnexus/i18n`, `@wrnexus/db`, and `@wrnexus/pubsub` (Redis-backed cross-process realtime).
- `.wrn` files are compiled to TypeScript into a hidden sibling `.wrnexus/` cache dir and dynamically imported; the module cache means each edited server module needs a fresh process (dev) — hence the restart-on-change model.
- `.wrn` files compile into a content-addressed hidden `.wrnexus/` cache. Targeted
invalidation gives changed modules a fresh import identity without restarting
the development server.
- Responses are gzipped when the client accepts it and the body is a buffered, compressible payload ≥ 1 KB; streaming/SSE responses opt out via `Cache-Control: no-transform`.
</content>
+38 -19
View File
@@ -1,9 +1,25 @@
{
"name": "@wrnexus/dev-server",
"version": "0.7.0",
"version": "0.8.0",
"type": "module",
"description": "@wrnexus/dev-server — part of the WrNexus framework.",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://git.workroot.in/WorkRoot/WRNexusJS.git",
"directory": "packages/dev-server"
},
"homepage": "https://wrnexusjs.dev/packages/dev-server",
"bugs": {
"url": "https://git.workroot.in/WorkRoot/WRNexusJS/issues"
},
"keywords": [
"wrnexus",
"bun",
"typescript",
"dev-server"
],
"sideEffects": false,
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -25,25 +41,28 @@
}
},
"dependencies": {
"@wrnexus/core": "^0.7.0",
"@wrnexus/dev-toolbar": "^0.7.0",
"@wrnexus/router": "^0.7.0",
"@wrnexus/ssr": "^0.7.0",
"@wrnexus/csr": "^0.7.0",
"@wrnexus/compiler": "^0.7.0",
"@wrnexus/styles": "^0.7.0",
"@wrnexus/ui": "^0.7.0",
"@wrnexus/validation": "^0.7.0",
"@wrnexus/i18n": "^0.7.0",
"@wrnexus/db": "^0.7.0",
"@wrnexus/pubsub": "^0.7.0",
"@wrnexus/uploader": "^0.7.0",
"@wrnexus/plugin": "^0.7.0",
"@wrnexus/store": "^0.7.0",
"@wrnexus/security": "^0.7.0",
"@wrnexus/observability": "^0.7.0"
"@wrnexus/core": "^0.8.0",
"@wrnexus/dev-toolbar": "^0.8.0",
"@wrnexus/router": "^0.8.0",
"@wrnexus/ssr": "^0.8.0",
"@wrnexus/csr": "^0.8.0",
"@wrnexus/compiler": "^0.8.0",
"@wrnexus/styles": "^0.8.0",
"@wrnexus/ui": "^0.8.0",
"@wrnexus/validation": "^0.8.0",
"@wrnexus/i18n": "^0.8.0",
"@wrnexus/db": "^0.8.0",
"@wrnexus/pubsub": "^0.8.0",
"@wrnexus/uploader": "^0.8.0",
"@wrnexus/plugin": "^0.8.0",
"@wrnexus/store": "^0.8.0",
"@wrnexus/security": "^0.8.0",
"@wrnexus/observability": "^0.8.0",
"@wrnexus/cache": "^0.8.0",
"@wrnexus/pwa": "^0.8.0"
},
"files": [
"dist"
"dist",
"README.md"
]
}