create-vite-extra 2.2.0 → 2.4.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 (244) hide show
  1. package/LICENSE +124 -0
  2. package/README.md +2 -2
  3. package/index.js +118 -125
  4. package/package.json +6 -2
  5. package/template-deno-lit/.vscode/extensions.json +3 -0
  6. package/template-deno-lit/README.md +1 -12
  7. package/template-deno-lit/deno.json +8 -0
  8. package/template-deno-lit/index.html +1 -1
  9. package/template-deno-lit/src/my-element.js +3 -3
  10. package/template-deno-lit/vite.config.js +16 -0
  11. package/template-deno-lit-ts/.vscode/extensions.json +3 -0
  12. package/template-deno-lit-ts/README.md +1 -12
  13. package/template-deno-lit-ts/deno.json +9 -0
  14. package/template-deno-lit-ts/index.html +1 -1
  15. package/template-deno-lit-ts/src/my-element.ts +5 -4
  16. package/template-deno-lit-ts/tsconfig.json +1 -0
  17. package/template-deno-lit-ts/vite.config.ts +16 -0
  18. package/template-deno-preact/.vscode/extensions.json +3 -0
  19. package/template-deno-preact/README.md +1 -12
  20. package/template-deno-preact/deno.json +12 -1
  21. package/template-deno-preact/index.html +1 -1
  22. package/template-deno-preact/src/app.jsx +2 -2
  23. package/template-deno-preact/src/main.jsx +2 -2
  24. package/template-deno-preact/vite.config.js +8 -0
  25. package/template-deno-preact-ts/.vscode/extensions.json +3 -0
  26. package/template-deno-preact-ts/README.md +1 -12
  27. package/template-deno-preact-ts/deno.json +12 -1
  28. package/template-deno-preact-ts/index.html +1 -1
  29. package/template-deno-preact-ts/src/app.tsx +3 -2
  30. package/template-deno-preact-ts/src/main.tsx +2 -2
  31. package/template-deno-preact-ts/vite.config.ts +8 -0
  32. package/template-deno-react/.vscode/extensions.json +3 -0
  33. package/template-deno-react/README.md +1 -12
  34. package/template-deno-react/deno.json +16 -1
  35. package/template-deno-react/index.html +1 -1
  36. package/template-deno-react/src/App.jsx +3 -2
  37. package/template-deno-react/src/main.jsx +8 -6
  38. package/template-deno-react/vite.config.js +8 -0
  39. package/template-deno-react-ts/.vscode/extensions.json +3 -0
  40. package/template-deno-react-ts/README.md +1 -12
  41. package/template-deno-react-ts/deno.json +16 -1
  42. package/template-deno-react-ts/index.html +1 -1
  43. package/template-deno-react-ts/src/App.tsx +4 -2
  44. package/template-deno-react-ts/src/main.tsx +8 -6
  45. package/template-deno-react-ts/vite.config.ts +8 -0
  46. package/template-deno-solid/.vscode/extensions.json +3 -0
  47. package/template-deno-solid/README.md +1 -12
  48. package/template-deno-solid/deno.json +12 -1
  49. package/template-deno-solid/index.html +1 -1
  50. package/template-deno-solid/src/App.jsx +2 -2
  51. package/template-deno-solid/src/main.jsx +2 -3
  52. package/template-deno-solid/vite.config.js +8 -0
  53. package/template-deno-solid-ts/.vscode/extensions.json +3 -0
  54. package/template-deno-solid-ts/README.md +1 -12
  55. package/template-deno-solid-ts/deno.json +12 -1
  56. package/template-deno-solid-ts/index.html +1 -1
  57. package/template-deno-solid-ts/src/App.tsx +3 -2
  58. package/template-deno-solid-ts/src/main.tsx +3 -4
  59. package/template-deno-solid-ts/vite.config.ts +8 -0
  60. package/template-deno-svelte/.vscode/extensions.json +1 -1
  61. package/template-deno-svelte/README.md +1 -12
  62. package/template-deno-svelte/deno.json +10 -1
  63. package/template-deno-svelte/index.html +1 -1
  64. package/template-deno-svelte/src/App.svelte +1 -1
  65. package/template-deno-svelte/src/lib/Counter.svelte +2 -2
  66. package/template-deno-svelte/src/main.js +3 -2
  67. package/template-deno-svelte/svelte.config.js +2 -2
  68. package/template-deno-svelte/vite.config.js +8 -0
  69. package/template-deno-svelte-ts/.vscode/extensions.json +1 -1
  70. package/template-deno-svelte-ts/README.md +1 -12
  71. package/template-deno-svelte-ts/deno.json +10 -1
  72. package/template-deno-svelte-ts/index.html +1 -1
  73. package/template-deno-svelte-ts/src/App.svelte +1 -1
  74. package/template-deno-svelte-ts/src/lib/Counter.svelte +2 -2
  75. package/template-deno-svelte-ts/src/main.ts +3 -2
  76. package/template-deno-svelte-ts/svelte.config.js +2 -2
  77. package/template-deno-svelte-ts/vite.config.ts +8 -0
  78. package/template-deno-vanilla/.vscode/extensions.json +3 -0
  79. package/template-deno-vanilla/deno.json +8 -1
  80. package/template-deno-vanilla/index.html +1 -1
  81. package/template-deno-vanilla/main.js +1 -1
  82. package/template-deno-vanilla/vite.config.js +7 -0
  83. package/template-deno-vanilla-ts/.vscode/extensions.json +3 -0
  84. package/template-deno-vanilla-ts/deno.json +8 -1
  85. package/template-deno-vanilla-ts/index.html +1 -1
  86. package/template-deno-vanilla-ts/src/main.ts +1 -1
  87. package/template-deno-vanilla-ts/vite.config.ts +7 -0
  88. package/template-deno-vue/.vscode/extensions.json +3 -0
  89. package/template-deno-vue/README.md +1 -12
  90. package/template-deno-vue/deno.json +10 -1
  91. package/template-deno-vue/index.html +1 -1
  92. package/template-deno-vue/src/App.vue +1 -1
  93. package/template-deno-vue/src/components/HelloWorld.vue +1 -1
  94. package/template-deno-vue/src/main.js +1 -1
  95. package/template-deno-vue/vite.config.js +8 -0
  96. package/template-deno-vue-ts/.vscode/extensions.json +3 -0
  97. package/template-deno-vue-ts/README.md +1 -23
  98. package/template-deno-vue-ts/deno.json +10 -1
  99. package/template-deno-vue-ts/index.html +1 -1
  100. package/template-deno-vue-ts/src/App.vue +1 -1
  101. package/template-deno-vue-ts/src/main.ts +1 -1
  102. package/template-deno-vue-ts/vite.config.ts +8 -0
  103. package/template-library/index.html +1 -1
  104. package/template-library/main.js +1 -1
  105. package/template-library/package.json +1 -1
  106. package/template-library/vite.config.js +3 -3
  107. package/template-library-ts/index.html +1 -1
  108. package/template-library-ts/package.json +2 -2
  109. package/template-library-ts/src/main.ts +1 -1
  110. package/template-library-ts/tsconfig.json +3 -2
  111. package/template-library-ts/vite.config.ts +3 -3
  112. package/template-ssr-preact/index.html +1 -1
  113. package/template-ssr-preact/package.json +6 -6
  114. package/template-ssr-preact/server.js +2 -2
  115. package/template-ssr-preact/src/app.jsx +2 -2
  116. package/template-ssr-preact/vite.config.js +5 -5
  117. package/template-ssr-preact-ts/index.html +1 -1
  118. package/template-ssr-preact-ts/package-lock.json +2923 -0
  119. package/template-ssr-preact-ts/package.json +9 -9
  120. package/template-ssr-preact-ts/server.js +2 -2
  121. package/template-ssr-preact-ts/src/app.tsx +2 -2
  122. package/template-ssr-preact-ts/tsconfig.json +3 -2
  123. package/template-ssr-preact-ts/tsconfig.node.json +16 -3
  124. package/template-ssr-preact-ts/vite.config.ts +5 -5
  125. package/template-ssr-react/index.html +1 -1
  126. package/template-ssr-react/package-lock.json +2629 -0
  127. package/template-ssr-react/package.json +8 -8
  128. package/template-ssr-react/server.js +2 -2
  129. package/template-ssr-react/src/App.jsx +2 -2
  130. package/template-ssr-react/src/entry-client.jsx +5 -5
  131. package/template-ssr-react/src/entry-server.jsx +5 -5
  132. package/template-ssr-react/vite.config.js +2 -2
  133. package/template-ssr-react-streaming/index.html +1 -1
  134. package/template-ssr-react-streaming/package-lock.json +2596 -0
  135. package/template-ssr-react-streaming/package.json +7 -7
  136. package/template-ssr-react-streaming/server.js +4 -4
  137. package/template-ssr-react-streaming/src/App.jsx +2 -2
  138. package/template-ssr-react-streaming/src/Card.jsx +1 -1
  139. package/template-ssr-react-streaming/src/entry-client.jsx +5 -5
  140. package/template-ssr-react-streaming/src/entry-server.jsx +4 -4
  141. package/template-ssr-react-streaming/vite.config.js +2 -2
  142. package/template-ssr-react-streaming-ts/index.html +1 -1
  143. package/template-ssr-react-streaming-ts/package.json +12 -12
  144. package/template-ssr-react-streaming-ts/server.js +4 -4
  145. package/template-ssr-react-streaming-ts/src/App.tsx +2 -2
  146. package/template-ssr-react-streaming-ts/src/entry-client.tsx +5 -5
  147. package/template-ssr-react-streaming-ts/src/entry-server.tsx +13 -6
  148. package/template-ssr-react-streaming-ts/tsconfig.json +4 -3
  149. package/template-ssr-react-streaming-ts/tsconfig.node.json +16 -3
  150. package/template-ssr-react-streaming-ts/vite.config.ts +2 -2
  151. package/template-ssr-react-ts/index.html +1 -1
  152. package/template-ssr-react-ts/package.json +11 -11
  153. package/template-ssr-react-ts/server.js +2 -2
  154. package/template-ssr-react-ts/src/App.tsx +2 -2
  155. package/template-ssr-react-ts/src/entry-client.tsx +5 -5
  156. package/template-ssr-react-ts/src/entry-server.tsx +5 -5
  157. package/template-ssr-react-ts/tsconfig.json +4 -3
  158. package/template-ssr-react-ts/tsconfig.node.json +16 -3
  159. package/template-ssr-react-ts/vite.config.ts +2 -2
  160. package/template-ssr-solid/index.html +1 -1
  161. package/template-ssr-solid/package.json +4 -4
  162. package/template-ssr-solid/server.js +2 -2
  163. package/template-ssr-solid/src/App.jsx +2 -2
  164. package/template-ssr-solid/vite.config.js +2 -2
  165. package/template-ssr-solid-ts/index.html +1 -1
  166. package/template-ssr-solid-ts/package.json +6 -6
  167. package/template-ssr-solid-ts/server.js +2 -2
  168. package/template-ssr-solid-ts/src/App.tsx +2 -2
  169. package/template-ssr-solid-ts/tsconfig.json +4 -3
  170. package/template-ssr-solid-ts/tsconfig.node.json +16 -3
  171. package/template-ssr-solid-ts/vite.config.ts +2 -2
  172. package/template-ssr-svelte/index.html +1 -1
  173. package/template-ssr-svelte/jsconfig.json +2 -3
  174. package/template-ssr-svelte/package-lock.json +2125 -0
  175. package/template-ssr-svelte/package.json +5 -5
  176. package/template-ssr-svelte/server.js +3 -3
  177. package/template-ssr-svelte/src/App.svelte +1 -1
  178. package/template-ssr-svelte/src/entry-client.js +2 -2
  179. package/template-ssr-svelte/src/entry-server.js +2 -2
  180. package/template-ssr-svelte/src/lib/Counter.svelte +2 -2
  181. package/template-ssr-svelte/svelte.config.js +1 -1
  182. package/template-ssr-svelte/vite.config.js +2 -8
  183. package/template-ssr-svelte-ts/index.html +1 -1
  184. package/template-ssr-svelte-ts/package-lock.json +2345 -0
  185. package/template-ssr-svelte-ts/package.json +12 -11
  186. package/template-ssr-svelte-ts/server.js +3 -3
  187. package/template-ssr-svelte-ts/src/App.svelte +1 -1
  188. package/template-ssr-svelte-ts/src/entry-client.ts +3 -3
  189. package/template-ssr-svelte-ts/src/entry-server.ts +2 -2
  190. package/template-ssr-svelte-ts/src/lib/Counter.svelte +2 -2
  191. package/template-ssr-svelte-ts/svelte.config.js +1 -1
  192. package/template-ssr-svelte-ts/tsconfig.json +2 -1
  193. package/template-ssr-svelte-ts/tsconfig.node.json +4 -1
  194. package/template-ssr-svelte-ts/vite.config.ts +2 -8
  195. package/template-ssr-transform/package.json +1 -1
  196. package/template-ssr-vanilla/index.html +1 -1
  197. package/template-ssr-vanilla/package.json +3 -3
  198. package/template-ssr-vanilla/server.js +2 -2
  199. package/template-ssr-vanilla/src/entry-server.js +1 -1
  200. package/template-ssr-vanilla-ts/index.html +1 -1
  201. package/template-ssr-vanilla-ts/package.json +6 -6
  202. package/template-ssr-vanilla-ts/server.js +2 -2
  203. package/template-ssr-vanilla-ts/src/entry-server.ts +1 -1
  204. package/template-ssr-vanilla-ts/tsconfig.json +3 -2
  205. package/template-ssr-vue/index.html +1 -1
  206. package/template-ssr-vue/package.json +5 -5
  207. package/template-ssr-vue/server.js +2 -2
  208. package/template-ssr-vue/src/App.vue +1 -1
  209. package/template-ssr-vue/src/components/HelloWorld.vue +1 -1
  210. package/template-ssr-vue/vite.config.js +2 -2
  211. package/template-ssr-vue-streaming/index.html +1 -1
  212. package/template-ssr-vue-streaming/package.json +5 -5
  213. package/template-ssr-vue-streaming/server.js +2 -2
  214. package/template-ssr-vue-streaming/src/App.vue +1 -1
  215. package/template-ssr-vue-streaming/src/components/HelloWorld.vue +1 -1
  216. package/template-ssr-vue-streaming/vite.config.js +2 -2
  217. package/template-ssr-vue-streaming-ts/index.html +1 -1
  218. package/template-ssr-vue-streaming-ts/package-lock.json +2346 -0
  219. package/template-ssr-vue-streaming-ts/package.json +9 -9
  220. package/template-ssr-vue-streaming-ts/server.js +2 -2
  221. package/template-ssr-vue-streaming-ts/src/App.vue +1 -1
  222. package/template-ssr-vue-streaming-ts/tsconfig.json +5 -4
  223. package/template-ssr-vue-streaming-ts/tsconfig.node.json +16 -2
  224. package/template-ssr-vue-streaming-ts/vite.config.ts +2 -2
  225. package/template-ssr-vue-ts/index.html +1 -1
  226. package/template-ssr-vue-ts/package-lock.json +2346 -0
  227. package/template-ssr-vue-ts/package.json +11 -10
  228. package/template-ssr-vue-ts/server.js +2 -2
  229. package/template-ssr-vue-ts/src/App.vue +1 -1
  230. package/template-ssr-vue-ts/tsconfig.json +5 -4
  231. package/template-ssr-vue-ts/tsconfig.node.json +16 -2
  232. package/template-ssr-vue-ts/vite.config.ts +2 -2
  233. package/template-deno-lit/vite.config.mjs +0 -16
  234. package/template-deno-lit-ts/vite.config.mts +0 -16
  235. package/template-deno-preact/vite.config.mjs +0 -14
  236. package/template-deno-preact-ts/vite.config.mts +0 -14
  237. package/template-deno-react/vite.config.mjs +0 -10
  238. package/template-deno-react-ts/vite.config.mts +0 -10
  239. package/template-deno-solid/vite.config.mjs +0 -9
  240. package/template-deno-solid-ts/vite.config.mts +0 -9
  241. package/template-deno-svelte/vite.config.mjs +0 -9
  242. package/template-deno-svelte-ts/vite.config.mts +0 -9
  243. package/template-deno-vue/vite.config.mjs +0 -9
  244. package/template-deno-vue-ts/vite.config.mts +0 -9
