sunpeak 0.18.14 → 0.19.2

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 (53) hide show
  1. package/README.md +37 -134
  2. package/bin/commands/new.mjs +3 -1
  3. package/bin/commands/test-init.mjs +305 -0
  4. package/bin/commands/test.mjs +144 -0
  5. package/bin/lib/inspect/inspect-config.d.mts +4 -0
  6. package/bin/lib/inspect/inspect-config.mjs +18 -24
  7. package/bin/lib/test/base-config.mjs +75 -0
  8. package/bin/lib/test/matchers.mjs +99 -0
  9. package/bin/lib/test/test-config.d.mts +66 -0
  10. package/bin/lib/test/test-config.mjs +125 -0
  11. package/bin/lib/test/test-fixtures.d.mts +129 -0
  12. package/bin/lib/test/test-fixtures.mjs +232 -0
  13. package/bin/sunpeak.js +18 -5
  14. package/package.json +22 -10
  15. package/template/README.md +18 -8
  16. package/template/dist/albums/albums.json +1 -1
  17. package/template/dist/carousel/carousel.json +1 -1
  18. package/template/dist/map/map.html +468 -280
  19. package/template/dist/map/map.json +1 -1
  20. package/template/dist/review/review.json +1 -1
  21. package/template/node_modules/.bin/playwright +2 -2
  22. package/template/node_modules/.bin/vite +2 -2
  23. package/template/node_modules/.bin/vitest +2 -2
  24. package/template/node_modules/.vite/deps/_metadata.json +4 -4
  25. package/template/node_modules/.vite-mcp/deps/_metadata.json +22 -22
  26. package/template/node_modules/.vite-mcp/deps/mapbox-gl.js +15924 -14588
  27. package/template/node_modules/.vite-mcp/deps/mapbox-gl.js.map +1 -1
  28. package/template/node_modules/.vite-mcp/deps/vitest.js +8 -8
  29. package/template/node_modules/.vite-mcp/deps/vitest.js.map +1 -1
  30. package/template/package.json +9 -7
  31. package/template/playwright.config.ts +2 -40
  32. package/template/test-results/.last-run.json +4 -0
  33. package/template/tests/e2e/albums.spec.ts +114 -245
  34. package/template/tests/e2e/carousel.spec.ts +189 -313
  35. package/template/tests/e2e/map.spec.ts +177 -300
  36. package/template/tests/e2e/review.spec.ts +232 -423
  37. package/template/tests/e2e/visual.spec.ts +36 -0
  38. package/template/tests/e2e/visual.spec.ts-snapshots/albums-dark-chatgpt-linux.png +0 -0
  39. package/template/tests/e2e/visual.spec.ts-snapshots/albums-dark-claude-linux.png +0 -0
  40. package/template/tests/e2e/visual.spec.ts-snapshots/albums-fullscreen-chatgpt-linux.png +0 -0
  41. package/template/tests/e2e/visual.spec.ts-snapshots/albums-fullscreen-claude-linux.png +0 -0
  42. package/template/tests/e2e/visual.spec.ts-snapshots/albums-light-chatgpt-linux.png +0 -0
  43. package/template/tests/e2e/visual.spec.ts-snapshots/albums-light-claude-linux.png +0 -0
  44. package/template/tests/e2e/visual.spec.ts-snapshots/albums-page-light-chatgpt-linux.png +0 -0
  45. package/template/tests/e2e/visual.spec.ts-snapshots/albums-page-light-claude-linux.png +0 -0
  46. package/template/tests/live/albums.spec.ts +1 -1
  47. package/template/tests/live/carousel.spec.ts +1 -1
  48. package/template/tests/live/map.spec.ts +1 -1
  49. package/template/tests/live/playwright.config.ts +1 -1
  50. package/template/tests/live/review.spec.ts +1 -1
  51. package/template/vitest.config.ts +1 -1
  52. package/template/tests/e2e/global-setup.ts +0 -10
  53. package/template/tests/e2e/helpers.ts +0 -13
@@ -18,5 +18,5 @@
18
18
  }
19
19
  },
20
20
  "name": "map",
21
- "uri": "ui://map-mnhsyu53"
21
+ "uri": "ui://map-mnnqsot1"
22
22
  }
@@ -12,5 +12,5 @@
12
12
  }
13
13
  },
14
14
  "name": "review",
