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
+8 -1
View File
@@ -315,11 +315,16 @@ identifiers, member/index access, calls, arrays/objects, `+ - * / %`, comparison
| `data-scope` | `data-scope="count: 0, name: 'x'"` | Declares reactive state on a subtree. The compiler emits this automatically when a page/component has state. A binding is owned by its **nearest** `data-scope` ancestor (nesting is safe). |
| `data-on-<event>` | `data-on-click="count++"` | Event handler (the compiled form of `@event`). |
| `data-text` | `data-text="count * 2"` | `textContent` follows the expression. Emitted by state interpolation; you can also handwrite it. |
| `data-show` | `data-show="open"` | Toggles `display` on truthiness. **Handauthored** (no `{}` sugar). |
| `data-show` | `data-show="open"` | Toggles visibility while preserving interactive state. **Hand-authored** (no `{}` sugar). |
| `data-for` | `data-for="item in items"`, optionally `key item.id` or `data-key="item.id"` | Repeats the element per list item. A stable key preserves DOM identity during reorder; unkeyed loops retain legacy full rerendering. Inside, item/index locals work in bindings and handlers. **Hand-authored.** |
| `data-component` | `data-component="counter"` | Mounts a component (serverrendered, then hydrated). See §12. |
| `data-slot` | `<div data-slot="header">…</div>` | Fills a named `<slot name="header">` of a component (see §8). |
`{#if}` and `<Component is={...}>` keep inactive elements out of the live DOM. `data-show` keeps
stateful controls mounted and only changes visibility. Client-side conditions are not
authorization: anything delivered to the browser can be recovered by the user. Enforce permissions
in server loaders and API handlers, and never send an unauthorized branch's sensitive data.
Example — a reactive list you write by hand:
```
@@ -1283,6 +1288,8 @@ wrnexus help | --help | -h
import type { AppConfig } from "@wrnexus/styles";
const config: AppConfig = {
compatibilityDate: "2026-08-02",
frameworkBehaviour: 1,
head: [ '<link rel="stylesheet" href="…">' ], // string | string[] → appended to every <head>
seo: { // SeoConfig (global defaults, merged per page)