create-vite-extra 2.1.1 → 2.3.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 (227) hide show
  1. package/README.md +39 -35
  2. package/index.js +155 -128
  3. package/package.json +6 -2
  4. package/template-deno-lit/.vscode/extensions.json +3 -0
  5. package/template-deno-lit/README.md +1 -12
  6. package/template-deno-lit/deno.json +8 -0
  7. package/template-deno-lit/index.html +1 -1
  8. package/template-deno-lit/src/my-element.js +3 -3
  9. package/template-deno-lit/vite.config.js +16 -0
  10. package/template-deno-lit-ts/.vscode/extensions.json +3 -0
  11. package/template-deno-lit-ts/README.md +1 -12
  12. package/template-deno-lit-ts/deno.json +9 -0
  13. package/template-deno-lit-ts/index.html +1 -1
  14. package/template-deno-lit-ts/src/my-element.ts +5 -4
  15. package/template-deno-lit-ts/tsconfig.json +1 -0
  16. package/template-deno-lit-ts/vite.config.ts +16 -0
  17. package/template-deno-preact/.vscode/extensions.json +3 -0
  18. package/template-deno-preact/README.md +1 -12
  19. package/template-deno-preact/deno.json +12 -1
  20. package/template-deno-preact/index.html +1 -1
  21. package/template-deno-preact/src/app.jsx +1 -1
  22. package/template-deno-preact/src/main.jsx +1 -1
  23. package/template-deno-preact/vite.config.js +8 -0
  24. package/template-deno-preact-ts/.vscode/extensions.json +3 -0
  25. package/template-deno-preact-ts/README.md +1 -12
  26. package/template-deno-preact-ts/deno.json +12 -1
  27. package/template-deno-preact-ts/index.html +1 -1
  28. package/template-deno-preact-ts/src/app.tsx +2 -1
  29. package/template-deno-preact-ts/src/main.tsx +1 -1
  30. package/template-deno-preact-ts/vite.config.ts +8 -0
  31. package/template-deno-react/.vscode/extensions.json +3 -0
  32. package/template-deno-react/README.md +1 -12
  33. package/template-deno-react/deno.json +16 -1
  34. package/template-deno-react/index.html +1 -1
  35. package/template-deno-react/src/App.jsx +2 -1
  36. package/template-deno-react/src/main.jsx +8 -6
  37. package/template-deno-react/vite.config.js +8 -0
  38. package/template-deno-react-ts/.vscode/extensions.json +3 -0
  39. package/template-deno-react-ts/README.md +1 -12
  40. package/template-deno-react-ts/deno.json +16 -1
  41. package/template-deno-react-ts/index.html +1 -1
  42. package/template-deno-react-ts/src/App.tsx +3 -1
  43. package/template-deno-react-ts/src/main.tsx +8 -6
  44. package/template-deno-react-ts/vite.config.ts +8 -0
  45. package/template-deno-solid/.vscode/extensions.json +3 -0
  46. package/template-deno-solid/README.md +1 -12
  47. package/template-deno-solid/deno.json +12 -1
  48. package/template-deno-solid/index.html +1 -1
  49. package/template-deno-solid/src/App.jsx +1 -1
  50. package/template-deno-solid/src/main.jsx +1 -1
  51. package/template-deno-solid/vite.config.js +8 -0
  52. package/template-deno-solid-ts/.vscode/extensions.json +3 -0
  53. package/template-deno-solid-ts/README.md +1 -12
  54. package/template-deno-solid-ts/deno.json +12 -1
  55. package/template-deno-solid-ts/index.html +1 -1
  56. package/template-deno-solid-ts/src/App.tsx +2 -1
  57. package/template-deno-solid-ts/src/main.tsx +2 -2
  58. package/template-deno-solid-ts/vite.config.ts +8 -0
  59. package/template-deno-svelte/.vscode/extensions.json +1 -1
  60. package/template-deno-svelte/README.md +1 -12
  61. package/template-deno-svelte/deno.json +10 -1
  62. package/template-deno-svelte/index.html +1 -1
  63. package/template-deno-svelte/src/App.svelte +1 -1
  64. package/template-deno-svelte/src/main.js +1 -1
  65. package/template-deno-svelte/svelte.config.js +2 -2
  66. package/template-deno-svelte/vite.config.js +8 -0
  67. package/template-deno-svelte-ts/.vscode/extensions.json +1 -1
  68. package/template-deno-svelte-ts/README.md +1 -12
  69. package/template-deno-svelte-ts/deno.json +10 -1
  70. package/template-deno-svelte-ts/index.html +1 -1
  71. package/template-deno-svelte-ts/src/App.svelte +1 -1
  72. package/template-deno-svelte-ts/svelte.config.js +2 -2
  73. package/template-deno-svelte-ts/vite.config.ts +8 -0
  74. package/template-deno-vanilla/.vscode/extensions.json +3 -0
  75. package/template-deno-vanilla/deno.json +8 -1
  76. package/template-deno-vanilla/index.html +1 -1
  77. package/template-deno-vanilla/main.js +1 -1
  78. package/template-deno-vanilla/vite.config.js +7 -0
  79. package/template-deno-vanilla-ts/.vscode/extensions.json +3 -0
  80. package/template-deno-vanilla-ts/deno.json +8 -1
  81. package/template-deno-vanilla-ts/index.html +1 -1
  82. package/template-deno-vanilla-ts/src/main.ts +1 -1
  83. package/template-deno-vanilla-ts/vite.config.ts +7 -0
  84. package/template-deno-vue/.vscode/extensions.json +3 -0
  85. package/template-deno-vue/README.md +1 -12
  86. package/template-deno-vue/deno.json +10 -1
  87. package/template-deno-vue/index.html +1 -1
  88. package/template-deno-vue/src/App.vue +1 -1
  89. package/template-deno-vue/src/components/HelloWorld.vue +1 -1
  90. package/template-deno-vue/vite.config.js +8 -0
  91. package/template-deno-vue-ts/.vscode/extensions.json +3 -0
  92. package/template-deno-vue-ts/README.md +1 -23
  93. package/template-deno-vue-ts/deno.json +10 -1
  94. package/template-deno-vue-ts/index.html +1 -1
  95. package/template-deno-vue-ts/src/App.vue +1 -1
  96. package/template-deno-vue-ts/vite.config.ts +8 -0
  97. package/template-library/index.html +1 -1
  98. package/template-library/main.js +1 -1
  99. package/template-library/package.json +1 -1
  100. package/template-library/vite.config.js +3 -3
  101. package/template-library-ts/index.html +1 -1
  102. package/template-library-ts/package.json +2 -2
  103. package/template-library-ts/src/main.ts +1 -1
  104. package/template-library-ts/vite.config.ts +3 -3
  105. package/template-ssr-preact/index.html +1 -1
  106. package/template-ssr-preact/package.json +6 -6
  107. package/template-ssr-preact/server.js +2 -2
  108. package/template-ssr-preact/src/app.jsx +1 -1
  109. package/template-ssr-preact/vite.config.js +5 -5
  110. package/template-ssr-preact-ts/index.html +1 -1
  111. package/template-ssr-preact-ts/package.json +9 -9
  112. package/template-ssr-preact-ts/server.js +2 -2
  113. package/template-ssr-preact-ts/src/app.tsx +1 -1
  114. package/template-ssr-preact-ts/vite.config.ts +5 -5
  115. package/template-ssr-react/index.html +1 -1
  116. package/template-ssr-react/package.json +8 -8
  117. package/template-ssr-react/server.js +2 -2
  118. package/template-ssr-react/src/App.jsx +1 -1
  119. package/template-ssr-react/src/entry-client.jsx +5 -5
  120. package/template-ssr-react/src/entry-server.jsx +5 -5
  121. package/template-ssr-react/vite.config.js +2 -2
  122. package/template-ssr-react-streaming/_gitignore +24 -0
  123. package/template-ssr-react-streaming/index.html +14 -0
  124. package/template-ssr-react-streaming/package-lock.json +2596 -0
  125. package/template-ssr-react-streaming/package.json +25 -0
  126. package/template-ssr-react-streaming/public/vite.svg +1 -0
  127. package/template-ssr-react-streaming/server.js +104 -0
  128. package/template-ssr-react-streaming/src/App.css +41 -0
  129. package/template-ssr-react-streaming/src/App.jsx +32 -0
  130. package/template-ssr-react-streaming/src/Card.jsx +18 -0
  131. package/template-ssr-react-streaming/src/assets/react.svg +1 -0
  132. package/template-ssr-react-streaming/src/entry-client.jsx +11 -0
  133. package/template-ssr-react-streaming/src/entry-server.jsx +17 -0
  134. package/template-ssr-react-streaming/src/index.css +69 -0
  135. package/template-ssr-react-streaming/vite.config.js +7 -0
  136. package/template-ssr-react-streaming-ts/_gitignore +24 -0
  137. package/template-ssr-react-streaming-ts/index.html +14 -0
  138. package/template-ssr-react-streaming-ts/package.json +30 -0
  139. package/template-ssr-react-streaming-ts/public/vite.svg +1 -0
  140. package/template-ssr-react-streaming-ts/server.js +104 -0
  141. package/template-ssr-react-streaming-ts/src/App.css +41 -0
  142. package/template-ssr-react-streaming-ts/src/App.tsx +32 -0
  143. package/template-ssr-react-streaming-ts/src/Card.tsx +18 -0
  144. package/template-ssr-react-streaming-ts/src/assets/react.svg +1 -0
  145. package/template-ssr-react-streaming-ts/src/entry-client.tsx +11 -0
  146. package/template-ssr-react-streaming-ts/src/entry-server.tsx +19 -0
  147. package/template-ssr-react-streaming-ts/src/index.css +69 -0
  148. package/template-ssr-react-streaming-ts/src/vite-env.d.ts +1 -0
  149. package/template-ssr-react-streaming-ts/tsconfig.json +25 -0
  150. package/template-ssr-react-streaming-ts/tsconfig.node.json +11 -0
  151. package/template-ssr-react-streaming-ts/vite.config.ts +7 -0
  152. package/template-ssr-react-ts/index.html +1 -1
  153. package/template-ssr-react-ts/package.json +11 -11
  154. package/template-ssr-react-ts/server.js +2 -2
  155. package/template-ssr-react-ts/src/App.tsx +1 -1
  156. package/template-ssr-react-ts/src/entry-client.tsx +5 -5
  157. package/template-ssr-react-ts/src/entry-server.tsx +5 -5
  158. package/template-ssr-react-ts/vite.config.ts +2 -2
  159. package/template-ssr-solid/index.html +1 -1
  160. package/template-ssr-solid/package.json +5 -5
  161. package/template-ssr-solid/server.js +2 -2
  162. package/template-ssr-solid/src/App.jsx +1 -1
  163. package/template-ssr-solid/vite.config.js +2 -2
  164. package/template-ssr-solid-ts/index.html +1 -1
  165. package/template-ssr-solid-ts/package.json +7 -7
  166. package/template-ssr-solid-ts/server.js +2 -2
  167. package/template-ssr-solid-ts/src/App.tsx +1 -1
  168. package/template-ssr-solid-ts/vite.config.ts +2 -2
  169. package/template-ssr-svelte/index.html +1 -1
  170. package/template-ssr-svelte/package.json +5 -5
  171. package/template-ssr-svelte/server.js +2 -2
  172. package/template-ssr-svelte/src/App.svelte +1 -1
  173. package/template-ssr-svelte/src/entry-client.js +1 -1
  174. package/template-ssr-svelte/svelte.config.js +1 -1
  175. package/template-ssr-svelte/vite.config.js +5 -5
  176. package/template-ssr-svelte-ts/index.html +1 -1
  177. package/template-ssr-svelte-ts/package-lock.json +2376 -0
  178. package/template-ssr-svelte-ts/package.json +11 -11
  179. package/template-ssr-svelte-ts/server.js +2 -2
  180. package/template-ssr-svelte-ts/src/App.svelte +1 -1
  181. package/template-ssr-svelte-ts/src/entry-client.ts +1 -1
  182. package/template-ssr-svelte-ts/svelte.config.js +1 -1
  183. package/template-ssr-svelte-ts/vite.config.ts +5 -5
  184. package/template-ssr-transform/package.json +1 -1
  185. package/template-ssr-vanilla/index.html +1 -1
  186. package/template-ssr-vanilla/package.json +3 -3
  187. package/template-ssr-vanilla/server.js +2 -2
  188. package/template-ssr-vanilla/src/entry-server.js +1 -1
  189. package/template-ssr-vanilla-ts/index.html +1 -1
  190. package/template-ssr-vanilla-ts/package.json +6 -6
  191. package/template-ssr-vanilla-ts/server.js +2 -2
  192. package/template-ssr-vanilla-ts/src/entry-server.ts +1 -1
  193. package/template-ssr-vue/index.html +1 -1
  194. package/template-ssr-vue/package.json +5 -5
  195. package/template-ssr-vue/server.js +2 -2
  196. package/template-ssr-vue/src/App.vue +1 -1
  197. package/template-ssr-vue/src/components/HelloWorld.vue +1 -1
  198. package/template-ssr-vue/vite.config.js +2 -2
  199. package/template-ssr-vue-streaming/index.html +1 -1
  200. package/template-ssr-vue-streaming/package.json +5 -5
  201. package/template-ssr-vue-streaming/server.js +2 -2
  202. package/template-ssr-vue-streaming/src/App.vue +1 -1
  203. package/template-ssr-vue-streaming/src/components/HelloWorld.vue +1 -1
  204. package/template-ssr-vue-streaming/vite.config.js +2 -2
  205. package/template-ssr-vue-streaming-ts/index.html +1 -1
  206. package/template-ssr-vue-streaming-ts/package-lock.json +2346 -0
  207. package/template-ssr-vue-streaming-ts/package.json +9 -9
  208. package/template-ssr-vue-streaming-ts/server.js +2 -2
  209. package/template-ssr-vue-streaming-ts/src/App.vue +1 -1
  210. package/template-ssr-vue-streaming-ts/vite.config.ts +2 -2
  211. package/template-ssr-vue-ts/index.html +1 -1
  212. package/template-ssr-vue-ts/package.json +9 -9
  213. package/template-ssr-vue-ts/server.js +2 -2
  214. package/template-ssr-vue-ts/src/App.vue +1 -1
  215. package/template-ssr-vue-ts/vite.config.ts +2 -2
  216. package/template-deno-lit/vite.config.mjs +0 -16
  217. package/template-deno-lit-ts/vite.config.mts +0 -16
  218. package/template-deno-preact/vite.config.mjs +0 -10
  219. package/template-deno-preact-ts/vite.config.mts +0 -10
  220. package/template-deno-react/vite.config.mjs +0 -10
  221. package/template-deno-react-ts/vite.config.mts +0 -10
  222. package/template-deno-solid/vite.config.mjs +0 -9
  223. package/template-deno-solid-ts/vite.config.mts +0 -9
  224. package/template-deno-svelte/vite.config.mjs +0 -9
  225. package/template-deno-svelte-ts/vite.config.mts +0 -9
  226. package/template-deno-vue/vite.config.mjs +0 -9
  227. package/template-deno-vue-ts/vite.config.mts +0 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vite-extra",
