create-vite-extra 4.2.0 → 5.0.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 (378) hide show
  1. package/LICENSE +12 -6
  2. package/README.md +51 -66
  3. package/dist/index.js +585 -0
  4. package/package.json +20 -10
  5. package/template-deno-lit/README.md +3 -3
  6. package/template-deno-lit/deno.json +3 -3
  7. package/template-deno-lit/index.html +2 -2
  8. package/template-deno-lit/public/favicon.svg +1 -0
  9. package/template-deno-lit/public/icons.svg +24 -0
  10. package/template-deno-lit/src/assets/hero.png +0 -0
  11. package/template-deno-lit/src/index.css +14 -20
  12. package/template-deno-lit/src/my-element.js +372 -67
  13. package/template-deno-lit/vite.config.js +1 -1
  14. package/template-deno-lit-ts/README.md +2 -2
  15. package/template-deno-lit-ts/deno.json +3 -3
  16. package/template-deno-lit-ts/index.html +3 -3
  17. package/template-deno-lit-ts/public/favicon.svg +1 -0
  18. package/template-deno-lit-ts/public/icons.svg +24 -0
  19. package/template-deno-lit-ts/src/assets/hero.png +0 -0
  20. package/template-deno-lit-ts/src/index.css +13 -28
  21. package/template-deno-lit-ts/src/my-element.ts +373 -68
  22. package/template-deno-lit-ts/tsconfig.json +20 -2
  23. package/template-deno-lit-ts/vite.config.ts +1 -1
  24. package/template-deno-preact/README.md +2 -2
  25. package/template-deno-preact/deno.json +5 -5
  26. package/template-deno-preact/index.html +1 -1
  27. package/template-deno-preact/public/favicon.svg +1 -0
  28. package/template-deno-preact/public/icons.svg +24 -0
  29. package/template-deno-preact/src/app.css +185 -16
  30. package/template-deno-preact/src/app.jsx +88 -21
  31. package/template-deno-preact/src/assets/hero.png +0 -0
  32. package/template-deno-preact/src/index.css +88 -46
  33. package/template-deno-preact/src/main.jsx +1 -1
  34. package/template-deno-preact-ts/README.md +2 -2
  35. package/template-deno-preact-ts/deno.json +5 -5
  36. package/template-deno-preact-ts/index.html +1 -1
  37. package/template-deno-preact-ts/public/favicon.svg +1 -0
  38. package/template-deno-preact-ts/public/icons.svg +24 -0
  39. package/template-deno-preact-ts/src/app.css +185 -16
  40. package/template-deno-preact-ts/src/app.tsx +88 -21
  41. package/template-deno-preact-ts/src/assets/hero.png +0 -0
  42. package/template-deno-preact-ts/src/index.css +88 -46
  43. package/template-deno-preact-ts/src/main.tsx +2 -2
  44. package/template-deno-react/README.md +2 -2
  45. package/template-deno-react/deno.json +5 -5
  46. package/template-deno-react/index.html +1 -1
  47. package/template-deno-react/public/favicon.svg +1 -0
  48. package/template-deno-react/public/icons.svg +24 -0
  49. package/template-deno-react/src/App.css +169 -28
  50. package/template-deno-react/src/App.jsx +107 -21
  51. package/template-deno-react/src/assets/hero.png +0 -0
  52. package/template-deno-react/src/index.css +88 -46
  53. package/template-deno-react/src/main.jsx +1 -1
  54. package/template-deno-react-ts/README.md +2 -2
  55. package/template-deno-react-ts/deno.json +5 -5
  56. package/template-deno-react-ts/index.html +1 -1
  57. package/template-deno-react-ts/public/favicon.svg +1 -0
  58. package/template-deno-react-ts/public/icons.svg +24 -0
  59. package/template-deno-react-ts/src/App.css +169 -28
  60. package/template-deno-react-ts/src/App.tsx +107 -21
  61. package/template-deno-react-ts/src/assets/hero.png +0 -0
  62. package/template-deno-react-ts/src/index.css +88 -46
  63. package/template-deno-react-ts/src/main.tsx +2 -2
  64. package/template-deno-solid/README.md +2 -2
  65. package/template-deno-solid/deno.json +5 -5
  66. package/template-deno-solid/index.html +2 -2
  67. package/template-deno-solid/public/favicon.svg +1 -0
  68. package/template-deno-solid/public/icons.svg +24 -0
  69. package/template-deno-solid/src/App.css +175 -19
  70. package/template-deno-solid/src/App.jsx +90 -23
  71. package/template-deno-solid/src/assets/hero.png +0 -0
  72. package/template-deno-solid/src/index.css +88 -46
  73. package/template-deno-solid/src/index.jsx +8 -0
  74. package/template-deno-solid-ts/README.md +2 -2
  75. package/template-deno-solid-ts/deno.json +5 -5
  76. package/template-deno-solid-ts/index.html +2 -2
  77. package/template-deno-solid-ts/public/favicon.svg +1 -0
  78. package/template-deno-solid-ts/public/icons.svg +24 -0
  79. package/template-deno-solid-ts/src/App.css +175 -19
  80. package/template-deno-solid-ts/src/App.tsx +90 -23
  81. package/template-deno-solid-ts/src/assets/hero.png +0 -0
  82. package/template-deno-solid-ts/src/index.css +88 -46
  83. package/template-deno-solid-ts/src/index.tsx +8 -0
  84. package/template-deno-svelte/README.md +2 -2
  85. package/template-deno-svelte/deno.json +5 -5
  86. package/template-deno-svelte/index.html +1 -1
  87. package/template-deno-svelte/public/favicon.svg +1 -0
  88. package/template-deno-svelte/public/icons.svg +24 -0
  89. package/template-deno-svelte/src/App.svelte +79 -38
  90. package/template-deno-svelte/src/app.css +263 -47
  91. package/template-deno-svelte/src/assets/hero.png +0 -0
  92. package/template-deno-svelte/src/lib/Counter.svelte +1 -6
  93. package/template-deno-svelte/src/main.js +1 -1
  94. package/template-deno-svelte-ts/README.md +2 -2
  95. package/template-deno-svelte-ts/deno.json +5 -5
  96. package/template-deno-svelte-ts/index.html +1 -1
  97. package/template-deno-svelte-ts/public/favicon.svg +1 -0
  98. package/template-deno-svelte-ts/public/icons.svg +24 -0
  99. package/template-deno-svelte-ts/src/App.svelte +80 -39
  100. package/template-deno-svelte-ts/src/app.css +263 -47
  101. package/template-deno-svelte-ts/src/assets/hero.png +0 -0
  102. package/template-deno-svelte-ts/src/lib/Counter.svelte +2 -2
  103. package/template-deno-svelte-ts/src/main.ts +1 -1
  104. package/template-deno-vanilla/deno.json +3 -3
  105. package/template-deno-vanilla/index.html +2 -2
  106. package/template-deno-vanilla/public/favicon.svg +1 -0
  107. package/template-deno-vanilla/public/icons.svg +24 -0
  108. package/template-deno-vanilla/src/assets/hero.png +0 -0
  109. package/template-deno-vanilla/src/assets/javascript.svg +1 -0
  110. package/template-deno-vanilla/src/counter.js +2 -2
  111. package/template-deno-vanilla/src/main.js +51 -17
  112. package/template-deno-vanilla/src/style.css +260 -61
  113. package/template-deno-vanilla-ts/deno.json +3 -3
  114. package/template-deno-vanilla-ts/index.html +1 -1
  115. package/template-deno-vanilla-ts/public/favicon.svg +1 -0
  116. package/template-deno-vanilla-ts/public/icons.svg +24 -0
  117. package/template-deno-vanilla-ts/src/assets/hero.png +0 -0
  118. package/template-deno-vanilla-ts/src/assets/typescript.svg +1 -0
  119. package/template-deno-vanilla-ts/src/counter.ts +1 -1
  120. package/template-deno-vanilla-ts/src/main.ts +52 -16
  121. package/template-deno-vanilla-ts/src/style.css +260 -61
  122. package/template-deno-vue/README.md +2 -2
  123. package/template-deno-vue/deno.json +5 -5
  124. package/template-deno-vue/index.html +1 -1
  125. package/template-deno-vue/public/favicon.svg +1 -0
  126. package/template-deno-vue/public/icons.svg +24 -0
  127. package/template-deno-vue/src/App.vue +1 -28
  128. package/template-deno-vue/src/assets/hero.png +0 -0
  129. package/template-deno-vue/src/components/HelloWorld.vue +83 -30
  130. package/template-deno-vue/src/main.js +1 -1
  131. package/template-deno-vue/src/style.css +263 -46
  132. package/template-deno-vue-ts/README.md +2 -2
  133. package/template-deno-vue-ts/deno.json +5 -5
  134. package/template-deno-vue-ts/index.html +1 -1
  135. package/template-deno-vue-ts/public/favicon.svg +1 -0
  136. package/template-deno-vue-ts/public/icons.svg +24 -0
  137. package/template-deno-vue-ts/src/App.vue +1 -28
  138. package/template-deno-vue-ts/src/assets/hero.png +0 -0
  139. package/template-deno-vue-ts/src/components/HelloWorld.vue +83 -28
  140. package/template-deno-vue-ts/src/main.ts +1 -1
  141. package/template-deno-vue-ts/src/style.css +263 -46
  142. package/template-library/index.d.ts +1 -1
  143. package/template-library/index.html +3 -3
  144. package/template-library/package.json +5 -9
  145. package/template-library/public/favicon.svg +1 -0
  146. package/template-library/public/icons.svg +24 -0
  147. package/template-library/src/assets/hero.png +0 -0
  148. package/template-library/src/assets/javascript.svg +1 -0
  149. package/template-library/src/main.js +60 -0
  150. package/template-library/src/style.css +296 -0
  151. package/template-library/vite.config.js +1 -1
  152. package/template-library-ts/index.d.ts +1 -1
  153. package/template-library-ts/index.html +2 -2
  154. package/template-library-ts/package.json +6 -10
  155. package/template-library-ts/public/favicon.svg +1 -0
  156. package/template-library-ts/public/icons.svg +24 -0
  157. package/template-library-ts/src/assets/hero.png +0 -0
  158. package/template-library-ts/src/assets/typescript.svg +1 -0
  159. package/template-library-ts/src/main.ts +51 -14
  160. package/template-library-ts/src/style.css +260 -61
  161. package/template-library-ts/tsconfig.json +6 -7
  162. package/template-library-ts/vite.config.ts +1 -1
  163. package/template-ssr-preact/index.html +1 -1
  164. package/template-ssr-preact/package.json +4 -4
  165. package/template-ssr-preact/public/favicon.svg +1 -0
  166. package/template-ssr-preact/public/icons.svg +24 -0
  167. package/template-ssr-preact/src/app.css +185 -17
  168. package/template-ssr-preact/src/app.jsx +88 -20
  169. package/template-ssr-preact/src/assets/hero.png +0 -0
  170. package/template-ssr-preact/src/index.css +88 -46
  171. package/template-ssr-preact-ts/index.html +1 -1
  172. package/template-ssr-preact-ts/package.json +7 -7
  173. package/template-ssr-preact-ts/public/favicon.svg +1 -0
  174. package/template-ssr-preact-ts/public/icons.svg +24 -0
  175. package/template-ssr-preact-ts/src/app.css +185 -17
  176. package/template-ssr-preact-ts/src/app.tsx +88 -20
  177. package/template-ssr-preact-ts/src/assets/hero.png +0 -0
  178. package/template-ssr-preact-ts/src/index.css +88 -46
  179. package/template-ssr-preact-ts/tsconfig.app.json +30 -0
  180. package/template-ssr-preact-ts/tsconfig.json +5 -29
  181. package/template-ssr-preact-ts/tsconfig.node.json +5 -5
  182. package/template-ssr-react/README.md +16 -0
  183. package/template-ssr-react/index.html +1 -1
  184. package/template-ssr-react/package.json +3 -3
  185. package/template-ssr-react/public/favicon.svg +1 -0
  186. package/template-ssr-react/public/icons.svg +24 -0
  187. package/template-ssr-react/src/App.css +169 -28
  188. package/template-ssr-react/src/App.jsx +107 -20
  189. package/template-ssr-react/src/assets/hero.png +0 -0
  190. package/template-ssr-react/src/index.css +88 -46
  191. package/template-ssr-react-streaming/index.html +1 -1
  192. package/template-ssr-react-streaming/package.json +2 -2
  193. package/template-ssr-react-streaming/public/favicon.svg +1 -0
  194. package/template-ssr-react-streaming/public/icons.svg +24 -0
  195. package/template-ssr-react-streaming/src/App.css +169 -28
  196. package/template-ssr-react-streaming/src/App.jsx +107 -20
  197. package/template-ssr-react-streaming/src/assets/hero.png +0 -0
  198. package/template-ssr-react-streaming/src/index.css +88 -46
  199. package/template-ssr-react-streaming-ts/index.html +1 -1
  200. package/template-ssr-react-streaming-ts/package.json +6 -6
  201. package/template-ssr-react-streaming-ts/public/favicon.svg +1 -0
  202. package/template-ssr-react-streaming-ts/public/icons.svg +24 -0
  203. package/template-ssr-react-streaming-ts/src/App.css +169 -28
  204. package/template-ssr-react-streaming-ts/src/App.tsx +107 -20
  205. package/template-ssr-react-streaming-ts/src/assets/hero.png +0 -0
  206. package/template-ssr-react-streaming-ts/src/index.css +88 -46
  207. package/template-ssr-react-streaming-ts/tsconfig.app.json +25 -0
  208. package/template-ssr-react-streaming-ts/tsconfig.json +5 -24
  209. package/template-ssr-react-streaming-ts/tsconfig.node.json +5 -5
  210. package/template-ssr-react-ts/README.md +73 -0
  211. package/template-ssr-react-ts/index.html +1 -1
  212. package/template-ssr-react-ts/package.json +6 -6
  213. package/template-ssr-react-ts/public/favicon.svg +1 -0
  214. package/template-ssr-react-ts/public/icons.svg +24 -0
  215. package/template-ssr-react-ts/src/App.css +169 -28
  216. package/template-ssr-react-ts/src/App.tsx +107 -20
  217. package/template-ssr-react-ts/src/assets/hero.png +0 -0
  218. package/template-ssr-react-ts/src/index.css +88 -46
  219. package/template-ssr-react-ts/tsconfig.app.json +25 -0
  220. package/template-ssr-react-ts/tsconfig.json +5 -24
  221. package/template-ssr-react-ts/tsconfig.node.json +5 -5
  222. package/template-ssr-solid/README.md +28 -0
  223. package/template-ssr-solid/index.html +1 -1
  224. package/template-ssr-solid/package.json +3 -3
  225. package/template-ssr-solid/public/favicon.svg +1 -0
  226. package/template-ssr-solid/public/icons.svg +24 -0
  227. package/template-ssr-solid/src/App.css +175 -19
  228. package/template-ssr-solid/src/App.jsx +90 -22
  229. package/template-ssr-solid/src/assets/hero.png +0 -0
  230. package/template-ssr-solid/src/index.css +88 -46
  231. package/template-ssr-solid-ts/README.md +28 -0
  232. package/template-ssr-solid-ts/index.html +1 -1
  233. package/template-ssr-solid-ts/package.json +5 -5
  234. package/template-ssr-solid-ts/public/favicon.svg +1 -0
  235. package/template-ssr-solid-ts/public/icons.svg +24 -0
  236. package/template-ssr-solid-ts/src/App.css +175 -19
  237. package/template-ssr-solid-ts/src/App.tsx +90 -22
  238. package/template-ssr-solid-ts/src/assets/hero.png +0 -0
  239. package/template-ssr-solid-ts/src/index.css +88 -46
  240. package/template-ssr-solid-ts/tsconfig.app.json +26 -0
  241. package/template-ssr-solid-ts/tsconfig.json +5 -25
  242. package/template-ssr-solid-ts/tsconfig.node.json +5 -5
  243. package/template-ssr-svelte/README.md +0 -4
  244. package/template-ssr-svelte/index.html +1 -1
  245. package/template-ssr-svelte/package.json +3 -3
  246. package/template-ssr-svelte/public/favicon.svg +1 -0
  247. package/template-ssr-svelte/public/icons.svg +24 -0
  248. package/template-ssr-svelte/src/App.svelte +79 -37
  249. package/template-ssr-svelte/src/app.css +263 -47
  250. package/template-ssr-svelte/src/assets/hero.png +0 -0
  251. package/template-ssr-svelte/src/lib/Counter.svelte +1 -6
  252. package/template-ssr-svelte-ts/README.md +1 -1
  253. package/template-ssr-svelte-ts/index.html +1 -1
  254. package/template-ssr-svelte-ts/package.json +9 -9
  255. package/template-ssr-svelte-ts/public/favicon.svg +1 -0
  256. package/template-ssr-svelte-ts/public/icons.svg +24 -0
  257. package/template-ssr-svelte-ts/src/App.svelte +80 -38
  258. package/template-ssr-svelte-ts/src/app.css +263 -47
  259. package/template-ssr-svelte-ts/src/assets/hero.png +0 -0
  260. package/template-ssr-svelte-ts/src/lib/Counter.svelte +2 -2
  261. package/template-ssr-svelte-ts/tsconfig.app.json +20 -0
  262. package/template-ssr-svelte-ts/tsconfig.json +5 -19
  263. package/template-ssr-svelte-ts/tsconfig.node.json +16 -4
  264. package/template-ssr-transform/package.json +1 -1
  265. package/template-ssr-vanilla/index.html +2 -2
  266. package/template-ssr-vanilla/package.json +1 -1
  267. package/template-ssr-vanilla/public/favicon.svg +1 -0
  268. package/template-ssr-vanilla/public/icons.svg +24 -0
  269. package/template-ssr-vanilla/src/assets/hero.png +0 -0
  270. package/template-ssr-vanilla/src/assets/javascript.svg +1 -0
  271. package/template-ssr-vanilla/src/counter.js +1 -1
  272. package/template-ssr-vanilla/src/entry-client.js +0 -1
  273. package/template-ssr-vanilla/src/entry-server.js +52 -15
  274. package/template-ssr-vanilla/src/style.css +260 -61
  275. package/template-ssr-vanilla-ts/index.html +1 -1
  276. package/template-ssr-vanilla-ts/package.json +4 -4
  277. package/template-ssr-vanilla-ts/public/favicon.svg +1 -0
  278. package/template-ssr-vanilla-ts/public/icons.svg +24 -0
  279. package/template-ssr-vanilla-ts/src/assets/hero.png +0 -0
  280. package/template-ssr-vanilla-ts/src/assets/typescript.svg +1 -0
  281. package/template-ssr-vanilla-ts/src/counter.ts +1 -1
  282. package/template-ssr-vanilla-ts/src/entry-client.ts +0 -1
  283. package/template-ssr-vanilla-ts/src/entry-server.ts +52 -15
  284. package/template-ssr-vanilla-ts/src/style.css +260 -61
  285. package/template-ssr-vanilla-ts/tsconfig.json +6 -7
  286. package/template-ssr-vue/README.md +1 -3
  287. package/template-ssr-vue/index.html +1 -1
  288. package/template-ssr-vue/package.json +3 -3
  289. package/template-ssr-vue/public/favicon.svg +1 -0
  290. package/template-ssr-vue/public/icons.svg +24 -0
  291. package/template-ssr-vue/src/App.vue +1 -27
  292. package/template-ssr-vue/src/assets/hero.png +0 -0
  293. package/template-ssr-vue/src/components/HelloWorld.vue +83 -30
  294. package/template-ssr-vue/src/style.css +263 -46
  295. package/template-ssr-vue-streaming/index.html +1 -1
  296. package/template-ssr-vue-streaming/package.json +3 -3
  297. package/template-ssr-vue-streaming/public/favicon.svg +1 -0
  298. package/template-ssr-vue-streaming/public/icons.svg +24 -0
  299. package/template-ssr-vue-streaming/src/App.vue +1 -27
  300. package/template-ssr-vue-streaming/src/assets/hero.png +0 -0
  301. package/template-ssr-vue-streaming/src/components/HelloWorld.vue +83 -30
  302. package/template-ssr-vue-streaming/src/style.css +263 -46
  303. package/template-ssr-vue-streaming-ts/index.html +1 -1
  304. package/template-ssr-vue-streaming-ts/package.json +8 -7
  305. package/template-ssr-vue-streaming-ts/public/favicon.svg +1 -0
  306. package/template-ssr-vue-streaming-ts/public/icons.svg +24 -0
  307. package/template-ssr-vue-streaming-ts/src/App.vue +1 -27
  308. package/template-ssr-vue-streaming-ts/src/assets/hero.png +0 -0
  309. package/template-ssr-vue-streaming-ts/src/components/HelloWorld.vue +83 -28
  310. package/template-ssr-vue-streaming-ts/src/style.css +263 -46
  311. package/template-ssr-vue-streaming-ts/tsconfig.app.json +14 -0
  312. package/template-ssr-vue-streaming-ts/tsconfig.json +5 -24
  313. package/template-ssr-vue-streaming-ts/tsconfig.node.json +5 -5
  314. package/template-ssr-vue-ts/README.md +1 -12
  315. package/template-ssr-vue-ts/index.html +1 -1
  316. package/template-ssr-vue-ts/package.json +9 -9
  317. package/template-ssr-vue-ts/public/favicon.svg +1 -0
  318. package/template-ssr-vue-ts/public/icons.svg +24 -0
  319. package/template-ssr-vue-ts/src/App.vue +1 -27
  320. package/template-ssr-vue-ts/src/assets/hero.png +0 -0
  321. package/template-ssr-vue-ts/src/components/HelloWorld.vue +83 -28
  322. package/template-ssr-vue-ts/src/style.css +263 -46
  323. package/template-ssr-vue-ts/tsconfig.app.json +14 -0
  324. package/template-ssr-vue-ts/tsconfig.json +5 -24
  325. package/template-ssr-vue-ts/tsconfig.node.json +5 -5
  326. package/index.js +0 -708
  327. package/template-deno-lit-ts/src/vite-env.d.ts +0 -1
  328. package/template-deno-preact-ts/src/vite-env.d.ts +0 -1
  329. package/template-deno-react-ts/src/vite-env.d.ts +0 -1
  330. package/template-deno-svelte/src/vite-env.d.ts +0 -2
  331. package/template-deno-svelte-ts/src/vite-env.d.ts +0 -2
  332. package/template-deno-vanilla-ts/src/vite-env.d.ts +0 -1
  333. package/template-deno-vue-ts/src/vite-env.d.ts +0 -7
  334. package/template-library/main.js +0 -23
  335. package/template-library/style.css +0 -97
  336. package/template-library-ts/src/vite-env.d.ts +0 -1
  337. package/template-ssr-preact-ts/src/vite-env.d.ts +0 -1
  338. package/template-ssr-react-streaming-ts/src/vite-env.d.ts +0 -1
  339. package/template-ssr-react-ts/src/vite-env.d.ts +0 -1
  340. package/template-ssr-solid-ts/src/vite-env.d.ts +0 -1
  341. package/template-ssr-svelte/src/vite-env.d.ts +0 -2
  342. package/template-ssr-svelte-ts/src/vite-env.d.ts +0 -2
  343. package/template-ssr-vanilla-ts/src/vite-env.d.ts +0 -1
  344. package/template-ssr-vue-streaming-ts/src/vite-env.d.ts +0 -7
  345. package/template-ssr-vue-ts/src/vite-env.d.ts +0 -7
  346. /package/template-deno-lit/{public → src/assets}/vite.svg +0 -0
  347. /package/template-deno-lit-ts/{public → src/assets}/vite.svg +0 -0
  348. /package/template-deno-preact/{public → src/assets}/vite.svg +0 -0
  349. /package/template-deno-preact-ts/{public → src/assets}/vite.svg +0 -0
  350. /package/template-deno-react/{public → src/assets}/vite.svg +0 -0
  351. /package/template-deno-react-ts/{public → src/assets}/vite.svg +0 -0
  352. /package/template-deno-solid/{public → src/assets}/vite.svg +0 -0
  353. /package/template-deno-solid-ts/{public → src/assets}/vite.svg +0 -0
  354. /package/template-deno-svelte/{public → src/assets}/vite.svg +0 -0
  355. /package/template-deno-svelte-ts/{public → src/assets}/vite.svg +0 -0
  356. /package/template-deno-vanilla/{public → src/assets}/vite.svg +0 -0
  357. /package/template-deno-vanilla-ts/{public → src/assets}/vite.svg +0 -0
  358. /package/template-deno-vue/{public → src/assets}/vite.svg +0 -0
  359. /package/template-deno-vue-ts/{public → src/assets}/vite.svg +0 -0
  360. /package/template-library/{public → src/assets}/vite.svg +0 -0
  361. /package/template-library/{javascript.svg → src/javascript.svg} +0 -0
  362. /package/template-library-ts/{public → src/assets}/vite.svg +0 -0
  363. /package/template-ssr-preact/{public → src/assets}/vite.svg +0 -0
  364. /package/template-ssr-preact-ts/{public → src/assets}/vite.svg +0 -0
  365. /package/template-ssr-react/{public → src/assets}/vite.svg +0 -0
  366. /package/template-ssr-react-streaming/{public → src/assets}/vite.svg +0 -0
  367. /package/template-ssr-react-streaming-ts/{public → src/assets}/vite.svg +0 -0
  368. /package/template-ssr-react-ts/{public → src/assets}/vite.svg +0 -0
  369. /package/template-ssr-solid/{public → src/assets}/vite.svg +0 -0
  370. /package/template-ssr-solid-ts/{public → src/assets}/vite.svg +0 -0
  371. /package/template-ssr-svelte/{public → src/assets}/vite.svg +0 -0
  372. /package/template-ssr-svelte-ts/{public → src/assets}/vite.svg +0 -0
  373. /package/template-ssr-vanilla/{public → src/assets}/vite.svg +0 -0
  374. /package/template-ssr-vanilla-ts/{public → src/assets}/vite.svg +0 -0
  375. /package/template-ssr-vue/{public → src/assets}/vite.svg +0 -0
  376. /package/template-ssr-vue-streaming/{public → src/assets}/vite.svg +0 -0
  377. /package/template-ssr-vue-streaming-ts/{public → src/assets}/vite.svg +0 -0
  378. /package/template-ssr-vue-ts/{public → src/assets}/vite.svg +0 -0
