create-foldkit-app 0.21.0 → 0.21.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-foldkit-app",
3
- "version": "0.21.0",
3
+ "version": "0.21.1",
4
4
  "description": "Create Foldkit applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -12,15 +12,15 @@
12
12
  "templates"
13
13
  ],
14
14
  "dependencies": {
15
- "@effect/platform-node": "4.0.0-beta.88",
16
- "@effect/platform-node-shared": "4.0.0-beta.88",
15
+ "@effect/platform-node": "4.0.0-beta.97",
16
+ "@effect/platform-node-shared": "4.0.0-beta.97",
17
17
  "chalk": "^5.6.2",
18
- "effect": "4.0.0-beta.88",
18
+ "effect": "4.0.0-beta.97",
19
19
  "rimraf": "^6.1.3",
20
20
  "typescript": "^6.0.3"
21
21
  },
22
22
  "devDependencies": {
23
- "@effect/vitest": "4.0.0-beta.88",
23
+ "@effect/vitest": "4.0.0-beta.97",
24
24
  "@types/node": "^25.9.3",
25
25
  "vitest": "^4.1.9"
26
26
  },
@@ -54,7 +54,7 @@ Use `evo()` from `foldkit/struct` for immutable model updates. Never spread or `
54
54
 
55
55
  Bind the `html` factory inside each view function with `const h = html<Message>()` (never at module level), then reach for `h.div`, `h.OnClick`, etc. off the returned record. Use `empty` (not `null`) for conditional rendering, `M.value().pipe(M.tagsExhaustive({...}))` for discriminated unions, and `Array.match` for lists that may be empty.
56
56
 
57
- Use `keyed` wrappers whenever the view branches into structurally different layouts based on route or model state. Without keying, the virtual DOM tries to diff one layout into another, causing stale DOM and event handler mismatches.
57
+ Key every view branch based on route or model state, even when the branch root tags differ. Key inline branch roots directly (never a wrapper introduced only to carry a key); when the branches delegate to other view functions, key a single wrapper at the branch site with the discriminating key, for example `h.keyed('div')(model.route._tag, [], [routeContent])`. Without keying, the virtual DOM tries to diff one layout into another, causing stale DOM and event handler mismatches.
58
58
 
59
59
  ### Commands
60
60