@@ -3,6 +3,17 @@
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build",
5
5
  "preview": "deno run -A --node-modules-dir npm:vite preview",
6
- "serve": "deno run --allow-net --allow-read https://deno.land/std@0.157.0/http/file_server.ts dist/"
6
+ "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
+ },
8
+ "compilerOptions": {
9
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
10
+ "jsx": "react-jsx",
11
+ "jsxImportSource": "solid-js"
12
+ },
13
+ "imports": {
14
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
15
+ "solid-js": "npm:solid-js@^1.9.2",
16
+ "vite": "npm:vite@^5.4.9",
17
+ "vite-plugin-solid": "npm:vite-plugin-solid@^2.10.2"
7
18
  }
8
19
  }
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -1,6 +1,7 @@
1
+ import './App.css'
1
2
  import { createSignal } from 'solid-js'
3
+ // @ts-expect-error Unable to infer type at the moment
2
4
  import solidLogo from './assets/solid.svg'
3
- import './App.css'
4
5
 
5
6
  function App() {
6
7
  const [count, setCount] = createSignal(0)
@@ -9,7 +10,7 @@ function App() {
9
10
  <div class="App">
10
11
  <img src="/vite-deno.svg" alt="Vite with Deno" />
11
12
  <div>
12
- <a href="https://vitejs.dev" target="_blank">
13
+ <a href="https://vite.dev" target="_blank">
13
14
  <img src="/vite.svg" class="logo" alt="Vite logo" />
14
15
  </a>
15
16
  <a href="https://www.solidjs.com" target="_blank">
@@ -1,7 +1,6 @@
1
1
  /* @refresh reload */
2
- import { render } from 'solid-js/web'
3
-
4
- import App from './App'
5
2
  import './index.css'
3
+ import { render } from 'solid-js/web'
4
+ import App from './App.tsx'
6
5
 
7
- render(() => <App />, document.getElementById('root'))
6
+ render(() => <App />, document.getElementById('root') as HTMLElement)
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import solid from 'vite-plugin-solid'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), solid()],
8
+ })
@@ -1,3 +1,3 @@
1
1
  {
2
- "recommendations": ["svelte.svelte-vscode"]
2
+ "recommendations": ["denoland.vscode-deno", "svelte.svelte-vscode"]
3
3
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Running
4
4
 
5
- You need to have Deno v1.28.0 or later installed to run this repo.
5
+ 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
 
@@ -17,14 +17,3 @@ Build production assets:
17
17
  ```
18
18
  $ deno task build
19
19
  ```
20
-
21
- ## Notes
22
-
23
- - You need to use `.mjs` or `.mts` extension for the `vite.config.[ext]` file.
24
-
25
- ## Papercuts
26
-
27
- Currently there's a "papercut" for Deno users:
28
-
29
- - peer dependencies need to be referenced in `vite.config.js` - in this example
30
- it is only `svelte` package that needs to be referenced
@@ -3,6 +3,15 @@
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build",
5
5
  "preview": "deno run -A --node-modules-dir npm:vite preview",
6
- "serve": "deno run --allow-net --allow-read https://deno.land/std@0.157.0/http/file_server.ts dist/"
6
+ "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
+ },
8
+ "compilerOptions": {
9
+ "lib": ["ES2020", "DOM", "DOM.Iterable"]
10
+ },
11
+ "imports": {
12
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
13
+ "@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@^4.0.0",
14
+ "svelte": "npm:svelte@^5.0.3",
15
+ "vite": "npm:vite@^5.4.9"
7
16
  }
