Files
WRNexusJS/VALIDATION-0.6.0.md
T
2026-08-01 06:50:37 +05:30

109 lines
6.0 KiB
Markdown

# WRNexusJS 0.6.0 validation
This archive is a **developer test build** assembled from `WRNexusJS(4).zip`.
Bun is not installed in the packaging environment, so the complete Bun suite was not executed here.
## Validation completed in the packaging environment
- 33 `packages/*` workspaces are present and aligned to `0.6.0`.
- Root package, VS Code extension, managed CAPTCHA service, release script, and Bun lock metadata are aligned to `0.6.0`.
- Focused strict TypeScript checks passed for syntax, compiler targets, CSR helpers, dev-server pipeline integration, SSR/RPC, CLI migration, store, and typecheck sources.
- Added v0.6 contract tests compile under TypeScript with a local `bun:test` declaration.
- 108 UI component files and 142 showcase page/layout files parse successfully: 250 `.wrn` files, zero parser failures.
- All 108 UI components use classified client/server/shared functions; no application `$emit`, legacy `@event`, `$event`, or `event.detail` usage remains in `packages/ui/components`.
- Showcase generation completed with 108 component detail pages, 417 live demos, 11 component categories, and 8 v0.6 language/runtime guide pages.
- Generated showcase files contain no unintended forced `open=true` or `defaultOpen=true` overlay state.
- Reactive and navigation browser runtimes pass `node --check` after extraction from their TypeScript string modules.
- Repository JSON files and JavaScript/MJS syntax checks pass through `scripts/validate-0.6.mjs`.
- The v0.6 migration converts the included legacy fixture, reports unresolved inference safely, parses the result, and is idempotent on a second run.
- Manual probes passed for typed RPC input rejection, per-request SSR store isolation, server-state exclusion, imported-store typing, imported component diagnostics, standalone browser store generation, and browser store URL rewriting in the dev-server pipeline.
## Required local validation
Run from the extracted repository:
```powershell
bun install
bun run validate:0.6
bun run check
bun run scripts/generate-ui-component-reference.mjs
bun run --cwd examples/component-showcase generate
bun run --cwd examples/component-showcase test
bun run --cwd examples/component-showcase build
```
Also run an existing-project upgrade test before publishing:
```powershell
wrnexus update --dry-run --report
wrnexus update
bun run check
```
`bun run check` on a Bun-enabled machine remains the authoritative release gate for repository type checking, linting, tests, and formatting.
## Focused blocker-fix validation
The seven issues found during specification validation were corrected after the initial developer build:
- All 108 generated UI browser modules pass JavaScript syntax validation, including components with a `class` prop and functions whose parameters overlap framework binding names.
- Generated browser stores successfully call typed server actions in a live mocked-browser probe.
- All UI output declarations are concrete; no `unknown` remains inside any `outputs {}` contract.
- Legacy, compatible, and explicit import modes were exercised against the dev-server compile pipeline.
- Persisted store migrations and validation were executed in a restore/write probe.
- Store HMR preserved compatible state and reported added/removed fields.
- RPC manifests excluded unreferenced server-only functions.
- VS Code Node tests remain green: 28 passed.
See `FIXES-0.6.0-ISSUES-1-7.md` for the exact fixes and results.
## R7 focused validation
- 250 UI/showcase `.wrn` files parsed and generated successfully.
- 250 generated browser targets passed JavaScript syntax checks.
- Unknown lifecycle hook rejection passed.
- Reserved output/prop binding generation passed.
- Non-store page synchronous generation passed.
- Store client initialization and dispose mutation probes passed.
- UI component reference matched parsed outputs for all 108 components.
- VS Code extension: 28 tests passed and all extension checks passed.
- Root validator: 15 passed, 0 failed; full Bun suite remains the local release gate.
## R8 focused validation
- All 108 bundled UI components compile.
- All 108 compiled components forward undeclared native attributes.
- Component catalog and component reference each contain all 108 declarations.
- Readonly-prop diagnostics ignore equality comparisons, selector strings, and shadowing parameters.
- Actual direct prop assignments still produce `WRN-PROP-READONLY`.
- Generated showcase contains 108 detail pages, 417 live demos, and 11 categories.
- VS Code extension tests: 28 passed, 0 failed.
- Root `validate:0.6`: 16 passed, 0 failed, with only the expected local Bun warning.
## R9 focused validation
- ToggleCount schedules all frames at absolute offsets within `animationDuration`, preventing cumulative timer drift.
- Stale animation frames are ignored using an animation token.
- Generated browser modules bind peer client/shared functions through `context.functions`.
- 108 UI browser targets generated and passed JavaScript syntax checks.
- 250 UI/showcase `.wrn` files parsed successfully.
- ToggleCount frame offsets for the regression fixture were `10, 20, 30, 40` ms and the final value was `10`.
- VS Code extension tests: 28 passed.
- Root v0.6 validator: 17 passed, 0 failed in the packaging environment, with only the expected Bun-unavailable warning.
The complete `bun run check` command remains the authoritative local release gate.
## R10 peer-function scoped-state correction
- Peer client/shared functions are invoked through synchronized scoped wrappers.
- Nested peer calls no longer have their state changes overwritten by stale outer aliases.
- Synchronous, asynchronous, and throwing peer calls refresh shared state correctly.
- Added an executable `validate:0.6` regression probe for the exact compiler failure.
## R12 release-reference validation
- Release verification uses `git diff --quiet` instead of `git status --short` for generated UI references.
- `component-catalog.json`, `component-reference.json`, and `COMPONENTS.md` are all covered.
- Generator ordering no longer depends on `localeCompare`.