@@ -6,14 +6,14 @@
6
6
  "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
7
  },
8
8
  "compilerOptions": {
9
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
9
+ "lib": ["ES2023", "DOM"],
10
10
  "jsx": "react-jsx",
11
11
  "jsxImportSource": "preact"
12
12
  },
13
13
  "imports": {
14
- "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
15
- "@preact/preset-vite": "npm:@preact/preset-vite@^2.10.3",
16
- "preact": "npm:preact@^10.28.2",
17
- "vite": "npm:vite@^7.3.1"
14
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^2.0.2",
15
+ "@preact/preset-vite": "npm:@preact/preset-vite@^2.10.5",
16
+ "preact": "npm:preact@^10.29.1",
17
+ "vite": "npm:vite@^8.0.3"
18
18
  }
19
19
  }
@@ -2,7 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vite + Preact</title>
8
8
  </head>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg">
2
+ <symbol id="bluesky-icon" viewBox="0 0 16 17">
3
+ <g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
4
+ <defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
5
+ </symbol>
6
+ <symbol id="discord-icon" viewBox="0 0 20 19">
7
+ <path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
8
+ </symbol>
9
+ <symbol id="documentation-icon" viewBox="0 0 21 20">
10
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
11
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
12
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
13
+ </symbol>
14
+ <symbol id="github-icon" viewBox="0 0 19 19">
15
+ <path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
16
+ </symbol>
17
+ <symbol id="social-icon" viewBox="0 0 20 20">
18
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
19
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
20
+ </symbol>
21
+ <symbol id="x-icon" viewBox="0 0 19 19">
22
+ <path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
23
+ </symbol>
24
+ </svg>
@@ -1,27 +1,196 @@
1
- #app {
2
- max-width: 1280px;
1
+ .counter {
2
+ font-size: 16px;
3
+ padding: 5px 10px;
4
+ border-radius: 5px;
5
+ color: var(--accent);
6
+ background: var(--accent-bg);
7
+ border: 2px solid transparent;
8
+ transition: border-color 0.3s;
9
+ margin-bottom: 24px;
10
+
11
+ &:hover {
12
+ border-color: var(--accent-border);
13
+ }
14
+ &:focus-visible {
15
+ outline: 2px solid var(--accent);
16
+ outline-offset: 2px;
17
+ }
18
+ }
19
+
20
+ .hero {
21
+ position: relative;
22
+
23
+ .base,
24
+ .framework,
25
+ .vite {
26
+ inset-inline: 0;
27
+ margin: 0 auto;
28
+ }
29
+
30
+ .base {
31
+ width: 170px;
32
+ position: relative;
33
+ z-index: 0;
34
+ }
35
+
36
+ .framework,
37
+ .vite {
38
+ position: absolute;
39
+ }
40
+
41
+ .framework {
42
+ z-index: 1;
43
+ top: 34px;
44
+ height: 28px;
45
+ transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg)
46
+ scale(1.4);
47
+ }
48
+
49
+ .vite {
50
+ z-index: 0;
51
+ top: 107px;
52
+ height: 26px;
53
+ width: auto;
54
+ transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg)
55
+ scale(0.8);
56
+ }
57
+ }
58
+
59
+ #root {
60
+ width: 1126px;
61
+ max-width: 100%;
3
62
  margin: 0 auto;
