release: WRNexusJS 0.6.0
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# WRNexusJS v0.6.0 R7 test-cascade fixes
|
||||
|
||||
This revision addresses the 71 failures reported after running `bun run check` on R6.
|
||||
|
||||
## Root fixes
|
||||
|
||||
1. **Synchronous CSR hydration restored**
|
||||
- Scopes without a browser module hydrate immediately again.
|
||||
- The unresolved `__WRNEXUS_CLIENT_MODULE__` placeholder used by direct compiler/test rendering also hydrates inline behavior immediately.
|
||||
- Real resolved browser modules still load asynchronously before scope setup.
|
||||
|
||||
2. **Component event target selection corrected**
|
||||
- A scope with its own `data-wrn-events` now uses itself before searching descendants.
|
||||
|
||||
3. **Lifecycle validation restored**
|
||||
- Component lifecycle supports `mount`, `update`, and `unmount`.
|
||||
- Compatibility aliases `clientInit` and `dispose` map to mount/unmount.
|
||||
- Unknown component and store lifecycle hooks fail parsing.
|
||||
|
||||
4. **Browser binding collisions fixed**
|
||||
- Runtime names such as `output`, `server`, `props`, and `refs` are not generated as implicit state/prop aliases.
|
||||
- Function parameters may still intentionally use those names.
|
||||
|
||||
5. **Synchronous page exports preserved**
|
||||
- Pages remain synchronous unless imported stores require `await`.
|
||||
- This restores in-process WRN HMR module behavior.
|
||||
|
||||
6. **Store dispose lifecycle mutations fixed**
|
||||
- `dispose` now runs through the same internal mutation guard as initialization and hydration hooks.
|
||||
|
||||
7. **Typed UI contract tests updated**
|
||||
- Tests inspect parsed typed props and `outputs {}` declarations instead of matching legacy untyped declarations and `@event` lines.
|
||||
- Dropdown danger styling is asserted through its canonical `data-danger="true"` state.
|
||||
|
||||
8. **Component reference generation corrected**
|
||||
- Output payload parsing now supports nested parentheses and object/union types.
|
||||
- RangeSlider now documents `input`, `change`, `focus`, and `blur`.
|
||||
- FeatureGrid now includes the universal `size` and `color` props.
|
||||
|
||||
## Focused validation performed
|
||||
|
||||
- 250 WRN UI/showcase files parsed, generated, and browser-module syntax checked.
|
||||
- 108 UI browser modules generated without syntax errors.
|
||||
- Unknown lifecycle hook rejection passed.
|
||||
- Reserved output/prop browser codegen probe passed.
|
||||
- Synchronous non-store page generation probe passed.
|
||||
- Store clientInit/dispose mutation probe passed.
|
||||
- UI component reference exactly matches parsed public outputs.
|
||||
- Component reference regeneration is idempotent.
|
||||
- VS Code extension: 28 tests passed and all validation checks passed.
|
||||
- `node scripts/validate-0.6.mjs`: 15 passed, 0 failed; Bun warning only.
|
||||
|
||||
The complete Bun workspace test suite must still be run on a machine with installed dependencies.
|
||||
Reference in New Issue
Block a user