15
- "uri": "ui://review-mnhsyu53"
15
+ "uri": "ui://review-mnnqsot1"
16
16
  }
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@playwright+test@1.58.2/node_modules/@playwright/test/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@playwright+test@1.58.2/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@playwright+test@1.59.1/node_modules/@playwright/test/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@playwright+test@1.59.1/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@playwright+test@1.58.2/node_modules/@playwright/test/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@playwright+test@1.58.2/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@playwright+test@1.59.1/node_modules/@playwright/test/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@playwright+test@1.59.1/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../@playwright/test/cli.js" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules/vite/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@8.0.3_@types+node@25.5.2_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules/vite/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@8.0.3_@types+node@25.5.2_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules/vite/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@8.0.3_@types+node@25.5.2_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules/vite/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@8.0.3_@types+node@25.5.2_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.2_happy-dom@18.0.1_jsdom@29.0.1_vite@8.0.3_@types+node@25_c9204fc1c7dd847b5a2240e35a324b5d/node_modules/vitest/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.2_happy-dom@18.0.1_jsdom@29.0.1_vite@8.0.3_@types+node@25_c9204fc1c7dd847b5a2240e35a324b5d/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.2_happy-dom@18.0.1_jsdom@29.0.1_vite@8.0.3_@types+node@25_c9204fc1c7dd847b5a2240e35a324b5d/node_modules/vitest/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.2_happy-dom@18.0.1_jsdom@29.0.1_vite@8.0.3_@types+node@25_c9204fc1c7dd847b5a2240e35a324b5d/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../vitest/vitest.mjs" "$@"
@@ -1,8 +1,8 @@
1
1
  {
2
- "hash": "ec53af3f",
3
- "configHash": "6d141121",
4
- "lockfileHash": "ce6a397b",
5
- "browserHash": "d823bbdb",
2
+ "hash": "d60fea2c",
3
+ "configHash": "a598103f",
4
+ "lockfileHash": "125af7d7",
5
+ "browserHash": "b2bebf73",
6
6
  "optimized": {},
7
7
  "chunks": {}
8
8
  }
