isValidPackageName(dir) || 'Invalid package.json name'
},
{
- name: 'shouldUseTypeScript',
+ name: 'shouldAddJSX',
+ type: () => (isValidTemplate ? null : 'toggle'),
+ message: 'Add JSX Support?',
+ initial: false,
+ active: 'Yes',
+ inactive: 'No'
+ },
+ {
+ name: 'shouldAddTypeScript',
type: () => (isValidTemplate ? null : 'toggle'),
message: 'Add TypeScript?',
initial: false,
const {
packageName = toValidPackageName(defaultProjectName),
shouldOverwrite,
- shouldUseTypeScript = isValidTemplate && template.includes('-ts'),
+ shouldAddJSX,
+ shouldAddTypeScript = isValidTemplate && template.includes('-ts'),
isSPA = isValidTemplate && template.includes('spa'),
shouldAddCypress = isValidTemplate && template.includes('-with-tests')
} = result
// Add configs.
render('config/base')
+ if (shouldAddJSX) {
+ render('config/jsx')
+ }
if (shouldAddCypress) {
render('config/cypress')
}
- if (shouldUseTypeScript) {
+ if (shouldAddTypeScript) {
render('config/typescript')
// rename all `.js` files to `.ts`
// Render code template.
// prettier-ignore
const codeTemplate =
- (shouldUseTypeScript ? 'typescript-' : '') +
+ (shouldAddTypeScript ? 'typescript-' : '') +
(isSPA ? 'spa' : 'default')
render(`code/${codeTemplate}`)
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
-import vueJsx from '@vitejs/plugin-vue-jsx'
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [vue(), vueJsx()],
+ plugins: [vue()],
resolve: {
alias: {
'@/': new URL('./src/', import.meta.url).pathname
--- /dev/null
+import { defineConfig } from 'vite'
+import vue from '@vitejs/plugin-vue'
+import vueJsx from '@vitejs/plugin-vue-jsx'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [vue(), vueJsx()],
+ resolve: {
+ alias: {
+ '@/': new URL('./src/', import.meta.url).pathname
+ }
+ }
+})