8
17
  }
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -6,7 +6,7 @@
6
6
  <main>
7
7
  <img src="/vite-deno.svg" alt="Vite with Deno" />
8
8
  <div>
9
- <a href="https://vitejs.dev" target="_blank" rel="noreferrer">
9
+ <a href="https://vite.dev" target="_blank" rel="noreferrer">
10
10
  <img src="/vite.svg" class="logo" alt="Vite Logo" />
11
11
  </a>
12
12
  <a href="https://svelte.dev" target="_blank" rel="noreferrer">
@@ -1,10 +1,10 @@
1
1
  <script>
2
- let count = 0
2
+ let count = $state(0)
3
3
  const increment = () => {
4
4
  count += 1
5
5
  }
6
6
  </script>
7
7
 
8
- <button on:click={increment}>
8
+ <button onclick={increment}>
9
9
  count is {count}
10
10
  </button>
@@ -1,8 +1,9 @@
1
1
  import './app.css'
2
+ import { mount } from 'svelte'
2
3
  import App from './App.svelte'
3
4
 
4
- const app = new App({
5
- target: document.getElementById('app')
5
+ const app = mount(App, {
6
+ target: document.getElementById('app'),
6
7
  })
7
8
 
8
9
  export default app
@@ -1,5 +1,5 @@
1
- import { vitePreprocess } from 'npm:@sveltejs/vite-plugin-svelte@^2.4.1'
1
+ import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
2
2
 
3
3
  export default {
4
- preprocess: vitePreprocess()
4
+ preprocess: vitePreprocess(),
5
5
  }
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import { svelte } from '@sveltejs/vite-plugin-svelte'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), svelte()],
8
+ })
@@ -1,3 +1,3 @@
1
1
  {
2
- "recommendations": ["svelte.svelte-vscode"]
2
+ "recommendations": ["denoland.vscode-deno", "svelte.svelte-vscode"]
3
3
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Running
4
4
 
5
- You need to have Deno v1.28.0 or later installed to run this repo.
5
+ 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
 
@@ -17,14 +17,3 @@ Build production assets:
17
17
  ```
18
18
  $ deno task build
19
19
  ```
20
-
21
- ## Notes
22
-
23
- - You need to use `.mjs` or `.mts` extension for the `vite.config.[ext]` file.
24
-
25
- ## Papercuts
26
-
27
- Currently there's a "papercut" for Deno users:
28
-
29
- - peer dependencies need to be referenced in `vite.config.js` - in this example
30
- it is only `svelte` package that needs to be referenced
@@ -3,6 +3,15 @@
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build",
5
5
  "preview": "deno run -A --node-modules-dir npm:vite preview",
6
- "serve": "deno run --allow-net --allow-read https://deno.land/std@0.157.0/http/file_server.ts dist/"
6
+ "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
+ },
8
+ "compilerOptions": {
9
+ "lib": ["ES2020", "DOM", "DOM.Iterable"]
10
+ },
11
+ "imports": {
12
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
13
+ "@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@^4.0.0",
14
+ "svelte": "npm:svelte@^5.0.3",
15
+ "vite": "npm:vite@^5.4.9"
7
16
  }