3
- "version": "2.1.1",
3
+ "version": "2.3.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Bjorn Lu",
@@ -28,11 +28,15 @@
28
28
  },
29
29
  "homepage": "https://github.com/bluwy/create-vite-extra#readme",
30
30
  "dependencies": {
31
- "kolorist": "^1.8.0",
32
31
  "minimist": "^1.2.8",
32
+ "picocolors": "^1.1.0",
33
33
  "prompts": "^2.4.2"
34
34
  },
35
+ "devDependencies": {
36
+ "prettier": "^3.3.3"
37
+ },
35
38
  "scripts": {
39
+ "format": "prettier --write .",
36
40
  "update-deps": "pnpm update -r --latest && node update-deno-deps.js"
37
41
  }
38
42
  }
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
3
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Running
4
4
 
5
- You need to have Deno v1.28.0 or later intalled to run this repo.
5
+ You need to have Deno v2.0.0 or later intalled 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 `lit` package that needs to be referenced
@@ -2,5 +2,13 @@
2
2
  "tasks": {
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build"
5
+ },
6
+ "compilerOptions": {
7
+ "lib": ["ES2020", "DOM", "DOM.Iterable"]
8
+ },
9
+ "imports": {
10
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
11
+ "lit": "npm:lit@^2.7.5",
12
+ "vite": "npm:vite@^5.4.8"
5
13
  }