4
- padding: 2rem;
5
63
  text-align: center;
64
+ border-inline: 1px solid var(--border);
65
+ min-height: 100svh;
66
+ display: flex;
67
+ flex-direction: column;
68
+ box-sizing: border-box;
6
69
  }
7
70
 
8
- .logo {
9
- object-fit: contain;
10
- width: 8em;
11
- height: 6em;
12
- padding: 1.5em;
71
+ #center {
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 25px;
75
+ place-content: center;
76
+ place-items: center;
77
+ flex-grow: 1;
78
+
79
+ @media (max-width: 1024px) {
80
+ padding: 32px 20px 24px;
81
+ gap: 18px;
82
+ }
13
83
  }
14
- .logo:hover {
15
- filter: drop-shadow(0 0 2em #646cffaa);
84
+
85
+ #next-steps {
86
+ display: flex;
87
+ border-top: 1px solid var(--border);
88
+ text-align: left;
89
+
90
+ & > div {
91
+ flex: 1 1 0;
92
+ padding: 32px;
93
+ @media (max-width: 1024px) {
94
+ padding: 24px 20px;
95
+ }
96
+ }
97
+
98
+ .icon {
99
+ margin-bottom: 16px;
100
+ width: 22px;
101
+ height: 22px;
102
+ }
103
+
104
+ @media (max-width: 1024px) {
105
+ flex-direction: column;
106
+ text-align: center;
107
+ }
16
108
  }
17
- .logo.preact:hover {
18
- filter: drop-shadow(0 0 2em #673ab8aa);
109
+
110
+ #docs {
111
+ border-right: 1px solid var(--border);
112
+
113
+ @media (max-width: 1024px) {
114
+ border-right: none;
115
+ border-bottom: 1px solid var(--border);
116
+ }
19
117
  }
20
118
 
21
- .card {
22
- padding: 2em;
119
+ #next-steps ul {
120
+ list-style: none;
121
+ padding: 0;
122
+ display: flex;
123
+ gap: 8px;
124
+ margin: 32px 0 0;
125
+
126
+ .logo {
127
+ height: 18px;
128
+ }
129
+
130
+ a {
131
+ color: var(--text-h);
132
+ font-size: 16px;
133
+ border-radius: 6px;
134
+ background: var(--social-bg);
135
+ display: flex;
136
+ padding: 6px 12px;
137
+ align-items: center;
138
+ gap: 8px;
139
+ text-decoration: none;
140
+ transition: box-shadow 0.3s;
141
+
142
+ &:hover {
143
+ box-shadow: var(--shadow);
144
+ }
145
+ .button-icon {
146
+ height: 18px;
147
+ width: 18px;
148
+ }
149
+ }
150
+
151
+ @media (max-width: 1024px) {
152
+ margin-top: 20px;
153
+ flex-wrap: wrap;
154
+ justify-content: center;
155
+
156
+ li {
157
+ flex: 1 1 calc(50% - 8px);
158
+ }
159
+
160
+ a {
161
+ width: 100%;
162
+ justify-content: center;
163
+ box-sizing: border-box;
164
+ }
165
+ }
166
+ }
167
+
168
+ #spacer {
169
+ height: 88px;
170
+ border-top: 1px solid var(--border);
171
+ @media (max-width: 1024px) {
172
+ height: 48px;
173
+ }
23
174
  }
24
175
 
25
- .read-the-docs {
26
- color: #888;
176
+ .ticks {
177
+ position: relative;
178
+ width: 100%;
179
+
180
+ &::before,
181
+ &::after {
182
+ content: '';
183
+ position: absolute;
184
+ top: -4.5px;
185
+ border: 5px solid transparent;
186
+ }
187
+
188
+ &::before {
189
+ left: 0;
190
+ border-left-color: var(--border);
191
+ }
192
+ &::after {
193
+ right: 0;
194
+ border-right-color: var(--border);
195
+ }
27
196
  }
@@ -1,33 +1,100 @@
1
- import './app.css'
2
1
  import { useState } from 'preact/hooks'
3
2
  import preactLogo from './assets/preact.svg'
3
+ import viteLogo from './assets/vite.svg'
4
+ import heroImg from './assets/hero.png'
5
+ import './app.css'
4
6
 
5
7
  export function App() {
6
8
  const [count, setCount] = useState(0)
7
9
 
8
10
  return (
9
11
  <>
10
- <img src="/vite-deno.svg" alt="Vite with Deno" />
11
- <div>
12
- <a href="https://vite.dev" target="_blank">
13
- <img src="/vite.svg" class="logo" alt="Vite logo" />
14
- </a>
15
- <a href="https://preactjs.com" target="_blank">
16
- <img src={preactLogo} class="logo preact" alt="Preact logo" />
17
- </a>
18
- </div>
19
- <h1>Vite + Preact</h1>
20
- <div class="card">
21
- <button onClick={() => setCount((count) => count + 1)}>
22
- count is {count}
12
+ <section id="center">
13
+ <div class="hero">
14
+ <img src={heroImg} class="base" width="170" height="179" alt="" />
15
+ <img src={preactLogo} class="framework" alt="Preact logo" />
16
+ <img src={viteLogo} class="vite" alt="Vite logo" />
17
+ </div>
18
+ <div>
19
+ <h1>Get started</h1>
20
+ <p>
21
+ Edit <code>src/app.jsx</code> and save to test <code>HMR</code>
22
+ </p>
23
+ </div>
24
+ <button class="counter" onClick={() => setCount((count) => count + 1)}>
25
+ Count is {count}
23
26
  </button>
24
- <p>
25
- Edit <code>src/app.jsx</code> and save to test HMR
26
- </p>
27
- </div>
28
- <p class="read-the-docs">
29
- Click on the Vite and Preact logos to learn more
30
- </p>
27
+ </section>
28
+
29
+ <div class="ticks"></div>
30
+
31
+ <section id="next-steps">
32
+ <div id="docs">
33
+ <svg class="icon" role="presentation" aria-hidden="true">
34
+ <use href="/icons.svg#documentation-icon"></use>
35
+ </svg>
36
+ <h2>Documentation</h2>
37
+ <p>Your questions, answered</p>
38
+ <ul>
39
+ <li>
40
+ <a href="https://vite.dev/" target="_blank">
41
+ <img class="logo" src={viteLogo} alt="" />
42
+ Explore Vite
43
+ </a>
44
+ </li>
45
+ <li>
46
+ <a href="https://preactjs.com/" target="_blank">
47
+ <img class="button-icon" src={preactLogo} alt="" />
48
+ Learn more
49
+ </a>
50
+ </li>
51
+ </ul>
52
+ </div>
53
+ <div id="social">
54
+ <svg class="icon" role="presentation" aria-hidden="true">
55
+ <use href="/icons.svg#social-icon"></use>
56
+ </svg>
57
+ <h2>Connect with us</h2>
58
+ <p>Join the Vite community</p>
59
+ <ul>
60
+ <li>
61
+ <a href="https://github.com/vitejs/vite" target="_blank">
62
+ <svg class="button-icon" role="presentation" aria-hidden="true">
63
+ <use href="/icons.svg#github-icon"></use>
64
+ </svg>
65
+ GitHub
66
+ </a>
67
+ </li>
68
+ <li>
69
+ <a href="https://chat.vite.dev/" target="_blank">
70
+ <svg class="button-icon" role="presentation" aria-hidden="true">
71
+ <use href="/icons.svg#discord-icon"></use>
72
+ </svg>
73
+ Discord
74
+ </a>
75
+ </li>
76
+ <li>
77
+ <a href="https://x.com/vite_js" target="_blank">
78
+ <svg class="button-icon" role="presentation" aria-hidden="true">
79
+ <use href="/icons.svg#x-icon"></use>
80
+ </svg>
81
+ X.com
82
+ </a>
83
+ </li>
84
+ <li>
85
+ <a href="https://bsky.app/profile/vite.dev" target="_blank">
86
+ <svg class="button-icon" role="presentation" aria-hidden="true">
87
+ <use href="/icons.svg#bluesky-icon"></use>
88
+ </svg>
89
+ Bluesky
90
+ </a>
91
+ </li>
92
+ </ul>
93
+ </div>
94
+ </section>
95
+
96
+ <div class="ticks"></div>
97
+ <section id="spacer"></section>
31
98
  </>
32
99
  )
33
100
  }
@@ -1,69 +1,111 @@
1
1
  :root {
2
- font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
3
- line-height: 1.5;
4
- font-weight: 400;
2
+ --text: #6b6375;
3
+ --text-h: #08060d;
4
+ --bg: #fff;
5
+ --border: #e5e4e7;
6
+ --code-bg: #f4f3ec;
7
+ --accent: #aa3bff;
8
+ --accent-bg: rgba(170, 59, 255, 0.1);
9
+ --accent-border: rgba(170, 59, 255, 0.5);
10
+ --social-bg: rgba(244, 243, 236, 0.5);
11
+ --shadow:
12
+ rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px;
5
13
 
6
- color-scheme: light dark;
7
- color: rgba(255, 255, 255, 0.87);
8
- background-color: #242424;
14
+ --sans: system-ui, 'Segoe UI', Roboto, sans-serif;
15
+ --heading: system-ui, 'Segoe UI', Roboto, sans-serif;
16
+ --mono: ui-monospace, Consolas, monospace;
9
17
 
18
+ font: 18px/145% var(--sans);
19
+ letter-spacing: 0.18px;
20
+ color-scheme: light dark;
21
+ color: var(--text);
22
+ background: var(--bg);
10
23
  font-synthesis: none;
11
24
  text-rendering: optimizeLegibility;
12
25
  -webkit-font-smoothing: antialiased;
13
26
  -moz-osx-font-smoothing: grayscale;
14
- -webkit-text-size-adjust: 100%;
15
- }
16
27
 
17
- a {
18
- font-weight: 500;
19
- color: #646cff;
20
- text-decoration: inherit;
28
+ @media (max-width: 1024px) {
29
+ font-size: 16px;
30
+ }
21
31
  }
22
- a:hover {
23
- color: #535bf2;
32
+
33
+ @media (prefers-color-scheme: dark) {
34
+ :root {
35
+ --text: #9ca3af;
36
+ --text-h: #f3f4f6;
37
+ --bg: #16171d;
38
+ --border: #2e303a;
39
+ --code-bg: #1f2028;
40
+ --accent: #c084fc;
41
+ --accent-bg: rgba(192, 132, 252, 0.15);
42
+ --accent-border: rgba(192, 132, 252, 0.5);
43
+ --social-bg: rgba(47, 48, 58, 0.5);
44
+ --shadow:
45
+ rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px;
46
+ }
47
+
48
+ #social .button-icon {
49
+ filter: invert(1) brightness(2);
50
+ }
24
51
  }
25
52
 
26
53
  body {
27
54
  margin: 0;
28
- display: flex;
29
- place-items: center;
30
- min-width: 320px;
31
- min-height: 100vh;
32
55
  }
33
56
 
34
- h1 {
35
- font-size: 3.2em;
36
- line-height: 1.1;
57
+ #app {
58
+ width: 1126px;
59
+ max-width: 100%;
60
+ margin: 0 auto;
61
+ text-align: center;
62
+ border-inline: 1px solid var(--border);
63
+ min-height: 100svh;
64
+ display: flex;
65
+ flex-direction: column;
66
+ box-sizing: border-box;
37
67
  }
38
68
 
39
- button {
40
- border-radius: 8px;
41
- border: 1px solid transparent;
42
- padding: 0.6em 1.2em;
43
- font-size: 1em;
69
+ h1,
70
+ h2 {
71
+ font-family: var(--heading);
44
72
  font-weight: 500;
45
- font-family: inherit;
46
- background-color: #1a1a1a;
47
- cursor: pointer;
48
- transition: border-color 0.25s;
49
- }
50
- button:hover {
51
- border-color: #646cff;
52
- }
53
- button:focus,
54
- button:focus-visible {
55
- outline: 4px auto -webkit-focus-ring-color;
73
+ color: var(--text-h);
56
74
  }
57
75
 
58
- @media (prefers-color-scheme: light) {
59
- :root {
60
- color: #213547;
61
- background-color: #ffffff;
62
- }
63
- a:hover {
64
- color: #747bff;
76
+ h1 {
77
+ font-size: 56px;
78
+ letter-spacing: -1.68px;
79
+ margin: 32px 0;
80
+ @media (max-width: 1024px) {
81
+ font-size: 36px;
82
+ margin: 20px 0;
65
83
  }
66
- button {
67
- background-color: #f9f9f9;
84
+ }
85
+ h2 {
86
+ font-size: 24px;
87
+ line-height: 118%;
88
+ letter-spacing: -0.24px;
89
+ margin: 0 0 8px;
90
+ @media (max-width: 1024px) {
91
+ font-size: 20px;
68
92
  }
69
93
  }
94
+ p {
95
+ margin: 0;
96
+ }
97
+
98
+ code,
99
+ .counter {
100
+ font-family: var(--mono);
101
+ display: inline-flex;
102
+ border-radius: 4px;
103
+ color: var(--text-h);
104
+ }
105
+
106
+ code {
107
+ font-size: 15px;
108
+ line-height: 135%;
109
+ padding: 4px 8px;
110
+ background: var(--code-bg);
111
+ }
@@ -1,5 +1,5 @@
1
- import './index.css'
2
1
  import { render } from 'preact'
2
+ import './index.css'
3
3
  import { App } from './app.jsx'
4
4
 
5
5
  render(<App />, document.getElementById('app'))
@@ -6,7 +6,7 @@ You need to have Deno v2.0.0 or later installed to run this repo.
6
6
 
7
7
  Start a dev server:
8
8
 
9
- ```
9
+ ```bash
10
10
  $ deno task dev
11
11
  ```
12
12
 
@@ -14,6 +14,6 @@ $ deno task dev
14
14
 
15
15
  Build production assets:
16
16
 
17
- ```
17
+ ```bash
18
18
  $ deno task build
19
19
  ```
@@ -6,14 +6,14 @@
6
6
  "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
7
  },
8
8
  "compilerOptions": {
9
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
9
+ "lib": ["ES2023", "DOM"],
10
10
  "jsx": "react-jsx",
11
11
  "jsxImportSource": "preact"
12
12
  },
13
13
  "imports": {
14
- "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
15
- "@preact/preset-vite": "npm:@preact/preset-vite@^2.10.3",
16
- "preact": "npm:preact@^10.28.2",
17
- "vite": "npm:vite@^7.3.1"
14
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^2.0.2",
15
+ "@preact/preset-vite": "npm:@preact/preset-vite@^2.10.5",
16
+ "preact": "npm:preact@^10.29.1",
17
+ "vite": "npm:vite@^8.0.3"
18
18
  }
19
19
  }
@@ -2,7 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vite + Preact + TS</title>
8
8
  </head>