8
17
  }
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -6,7 +6,7 @@
6
6
  <main>
7
7
  <img src="/vite-deno.svg" alt="Vite with Deno" />
8
8
  <div>
9
- <a href="https://vitejs.dev" target="_blank" rel="noreferrer">
9
+ <a href="https://vite.dev" target="_blank" rel="noreferrer">
10
10
  <img src="/vite.svg" class="logo" alt="Vite Logo" />
11
11
  </a>
12
12
  <a href="https://svelte.dev" target="_blank" rel="noreferrer">
@@ -1,10 +1,10 @@
1
1
  <script lang="ts">
2
- let count: number = 0
2
+ let count: number = $state(0)
3
3
  const increment = () => {
4
4
  count += 1
5
5
  }
6
6
  </script>
7
7
 
8
- <button on:click={increment}>
8
+ <button onclick={increment}>
9
9
  count is {count}
10
10
  </button>
@@ -1,8 +1,9 @@
1
1
  import './app.css'
2
+ import { mount } from 'svelte'
2
3
  import App from './App.svelte'
3
4
 
4
- const app = new App({
5
- target: document.getElementById('app'),
5
+ const app = mount(App, {
6
+ target: document.getElementById('app')!,
6
7
  })
7
8
 
8
9
  export default app
@@ -1,5 +1,5 @@
1
- import { vitePreprocess } from 'npm:@sveltejs/vite-plugin-svelte@^2.4.1'
1
+ import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
2
2
 
3
3
  export default {
4
- preprocess: vitePreprocess()
4
+ preprocess: vitePreprocess(),
5
5
  }
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import { svelte } from '@sveltejs/vite-plugin-svelte'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), svelte()],
8
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
3
+ }
@@ -3,6 +3,13 @@
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build",
5
5
  "preview": "deno run -A --node-modules-dir npm:vite preview",