6
14
  }
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -18,7 +18,7 @@ export class MyElement extends LitElement {
18
18
  /**
19
19
  * The number of times the button has been clicked.
20
20
  */
21
- count: { type: Number }
21
+ count: { type: Number },
22
22
  }
23
23
  }
24
24
 
@@ -32,7 +32,7 @@ export class MyElement extends LitElement {
32
32
  return html`
33
33
  <img src="/vite-deno.svg" alt="Vite with Deno" />
34
34
  <div>
35
- <a href="https://vitejs.dev" target="_blank">
35
+ <a href="https://vite.dev" target="_blank">
36
36
  <img src="/vite.svg" class="logo" alt="Vite logo" />
37
37
  </a>
38
38
  <a href="https://lit.dev" target="_blank">
@@ -127,4 +127,4 @@ export class MyElement extends LitElement {
127
127
  }
128
128
  }
129
129
 
130
- window.customElements.define('my-element', MyElement)
130
+ globalThis.customElements.define('my-element', MyElement)
@@ -0,0 +1,16 @@
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
+ build: {
8
+ lib: {
9
+ entry: 'src/my-element.js',
10
+ formats: ['es'],
11
+ },
12
+ rollupOptions: {
13
+ external: /^lit/,
14
+ },
15
+ },
16
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
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 `lit` package that needs to be referenced
@@ -2,5 +2,14 @@
2
2
  "tasks": {
3
3
  "dev": "deno run -A --node-modules-dir npm:vite",
4
4
  "build": "deno run -A --node-modules-dir npm:vite build"
5
+ },
6
+ "compilerOptions": {
7
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
8
+ "experimentalDecorators": true
9
+ },
10
+ "imports": {
11
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
12
+ "lit": "npm:lit@^2.7.5",
13
+ "vite": "npm:vite@^5.4.8"
5
14
  }
6
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" />
@@ -1,5 +1,6 @@
1
1
  import { LitElement, css, html } from 'lit'
2
2
  import { customElement, property } from 'lit/decorators.js'
3
+ // @ts-expect-error Unable to infer type at the moment
3
4
  import litLogo from './assets/lit.svg'
4
5
 
5
6
  /**
@@ -22,11 +23,11 @@ export class MyElement extends LitElement {
22
23
  @property({ type: Number })
23
24
  count = 0
24
25
 
25
- render() {
26
+ override render() {
26
27
  return html`
28
+ <img src="/vite-deno.svg" alt="Vite with Deno" />
27
29
  <div>
28
- <img src="/vite-deno.svg" alt="Vite with Deno" />
29
- <a href="https://vitejs.dev" target="_blank">
30
+ <a href="https://vite.dev" target="_blank">
30
31
  <img src="/vite.svg" class="logo" alt="Vite logo" />
31
32
  </a>
32
33
  <a href="https://lit.dev" target="_blank">
@@ -47,7 +48,7 @@ export class MyElement extends LitElement {
47
48
  this.count++
48
49
  }
49
50
 
50
- static styles = css`
51
+ static override styles = css`
51
52
  :host {
52
53
  max-width: 1280px;
53
54
  margin: 0 auto;
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
+ "experimentalDecorators": true,
3
4
  "useDefineForClassFields": false
4
5
  },
5
6
  "include": ["src/**/*.ts"]
@@ -0,0 +1,16 @@
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
+ build: {
8
+ lib: {
9
+ entry: 'src/my-element.ts',
10
+ formats: ['es'],
11
+ },
12
+ rollupOptions: {
13
+ external: /^lit/,
14
+ },
15
+ },
16
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
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 `preact` and `preact/hooks` packages that need to be referenced
@@ -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": "preact"
12
+ },
13
+ "imports": {
14
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
15
+ "@preact/preset-vite": "npm:@preact/preset-vite@^2.9.1",
16
+ "preact": "npm:preact@^10.24.3",
17
+ "vite": "npm:vite@^5.4.8"
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" />
@@ -9,7 +9,7 @@ export function App() {
9
9
  <>
10
10
  <img src="/vite-deno.svg" alt="Vite with Deno" />
11
11
  <div>
12
- <a href="https://vitejs.dev" target="_blank">
12
+ <a href="https://vite.dev" target="_blank">
13
13
  <img src="/vite.svg" class="logo" alt="Vite logo" />
14
14
  </a>
15
15
  <a href="https://preactjs.com" target="_blank">
@@ -1,5 +1,5 @@
1
1
  import { render } from 'preact'
2
- import { App } from './app'
2
+ import { App } from './app.jsx'
3
3
  import './index.css'
4
4
 
5
5
  render(<App />, document.getElementById('app'))
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import preact from '@preact/preset-vite'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), preact()],
8
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
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 `preact` and `preact/hooks` packages that need to be referenced
@@ -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": "preact"
12
+ },
13
+ "imports": {
14
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
15
+ "@preact/preset-vite": "npm:@preact/preset-vite@^2.9.1",
16
+ "preact": "npm:preact@^10.24.3",
17
+ "vite": "npm:vite@^5.4.8"
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,4 +1,5 @@
1
1
  import { useState } from 'preact/hooks'
2
+ // @ts-expect-error Unable to infer type at the moment
2
3
  import preactLogo from './assets/preact.svg'
3
4
  import './app.css'
4
5
 
@@ -9,7 +10,7 @@ export function App() {
9
10
  <>
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://preactjs.com" target="_blank">
@@ -1,5 +1,5 @@
1
1
  import { render } from 'preact'
2
- import { App } from './app'
2
+ import { App } from './app.tsx'
3
3
  import './index.css'
4
4
 
5
5
  render(<App />, document.getElementById('app') as HTMLElement)
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import preact from '@preact/preset-vite'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), preact()],
8
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
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 `react` and `react-dom` packages that need to be referenced
@@ -3,6 +3,21 @@
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": "react",
12
+ "jsxImportSourceTypes": "@types/react"
13
+ },
14
+ "imports": {
15
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
16
+ "@types/react": "npm:@types/react@^18.3.1",
17
+ "@types/react-dom": "npm:@types/react-dom@^18.3.1",
18
+ "@vitejs/plugin-react": "npm:@vitejs/plugin-react@^4.3.2",
19
+ "react": "npm:react@^18.3.1",
20
+ "react-dom": "npm:react-dom@^18.3.1",
21
+ "vite": "npm:vite@^5.4.8"
7
22
  }
