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.
- package/README.md +39 -35
- package/index.js +155 -128
- package/package.json +6 -2
- package/template-deno-lit/.vscode/extensions.json +3 -0
- package/template-deno-lit/README.md +1 -12
- package/template-deno-lit/deno.json +8 -0
- package/template-deno-lit/index.html +1 -1
- package/template-deno-lit/src/my-element.js +3 -3
- package/template-deno-lit/vite.config.js +16 -0
- package/template-deno-lit-ts/.vscode/extensions.json +3 -0
- package/template-deno-lit-ts/README.md +1 -12
- package/template-deno-lit-ts/deno.json +9 -0
- package/template-deno-lit-ts/index.html +1 -1
- package/template-deno-lit-ts/src/my-element.ts +5 -4
- package/template-deno-lit-ts/tsconfig.json +1 -0
- package/template-deno-lit-ts/vite.config.ts +16 -0
- package/template-deno-preact/.vscode/extensions.json +3 -0
- package/template-deno-preact/README.md +1 -12
- package/template-deno-preact/deno.json +12 -1
- package/template-deno-preact/index.html +1 -1
- package/template-deno-preact/src/app.jsx +1 -1
- package/template-deno-preact/src/main.jsx +1 -1
- package/template-deno-preact/vite.config.js +8 -0
- package/template-deno-preact-ts/.vscode/extensions.json +3 -0
- package/template-deno-preact-ts/README.md +1 -12
- package/template-deno-preact-ts/deno.json +12 -1
- package/template-deno-preact-ts/index.html +1 -1
- package/template-deno-preact-ts/src/app.tsx +2 -1
- package/template-deno-preact-ts/src/main.tsx +1 -1
- package/template-deno-preact-ts/vite.config.ts +8 -0
- package/template-deno-react/.vscode/extensions.json +3 -0
- package/template-deno-react/README.md +1 -12
- package/template-deno-react/deno.json +16 -1
- package/template-deno-react/index.html +1 -1
- package/template-deno-react/src/App.jsx +2 -1
- package/template-deno-react/src/main.jsx +8 -6
- package/template-deno-react/vite.config.js +8 -0
- package/template-deno-react-ts/.vscode/extensions.json +3 -0
- package/template-deno-react-ts/README.md +1 -12
- package/template-deno-react-ts/deno.json +16 -1
- package/template-deno-react-ts/index.html +1 -1
- package/template-deno-react-ts/src/App.tsx +3 -1
- package/template-deno-react-ts/src/main.tsx +8 -6
- package/template-deno-react-ts/vite.config.ts +8 -0
- package/template-deno-solid/.vscode/extensions.json +3 -0
- package/template-deno-solid/README.md +1 -12
- package/template-deno-solid/deno.json +12 -1
- package/template-deno-solid/index.html +1 -1
- package/template-deno-solid/src/App.jsx +1 -1
- package/template-deno-solid/src/main.jsx +1 -1
- package/template-deno-solid/vite.config.js +8 -0
- package/template-deno-solid-ts/.vscode/extensions.json +3 -0
- package/template-deno-solid-ts/README.md +1 -12
- package/template-deno-solid-ts/deno.json +12 -1
- package/template-deno-solid-ts/index.html +1 -1
- package/template-deno-solid-ts/src/App.tsx +2 -1
- package/template-deno-solid-ts/src/main.tsx +2 -2
- package/template-deno-solid-ts/vite.config.ts +8 -0
- package/template-deno-svelte/.vscode/extensions.json +1 -1
- package/template-deno-svelte/README.md +1 -12
- package/template-deno-svelte/deno.json +10 -1
- package/template-deno-svelte/index.html +1 -1
- package/template-deno-svelte/src/App.svelte +1 -1
- package/template-deno-svelte/src/main.js +1 -1
- package/template-deno-svelte/svelte.config.js +2 -2
- package/template-deno-svelte/vite.config.js +8 -0
- package/template-deno-svelte-ts/.vscode/extensions.json +1 -1
- package/template-deno-svelte-ts/README.md +1 -12
- package/template-deno-svelte-ts/deno.json +10 -1
- package/template-deno-svelte-ts/index.html +1 -1
- package/template-deno-svelte-ts/src/App.svelte +1 -1
- package/template-deno-svelte-ts/svelte.config.js +2 -2
- package/template-deno-svelte-ts/vite.config.ts +8 -0
- package/template-deno-vanilla/.vscode/extensions.json +3 -0
- package/template-deno-vanilla/deno.json +8 -1
- package/template-deno-vanilla/index.html +1 -1
- package/template-deno-vanilla/main.js +1 -1
- package/template-deno-vanilla/vite.config.js +7 -0
- package/template-deno-vanilla-ts/.vscode/extensions.json +3 -0
- package/template-deno-vanilla-ts/deno.json +8 -1
- package/template-deno-vanilla-ts/index.html +1 -1
- package/template-deno-vanilla-ts/src/main.ts +1 -1
- package/template-deno-vanilla-ts/vite.config.ts +7 -0
- package/template-deno-vue/.vscode/extensions.json +3 -0
- package/template-deno-vue/README.md +1 -12
- package/template-deno-vue/deno.json +10 -1
- package/template-deno-vue/index.html +1 -1
- package/template-deno-vue/src/App.vue +1 -1
- package/template-deno-vue/src/components/HelloWorld.vue +1 -1
- package/template-deno-vue/vite.config.js +8 -0
- package/template-deno-vue-ts/.vscode/extensions.json +3 -0
- package/template-deno-vue-ts/README.md +1 -23
- package/template-deno-vue-ts/deno.json +10 -1
- package/template-deno-vue-ts/index.html +1 -1
- package/template-deno-vue-ts/src/App.vue +1 -1
- package/template-deno-vue-ts/vite.config.ts +8 -0
- package/template-library/index.html +1 -1
- package/template-library/main.js +1 -1
- package/template-library/package.json +1 -1
- package/template-library/vite.config.js +3 -3
- package/template-library-ts/index.html +1 -1
- package/template-library-ts/package.json +2 -2
- package/template-library-ts/src/main.ts +1 -1
- package/template-library-ts/vite.config.ts +3 -3
- package/template-ssr-preact/index.html +1 -1
- package/template-ssr-preact/package.json +6 -6
- package/template-ssr-preact/server.js +2 -2
- package/template-ssr-preact/src/app.jsx +1 -1
- package/template-ssr-preact/vite.config.js +5 -5
- package/template-ssr-preact-ts/index.html +1 -1
- package/template-ssr-preact-ts/package.json +9 -9
- package/template-ssr-preact-ts/server.js +2 -2
- package/template-ssr-preact-ts/src/app.tsx +1 -1
- package/template-ssr-preact-ts/vite.config.ts +5 -5
- package/template-ssr-react/index.html +1 -1
- package/template-ssr-react/package.json +8 -8
- package/template-ssr-react/server.js +2 -2
- package/template-ssr-react/src/App.jsx +1 -1
- package/template-ssr-react/src/entry-client.jsx +5 -5
- package/template-ssr-react/src/entry-server.jsx +5 -5
- package/template-ssr-react/vite.config.js +2 -2
- package/template-ssr-react-streaming/_gitignore +24 -0
- package/template-ssr-react-streaming/index.html +14 -0
- package/template-ssr-react-streaming/package-lock.json +2596 -0
- package/template-ssr-react-streaming/package.json +25 -0
- package/template-ssr-react-streaming/public/vite.svg +1 -0
- package/template-ssr-react-streaming/server.js +104 -0
- package/template-ssr-react-streaming/src/App.css +41 -0
- package/template-ssr-react-streaming/src/App.jsx +32 -0
- package/template-ssr-react-streaming/src/Card.jsx +18 -0
- package/template-ssr-react-streaming/src/assets/react.svg +1 -0
- package/template-ssr-react-streaming/src/entry-client.jsx +11 -0
- package/template-ssr-react-streaming/src/entry-server.jsx +17 -0
- package/template-ssr-react-streaming/src/index.css +69 -0
- package/template-ssr-react-streaming/vite.config.js +7 -0
- package/template-ssr-react-streaming-ts/_gitignore +24 -0
- package/template-ssr-react-streaming-ts/index.html +14 -0
- package/template-ssr-react-streaming-ts/package.json +30 -0
- package/template-ssr-react-streaming-ts/public/vite.svg +1 -0
- package/template-ssr-react-streaming-ts/server.js +104 -0
- package/template-ssr-react-streaming-ts/src/App.css +41 -0
- package/template-ssr-react-streaming-ts/src/App.tsx +32 -0
- package/template-ssr-react-streaming-ts/src/Card.tsx +18 -0
- package/template-ssr-react-streaming-ts/src/assets/react.svg +1 -0
- package/template-ssr-react-streaming-ts/src/entry-client.tsx +11 -0
- package/template-ssr-react-streaming-ts/src/entry-server.tsx +19 -0
- package/template-ssr-react-streaming-ts/src/index.css +69 -0
- package/template-ssr-react-streaming-ts/src/vite-env.d.ts +1 -0
- package/template-ssr-react-streaming-ts/tsconfig.json +25 -0
- package/template-ssr-react-streaming-ts/tsconfig.node.json +11 -0
- package/template-ssr-react-streaming-ts/vite.config.ts +7 -0
- package/template-ssr-react-ts/index.html +1 -1
- package/template-ssr-react-ts/package.json +11 -11
- package/template-ssr-react-ts/server.js +2 -2
- package/template-ssr-react-ts/src/App.tsx +1 -1
- package/template-ssr-react-ts/src/entry-client.tsx +5 -5
- package/template-ssr-react-ts/src/entry-server.tsx +5 -5
- package/template-ssr-react-ts/vite.config.ts +2 -2
- package/template-ssr-solid/index.html +1 -1
- package/template-ssr-solid/package.json +5 -5
- package/template-ssr-solid/server.js +2 -2
- package/template-ssr-solid/src/App.jsx +1 -1
- package/template-ssr-solid/vite.config.js +2 -2
- package/template-ssr-solid-ts/index.html +1 -1
- package/template-ssr-solid-ts/package.json +7 -7
- package/template-ssr-solid-ts/server.js +2 -2
- package/template-ssr-solid-ts/src/App.tsx +1 -1
- package/template-ssr-solid-ts/vite.config.ts +2 -2
- package/template-ssr-svelte/index.html +1 -1
- package/template-ssr-svelte/package.json +5 -5
- package/template-ssr-svelte/server.js +2 -2
- package/template-ssr-svelte/src/App.svelte +1 -1
- package/template-ssr-svelte/src/entry-client.js +1 -1
- package/template-ssr-svelte/svelte.config.js +1 -1
- package/template-ssr-svelte/vite.config.js +5 -5
- package/template-ssr-svelte-ts/index.html +1 -1
- package/template-ssr-svelte-ts/package-lock.json +2376 -0
- package/template-ssr-svelte-ts/package.json +11 -11
- package/template-ssr-svelte-ts/server.js +2 -2
- package/template-ssr-svelte-ts/src/App.svelte +1 -1
- package/template-ssr-svelte-ts/src/entry-client.ts +1 -1
- package/template-ssr-svelte-ts/svelte.config.js +1 -1
- package/template-ssr-svelte-ts/vite.config.ts +5 -5
- package/template-ssr-transform/package.json +1 -1
- package/template-ssr-vanilla/index.html +1 -1
- package/template-ssr-vanilla/package.json +3 -3
- package/template-ssr-vanilla/server.js +2 -2
- package/template-ssr-vanilla/src/entry-server.js +1 -1
- package/template-ssr-vanilla-ts/index.html +1 -1
- package/template-ssr-vanilla-ts/package.json +6 -6
- package/template-ssr-vanilla-ts/server.js +2 -2
- package/template-ssr-vanilla-ts/src/entry-server.ts +1 -1
- package/template-ssr-vue/index.html +1 -1
- package/template-ssr-vue/package.json +5 -5
- package/template-ssr-vue/server.js +2 -2
- package/template-ssr-vue/src/App.vue +1 -1
- package/template-ssr-vue/src/components/HelloWorld.vue +1 -1
- package/template-ssr-vue/vite.config.js +2 -2
- package/template-ssr-vue-streaming/index.html +1 -1
- package/template-ssr-vue-streaming/package.json +5 -5
- package/template-ssr-vue-streaming/server.js +2 -2
- package/template-ssr-vue-streaming/src/App.vue +1 -1
- package/template-ssr-vue-streaming/src/components/HelloWorld.vue +1 -1
- package/template-ssr-vue-streaming/vite.config.js +2 -2
- package/template-ssr-vue-streaming-ts/index.html +1 -1
- package/template-ssr-vue-streaming-ts/package-lock.json +2346 -0
- package/template-ssr-vue-streaming-ts/package.json +9 -9
- package/template-ssr-vue-streaming-ts/server.js +2 -2
- package/template-ssr-vue-streaming-ts/src/App.vue +1 -1
- package/template-ssr-vue-streaming-ts/vite.config.ts +2 -2
- package/template-ssr-vue-ts/index.html +1 -1
- package/template-ssr-vue-ts/package.json +9 -9
- package/template-ssr-vue-ts/server.js +2 -2
- package/template-ssr-vue-ts/src/App.vue +1 -1
- package/template-ssr-vue-ts/vite.config.ts +2 -2
- package/template-deno-lit/vite.config.mjs +0 -16
- package/template-deno-lit-ts/vite.config.mts +0 -16
- package/template-deno-preact/vite.config.mjs +0 -10
- package/template-deno-preact-ts/vite.config.mts +0 -10
- package/template-deno-react/vite.config.mjs +0 -10
- package/template-deno-react-ts/vite.config.mts +0 -10
- package/template-deno-solid/vite.config.mjs +0 -9
- package/template-deno-solid-ts/vite.config.mts +0 -9
- package/template-deno-svelte/vite.config.mjs +0 -9
- package/template-deno-svelte-ts/vite.config.mts +0 -9
- package/template-deno-vue/vite.config.mjs +0 -9
- package/template-deno-vue-ts/vite.config.mts +0 -9
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ $ deno run -A npm:create-vite-extra
|
|
|
32
32
|
With Bun:
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
$
|
|
35
|
+
$ bun create vite-extra
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Then follow the prompts!
|
|
@@ -53,44 +53,48 @@ pnpm create vite-extra my-vue-app --template ssr-vue
|
|
|
53
53
|
deno run -A npm:create-vite-extra --template deno-vue
|
|
54
54
|
|
|
55
55
|
# Bun
|
|
56
|
-
|
|
56
|
+
bun create vite-extra my-vue-app --template ssr-vue
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
Currently supported template presets include:
|
|
60
60
|
|
|
61
|
-
| Template
|
|
62
|
-
|
|
|
63
|
-
| `ssr-vanilla`
|
|
64
|
-
| `ssr-vanilla-ts`
|
|
65
|
-
| `ssr-vue`
|
|
66
|
-
| `ssr-vue-ts`
|
|
67
|
-
| `ssr-vue-streaming`
|
|
68
|
-
| `ssr-vue-streaming-ts`
|
|
69
|
-
| `ssr-react`
|
|
70
|
-
| `ssr-react-ts`
|
|
71
|
-
| `ssr-react-
|
|
72
|
-
| `ssr-react-
|
|
73
|
-
| `ssr-
|
|
74
|
-
| `ssr-
|
|
75
|
-
| `ssr-
|
|
76
|
-
| `ssr-
|
|
77
|
-
| `
|
|
78
|
-
| `
|
|
79
|
-
| `
|
|
80
|
-
| `
|
|
81
|
-
| `deno-
|
|
82
|
-
| `deno-
|
|
83
|
-
| `deno-
|
|
84
|
-
| `deno-
|
|
85
|
-
| `deno-
|
|
86
|
-
| `deno-
|
|
87
|
-
| `deno-
|
|
88
|
-
| `deno-
|
|
89
|
-
| `deno-
|
|
90
|
-
| `deno-
|
|
91
|
-
| `
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
61
|
+
| Template | Try online |
|
|
62
|
+
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
63
|
+
| `ssr-vanilla` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-vanilla) |
|
|
64
|
+
| `ssr-vanilla-ts` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-vanilla-ts) |
|
|
65
|
+
| `ssr-vue` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-vue) |
|
|
66
|
+
| `ssr-vue-ts` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-vue-ts) |
|
|
67
|
+
| `ssr-vue-streaming` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-vue-streaming) |
|
|
68
|
+
| `ssr-vue-streaming-ts` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-vue-streaming-ts) |
|
|
69
|
+
| `ssr-react` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-react) |
|
|
70
|
+
| `ssr-react-ts` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-react-ts) |
|
|
71
|
+
| `ssr-react-streaming` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-react-streaming) |
|
|
72
|
+
| `ssr-react-streaming-ts` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-react-streaming-ts) |
|
|
73
|
+
| `ssr-react-swc` | |
|
|
74
|
+
| `ssr-react-swc-ts` | |
|
|
75
|
+
| `ssr-react-swc-streaming` | |
|
|
76
|
+
| `ssr-react-swc-streaming-ts` | |
|
|
77
|
+
| `ssr-preact` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-preact) |
|
|
78
|
+
| `ssr-preact-ts` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-preact-ts) |
|
|
79
|
+
| `ssr-svelte` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-svelte) |
|
|
80
|
+
| `ssr-svelte-ts` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-svelte-ts) |
|
|
81
|
+
| `deno-vanilla` | |
|
|
82
|
+
| `deno-vanilla-ts` | |
|
|
83
|
+
| `deno-vue` | |
|
|
84
|
+
| `deno-vue-ts` | |
|
|
85
|
+
| `deno-react` | |
|
|
86
|
+
| `deno-react-ts` | |
|
|
87
|
+
| `deno-react-swc` | |
|
|
88
|
+
| `deno-react-swc-ts` | |
|
|
89
|
+
| `deno-preact` | |
|
|
90
|
+
| `deno-preact-ts` | |
|
|
91
|
+
| `deno-lit` | |
|
|
92
|
+
| `deno-lit-ts` | |
|
|
93
|
+
| `deno-svelte` | |
|
|
94
|
+
| `deno-svelte-ts` | |
|
|
95
|
+
| `library` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-library) |
|
|
96
|
+
| `library-ts` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-library-ts) |
|
|
97
|
+
| `ssr-transform` | [StackBlitz](https://stackblitz.com/fork/github/bluwy/create-vite-extra/tree/master/template-ssr-transform) |
|
|
94
98
|
|
|
95
99
|
You can use `.` for the project name to scaffold in the current directory.
|
|
96
100
|
|
package/index.js
CHANGED
|
@@ -6,18 +6,20 @@ import path from 'node:path'
|
|
|
6
6
|
import { fileURLToPath } from 'node:url'
|
|
7
7
|
import minimist from 'minimist'
|
|
8
8
|
import prompts from 'prompts'
|
|
9
|
-
import
|
|
9
|
+
import colors from 'picocolors'
|
|
10
|
+
|
|
11
|
+
const {
|
|
10
12
|
blue,
|
|
11
13
|
cyan,
|
|
12
14
|
green,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
redBright,
|
|
16
|
+
blueBright,
|
|
15
17
|
magenta,
|
|
16
18
|
red,
|
|
17
19
|
reset,
|
|
18
20
|
yellow,
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
+
magentaBright,
|
|
22
|
+
} = colors
|
|
21
23
|
|
|
22
24
|
// Avoids autoconversion to number of the project name by defining that the args
|
|
23
25
|
// non associated with an option ( _ ) needs to be parsed as a string. See #4606
|
|
@@ -32,14 +34,14 @@ const FRAMEWORKS = [
|
|
|
32
34
|
{
|
|
33
35
|
name: 'ssr-vanilla',
|
|
34
36
|
display: 'JavaScript',
|
|
35
|
-
color: yellow
|
|
37
|
+
color: yellow,
|
|
36
38
|
},
|
|
37
39
|
{
|
|
38
40
|
name: 'ssr-vanilla-ts',
|
|
39
41
|
display: 'TypeScript',
|
|
40
|
-
color: blue
|
|
41
|
-
}
|
|
42
|
-
]
|
|
42
|
+
color: blue,
|
|
43
|
+
},
|
|
44
|
+
],
|
|
43
45
|
},
|
|
44
46
|
{
|
|
45
47
|
name: 'ssr-vue',
|
|
@@ -53,14 +55,14 @@ const FRAMEWORKS = [
|
|
|
53
55
|
{
|
|
54
56
|
name: 'ssr-vue-streaming',
|
|
55
57
|
display: 'JavaScript',
|
|
56
|
-
color: yellow
|
|
58
|
+
color: yellow,
|
|
57
59
|
},
|
|
58
60
|
{
|
|
59
61
|
name: 'ssr-vue-streaming-ts',
|
|
60
62
|
display: 'TypeScript',
|
|
61
|
-
color: blue
|
|
62
|
-
}
|
|
63
|
-
]
|
|
63
|
+
color: blue,
|
|
64
|
+
},
|
|
65
|
+
],
|
|
64
66
|
},
|
|
65
67
|
{
|
|
66
68
|
name: 'ssr-vue',
|
|
@@ -70,42 +72,76 @@ const FRAMEWORKS = [
|
|
|
70
72
|
{
|
|
71
73
|
name: 'ssr-vue',
|
|
72
74
|
display: 'JavaScript',
|
|
73
|
-
color: yellow
|
|
75
|
+
color: yellow,
|
|
74
76
|
},
|
|
75
77
|
{
|
|
76
78
|
name: 'ssr-vue-ts',
|
|
77
79
|
display: 'TypeScript',
|
|
78
|
-
color: blue
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
]
|
|
80
|
+
color: blue,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
],
|
|
83
85
|
},
|
|
84
86
|
{
|
|
85
87
|
name: 'ssr-react',
|
|
86
88
|
color: cyan,
|
|
87
89
|
variants: [
|
|
88
90
|
{
|
|
89
|
-
name: 'ssr-react',
|
|
90
|
-
display: '
|
|
91
|
-
color:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
91
|
+
name: 'ssr-react-streaming',
|
|
92
|
+
display: 'Streaming',
|
|
93
|
+
color: cyan,
|
|
94
|
+
variants: [
|
|
95
|
+
{
|
|
96
|
+
name: 'ssr-react-streaming',
|
|
97
|
+
display: 'JavaScript',
|
|
98
|
+
color: yellow,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: 'ssr-react-streaming-ts',
|
|
102
|
+
display: 'TypeScript',
|
|
103
|
+
color: blue,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: 'ssr-react-swc-streaming',
|
|
107
|
+
display: 'JavaScript + SWC',
|
|
108
|
+
color: yellow,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'ssr-react-swc-streaming-ts',
|
|
112
|
+
display: 'TypeScript + SWC',
|
|
113
|
+
color: blue,
|
|
114
|
+
},
|
|
115
|
+
],
|
|
97
116
|
},
|
|
98
117
|
{
|
|
99
|
-
name: 'ssr-react
|
|
100
|
-
display: '
|
|
101
|
-
color:
|
|
118
|
+
name: 'ssr-react',
|
|
119
|
+
display: 'Non-streaming',
|
|
120
|
+
color: cyan,
|
|
121
|
+
variants: [
|
|
122
|
+
{
|
|
123
|
+
name: 'ssr-react',
|
|
124
|
+
display: 'JavaScript',
|
|
125
|
+
color: yellow,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: 'ssr-react-ts',
|
|
129
|
+
display: 'TypeScript',
|
|
130
|
+
color: blue,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: 'ssr-react-swc',
|
|
134
|
+
display: 'JavaScript + SWC',
|
|
135
|
+
color: yellow,
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: 'ssr-react-swc-ts',
|
|
139
|
+
display: 'TypeScript + SWC',
|
|
140
|
+
color: blue,
|
|
141
|
+
},
|
|
142
|
+
],
|
|
102
143
|
},
|
|
103
|
-
|
|
104
|
-
name: 'ssr-react-swc-ts',
|
|
105
|
-
display: 'TypeScript + SWC',
|
|
106
|
-
color: blue
|
|
107
|
-
}
|
|
108
|
-
]
|
|
144
|
+
],
|
|
109
145
|
},
|
|
110
146
|
{
|
|
111
147
|
name: 'ssr-preact',
|
|
@@ -114,14 +150,14 @@ const FRAMEWORKS = [
|
|
|
114
150
|
{
|
|
115
151
|
name: 'ssr-preact',
|
|
116
152
|
display: 'JavaScript',
|
|
117
|
-
color: yellow
|
|
153
|
+
color: yellow,
|
|
118
154
|
},
|
|
119
155
|
{
|
|
120
156
|
name: 'ssr-preact-ts',
|
|
121
157
|
display: 'TypeScript',
|
|
122
|
-
color: blue
|
|
123
|
-
}
|
|
124
|
-
]
|
|
158
|
+
color: blue,
|
|
159
|
+
},
|
|
160
|
+
],
|
|
125
161
|
},
|
|
126
162
|
{
|
|
127
163
|
name: 'ssr-svelte',
|
|
@@ -130,30 +166,30 @@ const FRAMEWORKS = [
|
|
|
130
166
|
{
|
|
131
167
|
name: 'ssr-svelte',
|
|
132
168
|
display: 'JavaScript',
|
|
133
|
-
color: yellow
|
|
169
|
+
color: yellow,
|
|
134
170
|
},
|
|
135
171
|
{
|
|
136
172
|
name: 'ssr-svelte-ts',
|
|
137
173
|
display: 'TypeScript',
|
|
138
|
-
color: blue
|
|
139
|
-
}
|
|
140
|
-
]
|
|
174
|
+
color: blue,
|
|
175
|
+
},
|
|
176
|
+
],
|
|
141
177
|
},
|
|
142
178
|
{
|
|
143
179
|
name: 'ssr-solid',
|
|
144
|
-
color:
|
|
180
|
+
color: blueBright,
|
|
145
181
|
variants: [
|
|
146
182
|
{
|
|
147
183
|
name: 'ssr-solid',
|
|
148
184
|
display: 'JavaScript',
|
|
149
|
-
color: yellow
|
|
185
|
+
color: yellow,
|
|
150
186
|
},
|
|
151
187
|
{
|
|
152
188
|
name: 'ssr-solid-ts',
|
|
153
189
|
display: 'TypeScript',
|
|
154
|
-
color: blue
|
|
155
|
-
}
|
|
156
|
-
]
|
|
190
|
+
color: blue,
|
|
191
|
+
},
|
|
192
|
+
],
|
|
157
193
|
},
|
|
158
194
|
{
|
|
159
195
|
name: 'deno-vanilla',
|
|
@@ -162,14 +198,14 @@ const FRAMEWORKS = [
|
|
|
162
198
|
{
|
|
163
199
|
name: 'deno-vanilla',
|
|
164
200
|
display: 'JavaScript',
|
|
165
|
-
color: yellow
|
|
201
|
+
color: yellow,
|
|
166
202
|
},
|
|
167
203
|
{
|
|
168
204
|
name: 'deno-vanilla-ts',
|
|
169
205
|
display: 'TypeScript',
|
|
170
|
-
color: blue
|
|
171
|
-
}
|
|
172
|
-
]
|
|
206
|
+
color: blue,
|
|
207
|
+
},
|
|
208
|
+
],
|
|
173
209
|
},
|
|
174
210
|
{
|
|
175
211
|
name: 'deno-vue',
|
|
@@ -178,14 +214,14 @@ const FRAMEWORKS = [
|
|
|
178
214
|
{
|
|
179
215
|
name: 'deno-vue',
|
|
180
216
|
display: 'JavaScript',
|
|
181
|
-
color: yellow
|
|
217
|
+
color: yellow,
|
|
182
218
|
},
|
|
183
219
|
{
|
|
184
220
|
name: 'deno-vue-ts',
|
|
185
221
|
display: 'TypeScript',
|
|
186
|
-
color: blue
|
|
187
|
-
}
|
|
188
|
-
]
|
|
222
|
+
color: blue,
|
|
223
|
+
},
|
|
224
|
+
],
|
|
189
225
|
},
|
|
190
226
|
{
|
|
191
227
|
name: 'deno-react',
|
|
@@ -194,24 +230,24 @@ const FRAMEWORKS = [
|
|
|
194
230
|
{
|
|
195
231
|
name: 'deno-react',
|
|
196
232
|
display: 'JavaScript',
|
|
197
|
-
color: yellow
|
|
233
|
+
color: yellow,
|
|
198
234
|
},
|
|
199
235
|
{
|
|
200
236
|
name: 'deno-react-ts',
|
|
201
237
|
display: 'TypeScript',
|
|
202
|
-
color: blue
|
|
238
|
+
color: blue,
|
|
203
239
|
},
|
|
204
240
|
{
|
|
205
241
|
name: 'deno-react-swc',
|
|
206
242
|
display: 'JavaScript + SWC',
|
|
207
|
-
color: yellow
|
|
243
|
+
color: yellow,
|
|
208
244
|
},
|
|
209
245
|
{
|
|
210
246
|
name: 'deno-react-swc-ts',
|
|
211
247
|
display: 'TypeScript + SWC',
|
|
212
|
-
color: blue
|
|
213
|
-
}
|
|
214
|
-
]
|
|
248
|
+
color: blue,
|
|
249
|
+
},
|
|
250
|
+
],
|
|
215
251
|
},
|
|
216
252
|
{
|
|
217
253
|
name: 'deno-preact',
|
|
@@ -220,30 +256,30 @@ const FRAMEWORKS = [
|
|
|
220
256
|
{
|
|
221
257
|
name: 'deno-preact',
|
|
222
258
|
display: 'JavaScript',
|
|
223
|
-
color: yellow
|
|
259
|
+
color: yellow,
|
|
224
260
|
},
|
|
225
261
|
{
|
|
226
262
|
name: 'deno-preact-ts',
|
|
227
263
|
display: 'TypeScript',
|
|
228
|
-
color: blue
|
|
229
|
-
}
|
|
230
|
-
]
|
|
264
|
+
color: blue,
|
|
265
|
+
},
|
|
266
|
+
],
|
|
231
267
|
},
|
|
232
268
|
{
|
|
233
269
|
name: 'deno-lit',
|
|
234
|
-
color:
|
|
270
|
+
color: redBright,
|
|
235
271
|
variants: [
|
|
236
272
|
{
|
|
237
273
|
name: 'deno-lit',
|
|
238
274
|
display: 'JavaScript',
|
|
239
|
-
color: yellow
|
|
275
|
+
color: yellow,
|
|
240
276
|
},
|
|
241
277
|
{
|
|
242
278
|
name: 'deno-lit-ts',
|
|
243
279
|
display: 'TypeScript',
|
|
244
|
-
color: blue
|
|
245
|
-
}
|
|
246
|
-
]
|
|
280
|
+
color: blue,
|
|
281
|
+
},
|
|
282
|
+
],
|
|
247
283
|
},
|
|
248
284
|
{
|
|
249
285
|
name: 'deno-svelte',
|
|
@@ -252,59 +288,59 @@ const FRAMEWORKS = [
|
|
|
252
288
|
{
|
|
253
289
|
name: 'deno-svelte',
|
|
254
290
|
display: 'JavaScript',
|
|
255
|
-
color: yellow
|
|
291
|
+
color: yellow,
|
|
256
292
|
},
|
|
257
293
|
{
|
|
258
294
|
name: 'deno-svelte-ts',
|
|
259
295
|
display: 'TypeScript',
|
|
260
|
-
color: blue
|
|
261
|
-
}
|
|
262
|
-
]
|
|
296
|
+
color: blue,
|
|
297
|
+
},
|
|
298
|
+
],
|
|
263
299
|
},
|
|
264
300
|
{
|
|
265
301
|
name: 'deno-solid',
|
|
266
|
-
color:
|
|
302
|
+
color: blueBright,
|
|
267
303
|
variants: [
|
|
268
304
|
{
|
|
269
305
|
name: 'deno-solid',
|
|
270
306
|
display: 'JavaScript',
|
|
271
|
-
color: yellow
|
|
307
|
+
color: yellow,
|
|
272
308
|
},
|
|
273
309
|
{
|
|
274
310
|
name: 'deno-solid-ts',
|
|
275
311
|
display: 'TypeScript',
|
|
276
|
-
color: blue
|
|
277
|
-
}
|
|
278
|
-
]
|
|
312
|
+
color: blue,
|
|
313
|
+
},
|
|
314
|
+
],
|
|
279
315
|
},
|
|
280
316
|
{
|
|
281
317
|
name: 'library',
|
|
282
|
-
color:
|
|
318
|
+
color: magentaBright,
|
|
283
319
|
variants: [
|
|
284
320
|
{
|
|
285
321
|
name: 'library',
|
|
286
322
|
display: 'JavaScript',
|
|
287
|
-
color: yellow
|
|
323
|
+
color: yellow,
|
|
288
324
|
},
|
|
289
325
|
{
|
|
290
326
|
name: 'library-ts',
|
|
291
327
|
display: 'TypeScript',
|
|
292
|
-
color: blue
|
|
293
|
-
}
|
|
294
|
-
]
|
|
328
|
+
color: blue,
|
|
329
|
+
},
|
|
330
|
+
],
|
|
295
331
|
},
|
|
296
332
|
{
|
|
297
333
|
name: 'ssr-transform',
|
|
298
|
-
color:
|
|
299
|
-
}
|
|
334
|
+
color: redBright,
|
|
335
|
+
},
|
|
300
336
|
]
|
|
301
337
|
|
|
302
338
|
const TEMPLATES = FRAMEWORKS.map(
|
|
303
|
-
(f) => (f.variants && f.variants.map((v) => v.name)) || [f.name]
|
|
339
|
+
(f) => (f.variants && f.variants.map((v) => v.name)) || [f.name],
|
|
304
340
|
).reduce((a, b) => a.concat(b), [])
|
|
305
341
|
|
|
306
342
|
const renameFiles = {
|
|
307
|
-
_gitignore: '.gitignore'
|
|
343
|
+
_gitignore: '.gitignore',
|
|
308
344
|
}
|
|
309
345
|
|
|
310
346
|
async function init() {
|
|
@@ -329,7 +365,7 @@ async function init() {
|
|
|
329
365
|
initial: defaultTargetDir,
|
|
330
366
|
onState: (state) => {
|
|
331
367
|
targetDir = formatTargetDir(state.value) || defaultTargetDir
|
|
332
|
-
}
|
|
368
|
+
},
|
|
333
369
|
},
|
|
334
370
|
{
|
|
335
371
|
type: () =>
|
|
@@ -339,7 +375,7 @@ async function init() {
|
|
|
339
375
|
(targetDir === '.'
|
|
340
376
|
? 'Current directory'
|
|
341
377
|
: `Target directory "${targetDir}"`) +
|
|
342
|
-
` is not empty. Remove existing files and continue
|
|
378
|
+
` is not empty. Remove existing files and continue?`,
|
|
343
379
|
},
|
|
344
380
|
{
|
|
345
381
|
// @ts-ignore
|
|
@@ -349,7 +385,7 @@ async function init() {
|
|
|
349
385
|
}
|
|
350
386
|
return null
|
|
351
387
|
},
|
|
352
|
-
name: 'overwriteChecker'
|
|
388
|
+
name: 'overwriteChecker',
|
|
353
389
|
},
|
|
354
390
|
{
|
|
355
391
|
type: () => (isValidPackageName(getProjectName()) ? null : 'text'),
|
|
@@ -357,7 +393,7 @@ async function init() {
|
|
|
357
393
|
message: reset('Package name:'),
|
|
358
394
|
initial: () => toValidPackageName(getProjectName()),
|
|
359
395
|
validate: (dir) =>
|
|
360
|
-
isValidPackageName(dir) || 'Invalid package.json name'
|
|
396
|
+
isValidPackageName(dir) || 'Invalid package.json name',
|
|
361
397
|
},
|
|
362
398
|
{
|
|
363
399
|
type:
|
|
@@ -366,7 +402,7 @@ async function init() {
|
|
|
366
402
|
message:
|
|
367
403
|
typeof argTemplate === 'string' && !TEMPLATES.includes(argTemplate)
|
|
368
404
|
? reset(
|
|
369
|
-
`"${argTemplate}" isn't a valid template. Please choose from below:
|
|
405
|
+
`"${argTemplate}" isn't a valid template. Please choose from below: `,
|
|
370
406
|
)
|
|
371
407
|
: reset('Select a template:'),
|
|
372
408
|
initial: 0,
|
|
@@ -374,9 +410,9 @@ async function init() {
|
|
|
374
410
|
const frameworkColor = framework.color
|
|
375
411
|
return {
|
|
376
412
|
title: frameworkColor(framework.display || framework.name),
|
|
377
|
-
value: framework
|
|
413
|
+
value: framework,
|
|
378
414
|
}
|
|
379
|
-
})
|
|
415
|
+
}),
|
|
380
416
|
},
|
|
381
417
|
// Variant 1
|
|
382
418
|
{
|
|
@@ -390,9 +426,9 @@ async function init() {
|
|
|
390
426
|
const variantColor = variant.color
|
|
391
427
|
return {
|
|
392
428
|
title: variantColor(variant.display || variant.name),
|
|
393
|
-
value: variant.variants ? variant : variant.name
|
|
429
|
+
value: variant.variants ? variant : variant.name,
|
|
394
430
|
}
|
|
395
|
-
})
|
|
431
|
+
}),
|
|
396
432
|
},
|
|
397
433
|
// Variant 2
|
|
398
434
|
{
|
|
@@ -406,16 +442,16 @@ async function init() {
|
|
|
406
442
|
const variantColor = variant.color
|
|
407
443
|
return {
|
|
408
444
|
title: variantColor(variant.display || variant.name),
|
|
409
|
-
value: variant.name
|
|
445
|
+
value: variant.name,
|
|
410
446
|
}
|
|
411
|
-
})
|
|
412
|
-
}
|
|
447
|
+
}),
|
|
448
|
+
},
|
|
413
449
|
],
|
|
414
450
|
{
|
|
415
451
|
onCancel: () => {
|
|
416
452
|
throw new Error(red('✖') + ' Operation cancelled')
|
|
417
|
-
}
|
|
418
|
-
}
|
|
453
|
+
},
|
|
454
|
+
},
|
|
419
455
|
)
|
|
420
456
|
} catch (cancelled) {
|
|
421
457
|
console.log(cancelled.message)
|
|
@@ -446,7 +482,7 @@ async function init() {
|
|
|
446
482
|
const templateDir = path.resolve(
|
|
447
483
|
fileURLToPath(import.meta.url),
|
|
448
484
|
'..',
|
|
449
|
-
`template-${template}
|
|
485
|
+
`template-${template}`,
|
|
450
486
|
)
|
|
451
487
|
|
|
452
488
|
const write = (file, content) => {
|
|
@@ -479,7 +515,7 @@ async function init() {
|
|
|
479
515
|
console.log()
|
|
480
516
|
} else {
|
|
481
517
|
const pkg = JSON.parse(
|
|
482
|
-
fs.readFileSync(path.join(templateDir, `package.json`), 'utf-8')
|
|
518
|
+
fs.readFileSync(path.join(templateDir, `package.json`), 'utf-8'),
|
|
483
519
|
)
|
|
484
520
|
|
|
485
521
|
pkg.name = packageName || getProjectName()
|
|
@@ -532,7 +568,7 @@ function copy(src, dest) {
|
|
|
532
568
|
*/
|
|
533
569
|
function isValidPackageName(projectName) {
|
|
534
570
|
return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(
|
|
535
|
-
projectName
|
|
571
|
+
projectName,
|
|
536
572
|
)
|
|
537
573
|
}
|
|
538
574
|
|
|
@@ -591,7 +627,7 @@ function pkgFromUserAgent(userAgent) {
|
|
|
591
627
|
const pkgSpecArr = pkgSpec.split('/')
|
|
592
628
|
return {
|
|
593
629
|
name: pkgSpecArr[0],
|
|
594
|
-
version: pkgSpecArr[1]
|
|
630
|
+
version: pkgSpecArr[1],
|
|
595
631
|
}
|
|
596
632
|
}
|
|
597
633
|
|
|
@@ -602,34 +638,25 @@ function pkgFromUserAgent(userAgent) {
|
|
|
602
638
|
function setupReactSwc(root, { isTs, isDeno }) {
|
|
603
639
|
if (isDeno) {
|
|
604
640
|
editFile(path.resolve(root, 'deno.json'), (content) => {
|
|
605
|
-
return content.replace(
|
|
641
|
+
return content.replace(
|
|
642
|
+
/"@vitejs\/plugin-react": ".+?"/,
|
|
643
|
+
`"@vitejs/plugin-react-swc": "npm:@vitejs/plugin-react-swc@^3.7.1"`,
|
|
644
|
+
)
|
|
606
645
|
})
|
|
607
|
-
editFile(
|
|
608
|
-
path.resolve(root, `vite.config.m${isTs ? 'ts' : 'js'}`),
|
|
609
|
-
(content) => {
|
|
610
|
-
return content.replace(
|
|
611
|
-
/@vitejs\/plugin-react@.+?'/,
|
|
612
|
-
"@vitejs/plugin-react-swc@^3.5.0'"
|
|
613
|
-
)
|
|
614
|
-
}
|
|
615
|
-
)
|
|
616
646
|
} else {
|
|
617
647
|
editFile(path.resolve(root, 'package.json'), (content) => {
|
|
618
648
|
return content.replace(
|
|
619
649
|
/"@vitejs\/plugin-react": ".+?"/,
|
|
620
|
-
`"@vitejs/plugin-react-swc": "^3.
|
|
650
|
+
`"@vitejs/plugin-react-swc": "^3.7.1"`,
|
|
621
651
|
)
|
|
622
652
|
})
|
|
623
|
-
editFile(
|
|
624
|
-
path.resolve(root, `vite.config.${isTs ? 'ts' : 'js'}`),
|
|
625
|
-
(content) => {
|
|
626
|
-
return content.replace(
|
|
627
|
-
'@vitejs/plugin-react',
|
|
628
|
-
'@vitejs/plugin-react-swc'
|
|
629
|
-
)
|
|
630
|
-
}
|
|
631
|
-
)
|
|
632
653
|
}
|
|
654
|
+
editFile(
|
|
655
|
+
path.resolve(root, `vite.config.${isTs ? 'ts' : 'js'}`),
|
|
656
|
+
(content) => {
|
|
657
|
+
return content.replace('@vitejs/plugin-react', '@vitejs/plugin-react-swc')
|
|
658
|
+
},
|
|
659
|
+
)
|
|
633
660
|
}
|
|
634
661
|
|
|
635
662
|
/**
|