6
- "serve": "deno run --allow-net --allow-read https://deno.land/std@0.157.0/http/file_server.ts dist/"
6
+ "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
+ },
8
+ "compilerOptions": {
9
+ "lib": ["ES2020", "DOM", "DOM.Iterable"]
10
+ },
11
+ "imports": {
12
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
13
+ "vite": "npm:vite@^5.4.9"
7
14
  }
8
15
  }
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -6,7 +6,7 @@ document.querySelector('#app').innerHTML = `
6
6
  <div>
7
7
  <img src="/vite-deno.svg" alt="Vite with Deno" />
8
8
  <div>
9
- <a href="https://vitejs.dev" target="_blank">
9
+ <a href="https://vite.dev" target="_blank">
10
10
  <img src="/vite.svg" class="logo" alt="Vite logo" />
11
11
  </a>
12
12
  <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript" target="_blank">
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+
4
+ // https://vite.dev/config/
5
+ export default defineConfig({
6
+ plugins: [deno()],
7
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
3
+ }
@@ -3,6 +3,13 @@
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build",
5
5
  "preview": "deno run -A --node-modules-dir npm:vite preview",
6
- "serve": "deno run --allow-net --allow-read https://deno.land/std@0.157.0/http/file_server.ts dist/"
6
+ "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
+ },
8
+ "compilerOptions": {
9
+ "lib": ["ES2020", "DOM", "DOM.Iterable"]
10
+ },
11
+ "imports": {
12
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
13
+ "vite": "npm:vite@^5.4.9"
7
14
  }
8
15
  }
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -5,7 +5,7 @@ import { setupCounter } from './counter'
5
5
  document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
6
6
  <div>
7
7
  <img src="/vite-deno.svg" alt="Vite with Deno" />
8
- <a href="https://vitejs.dev" target="_blank">
8
+ <a href="https://vite.dev" target="_blank">
9
9
  <img src="/vite.svg" class="logo" alt="Vite logo" />
10
10
  </a>
11
11
  <a href="https://www.typescriptlang.org/" target="_blank">
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+
4
+ // https://vite.dev/config/
5
+ export default defineConfig({
6
+ plugins: [deno()],
7
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno", "Vue.volar"]
3
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Running
4
4
 
5
- You need to have Deno v1.28.0 or later installed to run this repo.
5
+ 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
 
@@ -17,14 +17,3 @@ Build production assets:
17
17
  ```