8
23
  }
@@ -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,3 +1,4 @@
1
+ // @deno-types="@types/react"
1
2
  import { useState } from 'react'
2
3
  import reactLogo from './assets/react.svg'
3
4
  import './App.css'
@@ -9,7 +10,7 @@ function App() {
9
10
  <>
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" className="logo" alt="Vite logo" />
14
15
  </a>
15
16
  <a href="https://reactjs.org" target="_blank">
@@ -1,10 +1,12 @@
1
- import React from 'react'
2
- import ReactDOM from 'react-dom/client'
3
- import App from './App'
1
+ // @deno-types="@types/react"
2
+ import { createRoot } from 'react'
3
+ // @deno-types="@types/react-dom/client"
4
+ import { StrictMode } from 'react-dom/client'
5
+ import App from './App.jsx'
4
6
  import './index.css'
5
7
 
6
- ReactDOM.createRoot(document.getElementById('root')).render(
7
- <React.StrictMode>
8
+ createRoot(document.getElementById('root')).render(
9
+ <StrictMode>
8
10
  <App />
9
- </React.StrictMode>
11
+ </StrictMode>,
10
12
  )
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import react from '@vitejs/plugin-react'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), react()],
8
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
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 `react` and `react-dom` packages that need to be referenced
@@ -3,6 +3,21 @@
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": "react",
12
+ "jsxImportSourceTypes": "@types/react"
13
+ },
14
+ "imports": {
15
+ "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.0",
16
+ "@types/react": "npm:@types/react@^18.3.1",
17
+ "@types/react-dom": "npm:@types/react-dom@^18.3.1",
18
+ "@vitejs/plugin-react": "npm:@vitejs/plugin-react@^4.3.2",
19
+ "react": "npm:react@^18.3.1",
20
+ "react-dom": "npm:react-dom@^18.3.1",
21
+ "vite": "npm:vite@^5.4.8"
7
22
  }
