Kudzu 0.8.18 - Explicit component ownership
Kudzu 0.8.18 gives state, setters, props, refs, IDs, and supported component specializations one ordered JSON-safe source result while preserving final route allocation and deploy behavior.
Highlights
- Retains explicit component ownership beside each compiled non-Worker build module.
- Records lexical state/setter slots, destructured props, refs, IDs, specializations, and source provenance.
- Resolves command signal ownership per state, including mixed parent/child and nested keyed handlers.
- Links specialized props to parent, reducer, custom-hook, and Context Provider signals.
- Keeps final state, ref, ID, conditional, and keyed allocation in
core.mjs. - Adds no public API, accepted syntax, VDOM, hydration, or browser component runtime.
Validation
npm run checkpasses with 133 generated pages and 2 interactive pages.npm testpasses 167/167.- Focused compiler tests and production build pass on Node 22.
- Ten representative ownership and capability fixtures retain matching file lists and output hashes.
- Worker graph remains 907 B raw / 475 B gzip.
- Window graph remains 12,148 B raw / 5,427 B gzip.
- The 21-run clean-build median remains within the 5% architecture gate.
- A packed 0.8.18 tarball installs, typechecks, and builds a clean generated starter.
Upgrade
npm install @kudzujs/core@^0.8.18create-kudzu remains 0.1.101 because its unchanged template already accepts @kudzujs/core@^0.8.15.