18
18
  $ deno task build
19
19
  ```
20
-
21
- ## Notes
22
-
23
- - You need to use `.mjs` or `.mts` extension for the `vite.config.[ext]` file.
24
-
25
- ## Papercuts
26
-
27
- Currently there's a "papercut" for Deno users:
28
-
29
- - peer dependencies need to be referenced in `vite.config.js` - in this example
30
- it is only `vue` package that needs to be referenced
@@ -3,6 +3,15 @@
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build",
5
5
  "preview": "deno run -A --node-modules-dir npm:vite preview",
6
- "serve": "deno run --allow-net --allow-read https://deno.land/std@0.157.0/http/file_server.ts dist/"
6
+ "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
+ },
8
+ "compilerOptions": {
9
+ "lib": ["ES2020", "DOM", "DOM.Iterable"]
10
+ },
11
+ "imports": {
12
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
13
+ "@vitejs/plugin-vue": "npm:@vitejs/plugin-vue@^5.1.4",
14
+ "vite": "npm:vite@^5.4.9",
15
+ "vue": "npm:vue@^3.5.12"
7
16
  }
8
17
  }
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -7,7 +7,7 @@ import HelloWorld from './components/HelloWorld.vue'
7
7
  <template>
8
8
  <img src="/vite-deno.svg" alt="Vite with Deno" />
9
9
  <div>
10
- <a href="https://vitejs.dev" target="_blank">
10
+ <a href="https://vite.dev" target="_blank">
11
11
  <img src="/vite.svg" class="logo" alt="Vite logo" />
12
12
  </a>
13
13
  <a href="https://vuejs.org/" target="_blank">
@@ -2,7 +2,7 @@
2
2
  import { ref } from 'vue'
3
3
 
4
4
  defineProps({
5
- msg: String
5
+ msg: String,
6
6
  })
7
7
 
8
8
  const count = ref(0)
@@ -1,5 +1,5 @@
1
- import { createApp } from 'vue'
2
1
  import './style.css'
2
+ import { createApp } from 'vue'
3
3
  import App from './App.vue'
4
4
 
5
5
  createApp(App).mount('#app')
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import vue from '@vitejs/plugin-vue'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), vue()],
8
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno", "Vue.volar"]
3
+ }
@@ -1,23 +1,8 @@
1
1
  # Vite + Deno + Vue 3 + TypeScript
2
2
 
3
- This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
4
-
5
- ## Recommended IDE Setup
6
-
7
- - [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
8
-
9
- ## Type Support For `.vue` Imports in TS
10
-
11
- Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's Take Over mode by following these steps:
12
-
13
- 1. Run `Extensions: Show Built-in Extensions` from VS Code's command palette, look for `TypeScript and JavaScript Language Features`, then right click and select `Disable (Workspace)`. By default, Take Over mode will enable itself if the default TypeScript extension is disabled.
14
- 2. Reload the VS Code window by running `Developer: Reload Window` from the command palette.
15
-
16
- You can learn more about Take Over mode [here](https://github.com/johnsoncodehk/volar/discussions/471).
17
-
18
3
  ## Running
19
4
 
20
- You need to have Deno v1.28.0 or later installed to run this repo.
5
+ You need to have Deno v2.0.0 or later installed to run this repo.
21
6
 
22
7
  Start a dev server:
23
8
 
@@ -32,10 +17,3 @@ Build production assets:
32
17
  ```
