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.
- package/dist/templates/examples/api-cache/package.json +2 -2
- package/dist/templates/examples/auth/package.json +2 -2
- package/dist/templates/examples/canvas-art/package.json +2 -2
- package/dist/templates/examples/charting/package.json +2 -2
- package/dist/templates/examples/counter/package.json +2 -2
- package/dist/templates/examples/counters/package.json +2 -2
- package/dist/templates/examples/crash-view/package.json +2 -2
- package/dist/templates/examples/embedding/package.json +2 -2
- package/dist/templates/examples/form/package.json +2 -2
- package/dist/templates/examples/generative-art/package.json +2 -2
- package/dist/templates/examples/interrupting-commands/package.json +2 -2
- package/dist/templates/examples/job-application/package.json +2 -2
- package/dist/templates/examples/job-application/src/view/preview.ts +1 -1
- package/dist/templates/examples/kanban/package.json +2 -2
- package/dist/templates/examples/managed-resource-layer/package.json +2 -2
- package/dist/templates/examples/map/package.json +2 -2
- package/dist/templates/examples/pixel-art/package.json +2 -2
- package/dist/templates/examples/query-sync/package.json +2 -2
- package/dist/templates/examples/route-transitions/package.json +2 -2
- package/dist/templates/examples/routing/package.json +2 -2
- package/dist/templates/examples/shopping-cart/package.json +2 -2
- package/dist/templates/examples/slow-warnings/package.json +2 -2
- package/dist/templates/examples/snake/package.json +2 -2
- package/dist/templates/examples/ssg/package.json +3 -3
- package/dist/templates/examples/ssr/package.json +3 -3
- package/dist/templates/examples/state-machine/package.json +2 -2
- package/dist/templates/examples/stopwatch/package.json +2 -2
- package/dist/templates/examples/todo/package.json +2 -2
- package/dist/templates/examples/ui-showcase/package.json +2 -2
- package/dist/templates/examples/view-transitions/package.json +2 -2
- package/dist/templates/examples/weather/package.json +2 -2
- package/dist/templates/examples/web-components/package.json +2 -2
- package/dist/templates/examples/websocket-chat/package.json +2 -2
- package/dist/templates/release.json +11 -11
- package/dist/templates/rendering/ssg/scripts/prerender.ts +49 -2
- 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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"clsx": "^2.1.1",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
13
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
13
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
13
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
14
|
-
"@effect/platform-node": "4.0.0-rc.
|
|
15
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
15
|
-
"@effect/platform-node": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
13
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
12
|
+
"@effect/platform-browser": "4.0.0-rc.112",
|
|
13
13
|
"@foldkit/ui": "workspace:*",
|
|
14
|
-
"effect": "4.0.0-rc.
|
|
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": "
|
|
4
|
+
"sourceCommit": "e7394af1026fa87f10fab2b35fab55e5848ce602",
|
|
5
5
|
"packages": {
|
|
6
|
-
"create-foldkit-app": "0.
|
|
7
|
-
"@foldkit/devtools": "0.
|
|
8
|
-
"@foldkit/devtools-mcp": "0.
|
|
9
|
-
"foldkit": "0.
|
|
10
|
-
"@foldkit/markdown": "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.
|
|
13
|
-
"@foldkit/vite-plugin": "0.
|
|
12
|
+
"@foldkit/ui": "0.152.0",
|
|
13
|
+
"@foldkit/vite-plugin": "0.18.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@foldkit/devtools": "0.
|
|
17
|
-
"@foldkit/vite-plugin": "0.
|
|
18
|
-
"@foldkit/devtools-mcp": "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
|
-
?
|
|
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*
|
|
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.
|
|
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.
|
|
15
|
-
"@effect/platform-node-shared": "4.0.0-rc.
|
|
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.
|
|
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.
|
|
22
|
+
"@effect/vitest": "4.0.0-rc.112",
|
|
23
23
|
"@types/node": "^25.9.3",
|
|
24
24
|
"vitest": "^4.1.9"
|
|
25
25
|
},
|