@kudzujs/core 0.17.3 → 0.17.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
|
|
|
14
14
|
|
|
15
15
|
> Experimental `0.17.x`: the compiler API and supported TSX surface may change.
|
|
16
16
|
|
|
17
|
-
**Current release: [0.17.
|
|
17
|
+
**Current release: [0.17.5](https://github.com/kudzujs/kudzu/releases/tag/v0.17.5).** List-owned effects now wait for row ownership initialization through an explicit ESM dependency. Delayed list loading no longer makes effects miss existing DOM refs. Chrome verifies current row values, stable IDs, uncontrolled inputs, state, cleanup and fresh clones. C2 adds 50 raw / 7 level-9 gzip bytes; project-app output is unchanged. Generator `create-kudzu@0.1.166` targets core `^0.17.5`. No speed improvement is claimed; startup, restoration and AI-cost/1.0 gates remain unresolved.
|
|
18
18
|
|
|
19
19
|
- [Documentation](https://kudzujs.cloud/docs)
|
|
20
20
|
- [Installation guide](https://kudzujs.cloud/docs#install)
|
|
@@ -18,6 +18,7 @@ function printEffectEntry(effects, output, handlerModules, assetsDirectory, runt
|
|
|
18
18
|
? `import * as __kRuntime from ${JSON.stringify(relativeModulePath(output, join(runtimeDirectory, runtimeName)))}\nconst { browserState, commitDom } = __kRuntime`
|
|
19
19
|
: `import { browserState, commitDom } from ${JSON.stringify(relativeModulePath(output, join(runtimeDirectory, runtimeName)))}`,
|
|
20
20
|
`import { createEffectContext } from ${JSON.stringify(relativeModulePath(output, join(runtimeDirectory, "kudzu-effect.js")))}`,
|
|
21
|
+
...(effects.some(effect => effect.list) ? [`import ${JSON.stringify(relativeModulePath(output, join(runtimeDirectory, "kudzu-list.js")))}`] : []),
|
|
21
22
|
...(hasDependencyExpressions ? [`import { evaluateCollectionExpression as __kEvaluateDependency } from ${JSON.stringify(relativeModulePath(output, join(runtimeDirectory, "kudzu-collection-selector.js")))}`] : []),
|
|
22
23
|
...(paramPath ? [`import ${JSON.stringify(relativeModulePath(output, join(assetsDirectory, paramPath)))}`] : []),
|
|
23
24
|
...modules.map((module, index) => `import * as __kEffectModule${index} from ${JSON.stringify(relativeModulePath(output, join(assetsDirectory, module.path)))}`)
|
|
@@ -181,19 +181,6 @@ function updateList(list) {
|
|
|
181
181
|
keys.add(token)
|
|
182
182
|
entries.push({ item, index, key, token, value: referenceOnly ? item : seededValue === undefined ? JSON.stringify(item) : seededValue })
|
|
183
183
|
}
|
|
184
|
-
if (list.items === undefined && !list.sourceEvaluator && list.parts.directFill && entries.length === list.roots.size) {
|
|
185
|
-
const roots = __KUDZU_LIST_STABLE_FAST_PATHS__ ? list.orderedRoots : [...list.roots.values()]
|
|
186
|
-
if (entries.every((entry, index) => list.roots.get(entry.token) === roots[index])) {
|
|
187
|
-
for (let index = 0; index < entries.length; index++) {
|
|
188
|
-
const entry = entries[index]
|
|
189
|
-
listItems.set(roots[index], entry.item)
|
|
190
|
-
if (__KUDZU_LIST_INDEXES__) listIndexes.set(roots[index], index)
|
|
191
|
-
if (!referenceOnly) list.values.set(entry.token, entry.value)
|
|
192
|
-
}
|
|
193
|
-
list.items = items
|
|
194
|
-
return
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
184
|
if (list.descriptor.key !== null && !list.descriptor.indexed && !list.descriptor.selector && (referenceOnly || list.values.size) && entries.every(entry => {
|
|
198
185
|
const root = list.roots.get(entry.token)
|
|
199
186
|
return !root || (referenceOnly ? listItems.get(root) === entry.item : list.values.get(entry.token) === entry.value)
|