create-foldkit-app 0.29.1 → 0.30.0

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.
Files changed (36) hide show
  1. package/dist/templates/examples/api-cache/package.json +2 -2
  2. package/dist/templates/examples/auth/package.json +2 -2
  3. package/dist/templates/examples/canvas-art/package.json +2 -2
  4. package/dist/templates/examples/charting/package.json +2 -2
  5. package/dist/templates/examples/counter/package.json +2 -2
  6. package/dist/templates/examples/counters/package.json +2 -2
  7. package/dist/templates/examples/crash-view/package.json +2 -2
  8. package/dist/templates/examples/embedding/package.json +2 -2
  9. package/dist/templates/examples/form/package.json +2 -2
  10. package/dist/templates/examples/generative-art/package.json +2 -2
  11. package/dist/templates/examples/interrupting-commands/package.json +2 -2
  12. package/dist/templates/examples/job-application/package.json +2 -2
  13. package/dist/templates/examples/job-application/src/view/preview.ts +1 -1
  14. package/dist/templates/examples/kanban/package.json +2 -2
  15. package/dist/templates/examples/managed-resource-layer/package.json +2 -2
  16. package/dist/templates/examples/map/package.json +2 -2
  17. package/dist/templates/examples/pixel-art/package.json +2 -2
  18. package/dist/templates/examples/query-sync/package.json +2 -2
  19. package/dist/templates/examples/route-transitions/package.json +2 -2
  20. package/dist/templates/examples/routing/package.json +2 -2
  21. package/dist/templates/examples/shopping-cart/package.json +2 -2
  22. package/dist/templates/examples/slow-warnings/package.json +2 -2
  23. package/dist/templates/examples/snake/package.json +2 -2
  24. package/dist/templates/examples/ssg/package.json +3 -3
  25. package/dist/templates/examples/ssr/package.json +3 -3
  26. package/dist/templates/examples/state-machine/package.json +2 -2
  27. package/dist/templates/examples/stopwatch/package.json +2 -2
  28. package/dist/templates/examples/todo/package.json +2 -2
  29. package/dist/templates/examples/ui-showcase/package.json +2 -2
  30. package/dist/templates/examples/view-transitions/package.json +2 -2
  31. package/dist/templates/examples/weather/package.json +2 -2
  32. package/dist/templates/examples/web-components/package.json +2 -2
  33. package/dist/templates/examples/websocket-chat/package.json +2 -2
  34. package/dist/templates/release.json +11 -11
  35. package/dist/templates/rendering/ssg/scripts/prerender.ts +49 -2
  36. package/package.json +5 -5
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*"
17
17
  },
18
18
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,11 +9,11 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
15
  "echarts": "^6.1.0",
16
- "effect": "4.0.0-rc.111",
16
+ "effect": "4.0.0-rc.112",
17
17
  "foldkit": "workspace:*"
18
18
  },
19
19
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*"
17
17
  },
18
18
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "clsx": "^2.1.1",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*"
17
17
  },