8
23
  }
@@ -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,4 +1,6 @@
1
+ // @deno-types="@types/react"
1
2
  import { useState } from 'react'
3
+ // @ts-expect-error Unable to infer type at the moment
2
4
  import reactLogo from './assets/react.svg'
3
5
  import './App.css'
4
6
 
@@ -9,7 +11,7 @@ function App() {
9
11
  <>
10
12
  <img src="/vite-deno.svg" alt="Vite with Deno" />
11
13
  <div>
12
- <a href="https://vitejs.dev" target="_blank">
14
+ <a href="https://vite.dev" target="_blank">
13
15
  <img src="/vite.svg" className="logo" alt="Vite logo" />
14
16
  </a>
15
17
  <a href="https://reactjs.org" target="_blank">
@@ -1,10 +1,12 @@
1
- import React from 'react'
2
- import ReactDOM from 'react-dom/client'
3
- import App from './App'
1
+ // @deno-types="@types/react"
2
+ import { StrictMode } from 'react'
3
+ // @deno-types="@types/react-dom/client"
4
+ import { createRoot } from 'react-dom/client'
5
+ import App from './App.tsx'
4
6
  import './index.css'
5
7
 
6
- ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
7
- <React.StrictMode>
8
+ createRoot(document.getElementById('root') as HTMLElement).render(
9
+ <StrictMode>
8
10
  <App />
9
- </React.StrictMode>,
11
+ </StrictMode>,
10
12
  )
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vite'
2
+ import deno from '@deno/vite-plugin'
3
+ import react from '@vitejs/plugin-react'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [deno(), react()],
8
+ })
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["denoland.vscode-deno"]
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 `solid-js` package that needs to be referenced