33
18
  $ deno task build
34
19
  ```
35
-
36
- ## Caveats
37
-
38
- Currently there's a caveat for Deno users:
39
-
40
- - peer dependencies need to be referenced in `vite.config.mts`. In this example
41
- it is only `vue` package that needs to be referenced.
@@ -3,6 +3,15 @@
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build",
5
5
  "preview": "deno run -A --node-modules-dir npm:vite preview",
6
- "serve": "deno run --allow-net --allow-read https://deno.land/std@0.157.0/http/file_server.ts dist/"
6
+ "serve": "deno run --allow-net --allow-read jsr:@std/http@1/file-server dist/"
7
+ },
8
+ "compilerOptions": {
9
+ "lib": ["ES2020", "DOM", "DOM.Iterable"]
10
+ },
11
+ "imports": {
12
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
13
+ "@vitejs/plugin-vue": "npm:@vitejs/plugin-vue@^5.1.4",
14
+ "vite": "npm:vite@^5.4.9",
15
+ "vue": "npm:vue@^3.5.12"
7
16
  }
8
17
  }
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -7,7 +7,7 @@ import HelloWorld from './components/HelloWorld.vue'
7
7
  <template>
8
8
  <img src="/vite-deno.svg" alt="Vite with Deno" />
9
9
  <div>
10
- <a href="https://vitejs.dev" target="_blank">
10
+ <a href="https://vite.dev" target="_blank">
11
11
  <img src="/vite.svg" class="logo" alt="Vite logo" />
12
12
  </a>
13
13
  <a href="https://vuejs.org/" target="_blank">
@@ -1,5 +1,5 @@
1
- import { createApp } from 'vue'
2
1
  import './style.css'
2
+ import { createApp } from 'vue'
3
3
  import App from './App.vue'
4
4
 
5
5
  createApp(App).mount('#app')
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import vue from '@vitejs/plugin-vue'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), vue()],
8
+ })
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -4,7 +4,7 @@ import { setupCounter } from './lib/main.js'
4
4
 
5
5
  document.querySelector('#app').innerHTML = `
6
6
  <div>
7
- <a href="https://vitejs.dev" target="_blank">
7
+ <a href="https://vite.dev" target="_blank">
8
8
  <img src="/vite.svg" class="logo" alt="Vite logo" />
9
9
  </a>
10
10
  <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript" target="_blank">
@@ -20,6 +20,6 @@
20
20
  "build": "vite build"
21
21
  },
22
22
  "devDependencies": {
23
- "vite": "^5.2.10"
23
+ "vite": "^5.4.9"
24
24
  }
25
25
  }
@@ -5,7 +5,7 @@ export default defineConfig({
5
5
  lib: {
6
6
  entry: './lib/main.js',
7
7
  name: 'Counter',
8
- fileName: 'counter'
9
- }
10
- }
8
+ fileName: 'counter',
9
+ },
10
+ },
11
11
  })
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -20,7 +20,7 @@
20
20
  "build": "tsc && vite build"
21
21
  },
22
22
  "devDependencies": {
23
- "typescript": "^5.4.5",
24
- "vite": "^5.2.10"
23
+ "typescript": "~5.6.3",
24
+ "vite": "^5.4.9"
25
25
  }
26
26
  }