18
18
  "devDependencies": {
@@ -172,7 +172,7 @@ const groupSkillsByProficiency = (
172
172
  pipe(
173
173
  entries,
174
174
  Array.filter(entry => String.isNonEmpty(entry.name.value)),
175
- Array.groupBy(entry => entry.proficiency),
175
+ Array.groupBy<Skills.Entry.Model, string>(entry => entry.proficiency),
176
176
  Record.toEntries,
177
177
  Array.sort(proficiencyOrder),
178
178
  Array.map(([level, grouped]) => ({
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*",
17
17
  "fractional-indexing": "^3.2.0"
18
18
  },
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*",
17
17
  "maplibre-gl": "^5.24.0"
18
18
  },
@@ -10,10 +10,10 @@
10
10
  "bench": "vitest run --config vitest.bench.config.ts"
11
11
  },
12
12
  "dependencies": {
13
- "@effect/platform-browser": "4.0.0-rc.111",
13
+ "@effect/platform-browser": "4.0.0-rc.112",
14
14
  "@foldkit/ui": "workspace:*",
15
15
  "clsx": "^2.1.1",
16
- "effect": "4.0.0-rc.111",
16
+ "effect": "4.0.0-rc.112",
17
17
  "foldkit": "workspace:*"
18
18
  },
19
19
  "devDependencies": {
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*"
17
17
  },
18
18
  "devDependencies": {
@@ -9,8 +9,8 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
13
- "effect": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
+ "effect": "4.0.0-rc.112",
14
14
  "foldkit": "workspace:*"
15
15
  },
16
16
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,8 +9,8 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
13
- "effect": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
+ "effect": "4.0.0-rc.112",
14
14
  "foldkit": "workspace:*"
15
15
  },
16
16
  "devDependencies": {
@@ -9,8 +9,8 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
13
- "effect": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
+ "effect": "4.0.0-rc.112",
14
14
  "foldkit": "workspace:*"
15
15
  },
16
16
  "devDependencies": {
@@ -10,9 +10,9 @@
10
10
  "typecheck": "tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@effect/platform-browser": "4.0.0-rc.111",
14
- "@effect/platform-node": "4.0.0-rc.111",
15
- "effect": "4.0.0-rc.111",
13
+ "@effect/platform-browser": "4.0.0-rc.112",
14
+ "@effect/platform-node": "4.0.0-rc.112",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*"
17
17
  },
18
18
  "devDependencies": {
@@ -11,10 +11,10 @@
11
11
  "test": "vitest run"
12
12
  },
13
13
  "dependencies": {
14
- "@effect/platform-browser": "4.0.0-rc.111",
15
- "@effect/platform-node": "4.0.0-rc.111",
14
+ "@effect/platform-browser": "4.0.0-rc.112",
15
+ "@effect/platform-node": "4.0.0-rc.112",
16
16
  "@foldkit/ui": "workspace:*",
17
- "effect": "4.0.0-rc.111",
17
+ "effect": "4.0.0-rc.112",
18
18
  "foldkit": "workspace:*"
19
19
  },
20
20
  "devDependencies": {
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*"
17
17
  },
18
18
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*"
17
17
  },
18
18
  "devDependencies": {
@@ -9,10 +9,10 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "clsx": "^2.1.1",
15
- "effect": "4.0.0-rc.111",
15
+ "effect": "4.0.0-rc.112",
16
16
  "foldkit": "workspace:*"
17
17
  },
18
18
  "devDependencies": {
@@ -9,8 +9,8 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
13
- "effect": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
+ "effect": "4.0.0-rc.112",
14
14
  "foldkit": "workspace:*"
15
15
  },
16
16
  "devDependencies": {
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -9,11 +9,11 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
14
  "@shoelace-style/shoelace": "^2.20.1",
15
15
  "clsx": "^2.1.1",
16
- "effect": "4.0.0-rc.111",
16
+ "effect": "4.0.0-rc.112",
17
17
  "foldkit": "workspace:*",
18
18
  "vanilla-colorful": "^0.7.2"
19
19
  },
@@ -9,9 +9,9 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@effect/platform-browser": "4.0.0-rc.111",
12
+ "@effect/platform-browser": "4.0.0-rc.112",
13
13
  "@foldkit/ui": "workspace:*",
14
- "effect": "4.0.0-rc.111",
14
+ "effect": "4.0.0-rc.112",
15
15
  "foldkit": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "channel": "stable",
4
- "sourceCommit": "aafef6783aece18b85bf54919353a70b4e895e19",
4
+ "sourceCommit": "e7394af1026fa87f10fab2b35fab55e5848ce602",
5
5
  "packages": {
6
- "create-foldkit-app": "0.29.1",
7
- "@foldkit/devtools": "0.151.0",
8
- "@foldkit/devtools-mcp": "0.17.0",
9
- "foldkit": "0.151.0",
10
- "@foldkit/markdown": "0.6.0",
6
+ "create-foldkit-app": "0.30.0",
7
+ "@foldkit/devtools": "0.152.0",
8
+ "@foldkit/devtools-mcp": "0.18.0",
9
+ "foldkit": "0.152.0",
10
+ "@foldkit/markdown": "0.7.0",
11
11
  "@foldkit/oxlint-plugin": "0.8.0",
12
- "@foldkit/ui": "0.151.0",
13
- "@foldkit/vite-plugin": "0.17.0"
12
+ "@foldkit/ui": "0.152.0",
13
+ "@foldkit/vite-plugin": "0.18.0"
14
14
  },
15
15
  "dependencies": {
16
- "@foldkit/devtools": "0.151.0",
17
- "@foldkit/vite-plugin": "0.17.0",
18
- "@foldkit/devtools-mcp": "0.17.0",
16
+ "@foldkit/devtools": "0.152.0",
17
+ "@foldkit/vite-plugin": "0.18.0",
18
+ "@foldkit/devtools-mcp": "0.18.0",
19
19
  "@foldkit/oxlint-plugin": "0.8.0",
20
20
  "@trivago/prettier-plugin-sort-imports": "^6.0.2",
21
21
  "@types/node": "^25.9.3",
@@ -12,11 +12,58 @@ const PROJECT_DIR = resolve(SCRIPT_DIR, '..')
12
12
  const CLIENT_DIR = resolve(PROJECT_DIR, 'dist/client')
13
13
  const SERVER_ENTRY_PATH = resolve(PROJECT_DIR, 'dist/server/entry.server.js')
14
14
  const SITE_ORIGIN = 'https://example.com'
15
+ const INDEX_PATH = resolve(CLIENT_DIR, 'index.html')
16
+ const TEMPLATE_COPY_PATH = resolve(
17
+ PROJECT_DIR,
18
+ 'node_modules/.cache/foldkit/prerender-template.html',
19
+ )
20
+ const CONTAINER_ID = 'root'
21
+ const CONTAINER_PLACEHOLDER = `<div id="${CONTAINER_ID}"></div>`
15
22
 
16
23
  const loadServerEntry: Effect.Effect<typeof ServerEntry> = Effect.promise(
17
24
  () => import(pathToFileURL(SERVER_ENTRY_PATH).href),
18
25
  )
19
26
 
27
+ // NOTE: the generated `/` is written over `index.html`, which is also where
28
+ // the client build leaves the template, so reading the template from that file
29
+ // works once and then reads back a page whose placeholder is already replaced.
30
+ // The built file is authoritative while it still holds the placeholder, and
31
+ // the cached copy it leaves behind is what lets a re-run against one client
32
+ // build generate the same pages. The placeholder is the condition
33
+ // `injectIntoTemplate` itself enforces, so a static render, which carries no
34
+ // hydration stamp, is covered by the same test.
35
+ const readTemplate = Effect.gen(function* () {
36
+ const fs = yield* FileSystem.FileSystem
37
+
38
+ const isBuilt = yield* fs.exists(INDEX_PATH)
39
+ if (!isBuilt) {
40
+ return yield* Effect.die(
41
+ new Error(
42
+ `Cannot prerender without a client build: "${INDEX_PATH}" does not exist.`,
43
+ ),
44
+ )
45
+ }
46
+
47
+ const builtIndex = yield* fs.readFileString(INDEX_PATH)
48
+ const isTemplate = builtIndex.includes(CONTAINER_PLACEHOLDER)
49
+ if (isTemplate) {
50
+ yield* fs.makeDirectory(dirname(TEMPLATE_COPY_PATH), { recursive: true })
51
+ yield* fs.writeFileString(TEMPLATE_COPY_PATH, builtIndex)
52
+ return builtIndex
53
+ }
54
+
55
+ const hasTemplateCopy = yield* fs.exists(TEMPLATE_COPY_PATH)
56
+ if (!hasTemplateCopy) {
57
+ return yield* Effect.die(
58
+ new Error(
59
+ `Cannot prerender: "${INDEX_PATH}" no longer holds the ${CONTAINER_PLACEHOLDER} placeholder, and no copy of the template remains. Run the client build again.`,
60
+ ),
61
+ )
62
+ }
63
+
64
+ return yield* fs.readFileString(TEMPLATE_COPY_PATH)
65
+ })
66
+
20
67
  const outputFileFor = (path: string): string => {
21
68
  const url = new URL(path, SITE_ORIGIN)
22
69
  if (url.origin !== SITE_ORIGIN || url.pathname !== path) {
@@ -25,13 +72,13 @@ const outputFileFor = (path: string): string => {
25
72
  )
26
73
  }
27
74
  return path === '/'
28
- ? resolve(CLIENT_DIR, 'index.html')
75
+ ? INDEX_PATH
29
76
  : resolve(CLIENT_DIR, path.slice(1), 'index.html')
30
77
  }
31
78
 
32
79
  const program = Effect.gen(function* () {
33
80
  const fs = yield* FileSystem.FileSystem
34
- const template = yield* fs.readFileString(resolve(CLIENT_DIR, 'index.html'))
81
+ const template = yield* readTemplate
35
82
  const serverEntry = yield* loadServerEntry
36
83
 
37
84
  for (const path of serverEntry.prerenderPaths) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-foldkit-app",
3
- "version": "0.29.1",
3
+ "version": "0.30.0",
4
4
  "description": "Create Foldkit applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -11,15 +11,15 @@
11
11
  "dist"
12
12
  ],
13
13
  "dependencies": {
14
- "@effect/platform-node": "4.0.0-rc.111",
15
- "@effect/platform-node-shared": "4.0.0-rc.111",
14
+ "@effect/platform-node": "4.0.0-rc.112",
15
+ "@effect/platform-node-shared": "4.0.0-rc.112",
16
16
  "chalk": "^5.6.2",
17
- "effect": "4.0.0-rc.111",
17
+ "effect": "4.0.0-rc.112",
18
18
  "rimraf": "^6.1.3",
19
19
  "typescript": "^6.0.3"
20
20
  },
21
21
  "devDependencies": {
22
- "@effect/vitest": "4.0.0-rc.111",
22
+ "@effect/vitest": "4.0.0-rc.112",
23
23
  "@types/node": "^25.9.3",
24
24
  "vitest": "^4.1.9"
25
25
  },