29 lines
1.5 KiB
Markdown
29 lines
1.5 KiB
Markdown
# WRNexusJS v0.6.0 R8 UI compile fixes
|
|
|
|
R8 fixes the remaining UI test cascade reported after R7.
|
|
|
|
## Root causes
|
|
|
|
1. Readonly-prop diagnostics treated comparison operators such as `===` as assignments.
|
|
2. Text inside JavaScript string literals, including selectors such as `input[name='...']`, was scanned as executable assignment syntax.
|
|
3. Function parameters that intentionally shadowed prop names were treated as mutations of those props.
|
|
4. `component-catalog.json` did not contain four bundled declarations even though the generated component reference did.
|
|
|
|
## Changes
|
|
|
|
- Added JavaScript trivia masking before readonly-prop mutation analysis.
|
|
- Assignment recognition now distinguishes `=`, compound assignments, `++`, and `--` from `==`, `===`, `=>`, and comparisons.
|
|
- `props.name = ...` is still rejected.
|
|
- Bare prop assignment is ignored when the name is a function parameter or local variable.
|
|
- Syntax and typecheck packages now share the same readonly-prop mutation detector.
|
|
- Component catalog generation now includes every bundled component while preserving existing metadata.
|
|
- Added R8 validation gates that compile all 108 UI components, verify native attribute forwarding, and compare catalog/reference declarations.
|
|
|
|
## Focused validation
|
|
|
|
- 108/108 UI components compile.
|
|
- 108/108 UI components include native attribute forwarding.
|
|
- Component catalog: 108 declarations.
|
|
- Component reference: 108 declarations.
|
|
- Generated showcase: 108 detail pages, 417 demos, 11 categories.
|