@@ -1,103 +1,103 @@
1
1
  {
2
- "hash": "1463a2b8",
3
- "configHash": "6557b1df",
4
- "lockfileHash": "ce6a397b",
5
- "browserHash": "18a13a2f",
2
+ "hash": "d58c7a54",
3
+ "configHash": "b5321072",
4
+ "lockfileHash": "125af7d7",
5
+ "browserHash": "206397b0",
6
6
  "optimized": {
7
7
  "@modelcontextprotocol/ext-apps": {
8
8
  "src": "../../../../../../node_modules/.pnpm/@modelcontextprotocol+ext-apps@1.3.2_@modelcontextprotocol+sdk@1.29.0_zod@4.3.6__react-_38e5f6c50a4ca9cf3f1dffc73a60c951/node_modules/@modelcontextprotocol/ext-apps/dist/src/app.js",
9
9
  "file": "@modelcontextprotocol_ext-apps.js",
10
- "fileHash": "f5a93cf8",
10
+ "fileHash": "728a929a",
11
11
  "needsInterop": false
12
12
  },
13
13
  "@modelcontextprotocol/ext-apps/app-bridge": {
14
14
  "src": "../../../../../../node_modules/.pnpm/@modelcontextprotocol+ext-apps@1.3.2_@modelcontextprotocol+sdk@1.29.0_zod@4.3.6__react-_38e5f6c50a4ca9cf3f1dffc73a60c951/node_modules/@modelcontextprotocol/ext-apps/dist/src/app-bridge.js",
15
15
  "file": "@modelcontextprotocol_ext-apps_app-bridge.js",
16
- "fileHash": "d22d8fe4",
16
+ "fileHash": "9749f424",
17
17
  "needsInterop": false
18
18
  },
19
19
  "@modelcontextprotocol/ext-apps/react": {
20
20
  "src": "../../../../../../node_modules/.pnpm/@modelcontextprotocol+ext-apps@1.3.2_@modelcontextprotocol+sdk@1.29.0_zod@4.3.6__react-_38e5f6c50a4ca9cf3f1dffc73a60c951/node_modules/@modelcontextprotocol/ext-apps/dist/src/react/index.js",
21
21
  "file": "@modelcontextprotocol_ext-apps_react.js",
22
- "fileHash": "19b567ce",
22
+ "fileHash": "ad48d950",
23
23
  "needsInterop": false
24
24
  },
25
25
  "@testing-library/react": {
26
26
  "src": "../../../../../../node_modules/.pnpm/@testing-library+react@16.3.2_@testing-library+dom@10.4.1_@types+react-dom@19.2.3_@type_893f466751a7d66081fd06e9edb9241a/node_modules/@testing-library/react/dist/@testing-library/react.esm.js",
27
27
  "file": "@testing-library_react.js",
28
- "fileHash": "444f7e28",
28
+ "fileHash": "94c3d0ac",
29
29
  "needsInterop": false
30
30
  },
31
31
  "clsx": {
32
32
  "src": "../../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs",
33
33
  "file": "clsx.js",
34
- "fileHash": "04e4a96c",
34
+ "fileHash": "0d440c5a",
35
35
  "needsInterop": false
36
36
  },
37
37
  "embla-carousel-react": {
38
38
  "src": "../../../../../../node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.4/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js",
39
39
  "file": "embla-carousel-react.js",
40
- "fileHash": "b120dbb8",
40
+ "fileHash": "05fc18ab",
41
41
  "needsInterop": false
42
42
  },
43
43
  "embla-carousel-wheel-gestures": {
44
44
  "src": "../../../../../../node_modules/.pnpm/embla-carousel-wheel-gestures@8.1.0_embla-carousel@8.6.0/node_modules/embla-carousel-wheel-gestures/dist/embla-carousel-wheel-gestures.esm.js",
45
45
  "file": "embla-carousel-wheel-gestures.js",
46
- "fileHash": "31abbbbf",
46
+ "fileHash": "6143ad76",
47
47
  "needsInterop": false
48
48
  },
49
49
  "mapbox-gl": {
50
- "src": "../../../../../../node_modules/.pnpm/mapbox-gl@3.20.0/node_modules/mapbox-gl/dist/mapbox-gl.js",
50
+ "src": "../../../../../../node_modules/.pnpm/mapbox-gl@3.21.0/node_modules/mapbox-gl/dist/mapbox-gl.js",
51
51
  "file": "mapbox-gl.js",
52
- "fileHash": "99b484eb",
52
+ "fileHash": "7ebaa516",
53
53
  "needsInterop": true
54
54
  },
55
55
  "react-dom": {
56
56
  "src": "../../../../../../node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/index.js",
57
57
  "file": "react-dom.js",
58
- "fileHash": "c7e6f814",
58
+ "fileHash": "0249c4cb",
59
59
  "needsInterop": true
60
60
  },
61
61
  "react-dom/client": {
62
62
  "src": "../../../../../../node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.js",
63
63
  "file": "react-dom_client.js",
64
- "fileHash": "f4513e25",
64
+ "fileHash": "c61772c6",
65
65
  "needsInterop": true
66
66
  },
67
67
  "react": {
68
68
  "src": "../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/index.js",
69
69
  "file": "react.js",
70
- "fileHash": "44556913",
70
+ "fileHash": "7969f5c8",
71
71
  "needsInterop": true
72
72
  },
73
73
  "react/jsx-dev-runtime": {
74
74
  "src": "../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-dev-runtime.js",
75
75
  "file": "react_jsx-dev-runtime.js",
76
- "fileHash": "11cb20e9",
76
+ "fileHash": "2928d2d9",
77
77
  "needsInterop": true
78
78
  },
79
79
  "react/jsx-runtime": {
80
80
  "src": "../../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js",
81
81
  "file": "react_jsx-runtime.js",
82
- "fileHash": "1fc1ef3f",
82
+ "fileHash": "0d521228",
83
83
  "needsInterop": true
84
84
  },
85
85
  "tailwind-merge": {
86
86
  "src": "../../../../../../node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs",
87
87
  "file": "tailwind-merge.js",
88
- "fileHash": "4d87ab6b",
88
+ "fileHash": "025c3de1",
89
89
  "needsInterop": false
90
90
  },
91
91
  "vitest": {
92
- "src": "../../../../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/index.js",
92
+ "src": "../../../../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.2_happy-dom@18.0.1_jsdom@29.0.1_vite@8.0.3_@types+node@25_c9204fc1c7dd847b5a2240e35a324b5d/node_modules/vitest/dist/index.js",
93
93
  "file": "vitest.js",
94
- "fileHash": "279ec79a",
94
+ "fileHash": "e5a5cb6e",
95
95
  "needsInterop": false
96
96
  },
97
97
  "zod": {
98
98
  "src": "../../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/index.js",
99
99
  "file": "zod.js",
100
- "fileHash": "6a59db68",
100
+ "fileHash": "b8c9123b",
101
101
  "needsInterop": false
102
102
  }
103
103
  },