create-vuetify 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +75 -38
  2. package/dist/output.cjs +10 -49
  3. package/package.json +2 -2
  4. package/template/javascript/base/package.json +10 -18
  5. package/template/javascript/base/src/App.vue +5 -1
  6. package/template/javascript/base/src/pages/README.md +5 -0
  7. package/template/javascript/{essentials/src/App.vue → base/src/pages/index.vue} +1 -1
  8. package/template/javascript/base/src/plugins/index.js +1 -1
  9. package/template/javascript/base/src/router/index.js +9 -19
  10. package/template/javascript/base/src/styles/README.md +3 -0
  11. package/template/javascript/{essentials/vite.config.js → base/vite.config.mjs} +8 -4
  12. package/template/javascript/default/README.md +58 -34
  13. package/template/javascript/default/_gitignore +0 -1
  14. package/template/javascript/default/jsconfig.json +1 -0
  15. package/template/javascript/default/package.json +8 -6
  16. package/template/javascript/default/src/App.vue +1 -1
  17. package/template/javascript/default/src/components/README.md +35 -0
  18. package/template/javascript/default/src/plugins/README.md +3 -0
  19. package/template/javascript/default/src/plugins/vuetify.js +1 -10
  20. package/template/javascript/default/{vite.config.js → vite.config.mjs} +6 -6
  21. package/template/javascript/essentials/package.json +2 -24
  22. package/template/javascript/essentials/src/layouts/README.md +5 -0
  23. package/template/javascript/essentials/src/layouts/default.vue +12 -0
  24. package/template/javascript/essentials/src/plugins/index.js +2 -2
  25. package/template/javascript/essentials/src/router/index.js +7 -19
  26. package/template/javascript/essentials/src/store/README.md +5 -0
  27. package/template/javascript/{base/vite.config.js → essentials/vite.config.mjs} +10 -4
  28. package/template/typescript/base/_eslintrc.js +6 -0
  29. package/template/typescript/base/package.json +11 -23
  30. package/template/typescript/base/src/App.vue +5 -1
  31. package/template/typescript/base/src/pages/README.md +5 -0
  32. package/template/typescript/{essentials/src/App.vue → base/src/pages/index.vue} +1 -1
  33. package/template/typescript/base/src/router/index.ts +7 -19
  34. package/template/typescript/base/src/styles/README.md +3 -0
  35. package/template/typescript/base/{vite.config.ts → vite.config.mts} +21 -11
  36. package/template/typescript/default/README.md +60 -34
  37. package/template/typescript/default/_gitignore +0 -1
  38. package/template/typescript/default/index.html +1 -1
  39. package/template/typescript/default/package.json +12 -10
  40. package/template/typescript/default/src/App.vue +1 -1
  41. package/template/typescript/default/src/components/README.md +35 -0
  42. package/template/typescript/default/src/plugins/README.md +3 -0
  43. package/template/typescript/default/src/plugins/vuetify.ts +1 -10
  44. package/template/typescript/default/tsconfig.node.json +1 -1
  45. package/template/typescript/default/{vite.config.ts → vite.config.mts} +19 -13
  46. package/template/typescript/essentials/package.json +2 -29
  47. package/template/typescript/essentials/src/layouts/README.md +5 -0
  48. package/template/typescript/essentials/src/layouts/default.vue +12 -0
  49. package/template/typescript/essentials/src/router/index.ts +9 -19
  50. package/template/typescript/essentials/src/store/README.md +5 -0
  51. package/template/typescript/essentials/vite.config.mts +56 -0
  52. package/template/javascript/base/README.md +0 -69
  53. package/template/javascript/base/_browserslistrc +0 -4
  54. package/template/javascript/base/_editorconfig +0 -5
  55. package/template/javascript/base/_gitignore +0 -22
  56. package/template/javascript/base/index.html +0 -16
  57. package/template/javascript/base/jsconfig.json +0 -19
  58. package/template/javascript/base/public/favicon.ico +0 -0
  59. package/template/javascript/base/src/assets/logo.png +0 -0
  60. package/template/javascript/base/src/assets/logo.svg +0 -6
  61. package/template/javascript/base/src/components/HelloWorld.vue +0 -75
  62. package/template/javascript/base/src/layouts/default/AppBar.vue +0 -13
  63. package/template/javascript/base/src/layouts/default/Default.vue +0 -12
  64. package/template/javascript/base/src/layouts/default/View.vue +0 -9
  65. package/template/javascript/base/src/main.js +0 -20
  66. package/template/javascript/base/src/plugins/vuetify.js +0 -26
  67. package/template/javascript/base/src/views/Home.vue +0 -7
  68. package/template/javascript/custom/eslint/_eslintrc.js +0 -10
  69. package/template/javascript/custom/eslint/package.json +0 -9
  70. package/template/javascript/custom/router/package.json +0 -5
  71. package/template/javascript/custom/router/src/App.vue +0 -7
  72. package/template/javascript/custom/router/src/layouts/default/Default.vue +0 -9
  73. package/template/javascript/custom/router/src/layouts/default/View.vue +0 -9
  74. package/template/javascript/custom/router/src/plugins/index.js +0 -15
  75. package/template/javascript/custom/router/src/router/index.js +0 -26
  76. package/template/javascript/custom/router/src/views/Home.vue +0 -7
  77. package/template/javascript/custom/router-pinia/src/plugins/index.js +0 -17
  78. package/template/javascript/custom/store/package.json +0 -5
  79. package/template/javascript/custom/store/src/plugins/index.js +0 -15
  80. package/template/javascript/custom/store/src/store/app.js +0 -8
  81. package/template/javascript/custom/store/src/store/index.js +0 -4
  82. package/template/javascript/essentials/README.md +0 -69
  83. package/template/javascript/essentials/_browserslistrc +0 -4
  84. package/template/javascript/essentials/_editorconfig +0 -5
  85. package/template/javascript/essentials/_eslintrc.js +0 -10
  86. package/template/javascript/essentials/_gitignore +0 -22
  87. package/template/javascript/essentials/index.html +0 -16
  88. package/template/javascript/essentials/jsconfig.json +0 -19
  89. package/template/javascript/essentials/public/favicon.ico +0 -0
  90. package/template/javascript/essentials/src/assets/logo.png +0 -0
  91. package/template/javascript/essentials/src/assets/logo.svg +0 -6
  92. package/template/javascript/essentials/src/components/HelloWorld.vue +0 -75
  93. package/template/javascript/essentials/src/layouts/default/Default.vue +0 -12
  94. package/template/javascript/essentials/src/main.js +0 -20
  95. package/template/javascript/essentials/src/plugins/vuetify.js +0 -26
  96. package/template/javascript/essentials/src/styles/settings.scss +0 -10
  97. package/template/javascript/essentials/src/views/Home.vue +0 -7
  98. package/template/typescript/base/README.md +0 -69
  99. package/template/typescript/base/_browserslistrc +0 -4
  100. package/template/typescript/base/_editorconfig +0 -5
  101. package/template/typescript/base/_gitignore +0 -22
  102. package/template/typescript/base/index.html +0 -16
  103. package/template/typescript/base/public/favicon.ico +0 -0
  104. package/template/typescript/base/src/assets/logo.png +0 -0
  105. package/template/typescript/base/src/assets/logo.svg +0 -6
  106. package/template/typescript/base/src/components/HelloWorld.vue +0 -75
  107. package/template/typescript/base/src/layouts/default/AppBar.vue +0 -13
  108. package/template/typescript/base/src/layouts/default/Default.vue +0 -12
  109. package/template/typescript/base/src/layouts/default/View.vue +0 -9
  110. package/template/typescript/base/src/main.ts +0 -20
  111. package/template/typescript/base/src/plugins/vuetify.ts +0 -26
  112. package/template/typescript/base/src/views/Home.vue +0 -7
  113. package/template/typescript/base/src/vite-env.d.ts +0 -7
  114. package/template/typescript/base/tsconfig.json +0 -25
  115. package/template/typescript/base/tsconfig.node.json +0 -9
  116. package/template/typescript/custom/eslint/_eslintrc.js +0 -14
  117. package/template/typescript/custom/eslint/package.json +0 -10
  118. package/template/typescript/custom/router/package.json +0 -5
  119. package/template/typescript/custom/router/src/layouts/default/Default.vue +0 -9
  120. package/template/typescript/custom/router/src/layouts/default/View.vue +0 -9
  121. package/template/typescript/custom/router/src/plugins/index.ts +0 -18
  122. package/template/typescript/custom/router/src/router/index.ts +0 -26
  123. package/template/typescript/custom/router/src/views/Home.vue +0 -7
  124. package/template/typescript/custom/router-pinia/src/plugins/index.ts +0 -20
  125. package/template/typescript/custom/store/package.json +0 -5
  126. package/template/typescript/custom/store/src/plugins/index.ts +0 -18
  127. package/template/typescript/custom/store/src/store/app.ts +0 -8
  128. package/template/typescript/custom/store/src/store/index.ts +0 -4
  129. package/template/typescript/essentials/README.md +0 -69
  130. package/template/typescript/essentials/_browserslistrc +0 -4
  131. package/template/typescript/essentials/_editorconfig +0 -5
  132. package/template/typescript/essentials/_eslintrc.js +0 -14
  133. package/template/typescript/essentials/_gitignore +0 -22
  134. package/template/typescript/essentials/index.html +0 -16
  135. package/template/typescript/essentials/public/favicon.ico +0 -0
  136. package/template/typescript/essentials/src/assets/logo.png +0 -0
  137. package/template/typescript/essentials/src/assets/logo.svg +0 -6
  138. package/template/typescript/essentials/src/components/HelloWorld.vue +0 -75
  139. package/template/typescript/essentials/src/layouts/default/Default.vue +0 -12
  140. package/template/typescript/essentials/src/main.ts +0 -20
  141. package/template/typescript/essentials/src/plugins/vuetify.ts +0 -26
  142. package/template/typescript/essentials/src/styles/settings.scss +0 -10
  143. package/template/typescript/essentials/src/views/Home.vue +0 -7
  144. package/template/typescript/essentials/src/vite-env.d.ts +0 -7
  145. package/template/typescript/essentials/tsconfig.json +0 -31
  146. package/template/typescript/essentials/tsconfig.node.json +0 -9
  147. package/template/typescript/essentials/vite.config.ts +0 -44
@@ -1,28 +1,6 @@
1
1
  {
2
- "version": "0.0.0",
3
- "private": true,
4
- "scripts": {
5
- "dev": "vite",
6
- "build": "vite build",
7
- "preview": "vite preview",
8
- "lint": "eslint . --fix --ignore-path .gitignore"
9
- },
10
- "dependencies": {
11
- "@mdi/font": "7.0.96",
12
- "core-js": "^3.29.0",
13
- "pinia": "^2.0.0",
14
- "roboto-fontface": "*",
15
- "vue": "^3.2.0",
16
- "vue-router": "^4.0.0",
17
- "vuetify": "^3.0.0"
18
- },
19
2
  "devDependencies": {
20
- "@vitejs/plugin-vue": "^4.0.0",
21
- "eslint": "^8.37.0",
22
- "eslint-plugin-vue": "^9.3.0",
23
- "sass": "^1.60.0",
24
- "vite": "^4.2.0",
25
- "vite-plugin-vuetify": "^1.0.0",
26
- "unplugin-fonts": "^1.0.3"
3
+ "pinia" : "^2.1.0",
4
+ "vite-plugin-vue-layouts": "^0.10.0"
27
5
  }
28
6
  }
@@ -0,0 +1,5 @@
1
+ # Layouts
2
+
3
+ Layouts are reusable components that wrap around pages. They are used to provide a consistent look and feel across multiple pages.
4
+
5
+ Full documentation for this feature can be found in the Official [vite-plugin-vue-layouts](https://github.com/JohnCampionJr/vite-plugin-vue-layouts) repository.
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <v-app>
3
+ <DefaultBar />
4
+
5
+ <DefaultView />
6
+ </v-app>
7
+ </template>
8
+
9
+ <script setup>
10
+ import DefaultBar from './default/AppBar.vue'
11
+ import DefaultView from './default/View.vue'
12
+ </script>
@@ -6,8 +6,8 @@
6
6
 
7
7
  // Plugins
8
8
  import vuetify from './vuetify'
9
- import pinia from '../store'
10
- import router from '../router'
9
+ import pinia from '@/store'
10
+ import router from '@/router'
11
11
 
12
12
  export function registerPlugins (app) {
13
13
  app
@@ -1,26 +1,14 @@
1
- // Composables
2
- import { createRouter, createWebHistory } from 'vue-router'
1
+ /**
2
+ * router/index.ts
3
+ *
4
+ * Automatic routes for `./src/pages/*.vue`
5
+ */
3
6
 
4
- const routes = [
5
- {
6
- path: '/',
7
- component: () => import('@/layouts/default/Default.vue'),
8
- children: [
9
- {
10
- path: '',
11
- name: 'Home',
12
- // route level code-splitting
13
- // this generates a separate chunk (Home-[hash].js) for this route
14
- // which is lazy-loaded when the route is visited.
15
- component: () => import('@/views/Home.vue'),
16
- },
17
- ],
18
- },
19
- ]
7
+ // Composables
8
+ import { createRouter, createWebHistory } from 'vue-router/auto'
20
9
 
21
10
  const router = createRouter({
22
11
  history: createWebHistory(process.env.BASE_URL),
23
- routes,
24
12
  })
25
13
 
26
14
  export default router
@@ -0,0 +1,5 @@
1
+ # Store
2
+
3
+ Pinia stores are used to store reactive state and expose actions to mutate it.
4
+
5
+ Full documentation for this feature can be found in the Official [Pinia](https://pinia.esm.dev/) repository.
@@ -1,7 +1,10 @@
1
1
  // Plugins
2
- import vue from '@vitejs/plugin-vue'
3
- import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
2
+ import Components from 'unplugin-vue-components/vite'
3
+ import Vue from '@vitejs/plugin-vue'
4
+ import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
4
5
  import ViteFonts from 'unplugin-fonts/vite'
6
+ import Layouts from 'vite-plugin-vue-layouts'
7
+ import VueRouter from 'unplugin-vue-router/vite'
5
8
 
6
9
  // Utilities
7
10
  import { defineConfig } from 'vite'
@@ -10,16 +13,19 @@ import { fileURLToPath, URL } from 'node:url'
10
13
  // https://vitejs.dev/config/
11
14
  export default defineConfig({
12
15
  plugins: [
13
- vue({
16
+ VueRouter(),
17
+ Layouts(),
18
+ Vue({
14
19
  template: { transformAssetUrls }
15
20
  }),
16
21
  // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
17
- vuetify({
22
+ Vuetify({
18
23
  autoImport: true,
19
24
  styles: {
20
25
  configFile: 'src/styles/settings.scss',
21
26
  },
22
27
  }),
28
+ Components(),
23
29
  ViteFonts({
24
30
  google: {
25
31
  families: [{
@@ -1,3 +1,9 @@
1
+ /**
2
+ * .eslint.js
3
+ *
4
+ * ESLint configuration file.
5
+ */
6
+
1
7
  module.exports = {
2
8
  root: true,
3
9
  env: {
@@ -1,32 +1,20 @@
1
1
  {
2
- "version": "0.0.0",
3
- "private": true,
4
2
  "scripts": {
5
- "dev": "vite",
6
- "build": "vue-tsc --noEmit && vite build",
7
- "preview": "vite preview",
8
3
  "lint": "eslint . --fix --ignore-path .gitignore"
9
4
  },
10
5
  "dependencies": {
11
- "@mdi/font": "7.0.96",
12
- "core-js": "^3.29.0",
13
- "roboto-fontface": "*",
14
- "vue": "^3.2.0",
15
- "vue-router": "^4.0.0",
16
- "vuetify": "^3.0.0"
6
+ "core-js": "^3.34.0"
17
7
  },
18
8
  "devDependencies": {
19
- "@babel/types": "^7.21.4",
20
- "@types/node": "^18.15.0",
21
- "@vitejs/plugin-vue": "^4.0.0",
22
- "@vue/eslint-config-typescript": "^11.0.0",
23
- "eslint": "^8.22.0",
24
- "eslint-plugin-vue": "^9.3.0",
25
- "sass": "^1.60.0",
26
- "typescript": "^5.0.0",
27
- "vite": "^4.2.0",
28
- "vite-plugin-vuetify": "^1.0.0",
29
- "vue-tsc": "^1.2.0",
30
- "unplugin-fonts": "^1.0.3"
9
+ "@vue/eslint-config-typescript": "^12.0.0",
10
+ "eslint": "^8.56.0",
11
+ "eslint-config-standard": "^17.1.0",
12
+ "eslint-plugin-import": "^2.29.0",
13
+ "eslint-plugin-n": "^16.4.0",
14
+ "eslint-plugin-node": "^11.1.0",
15
+ "eslint-plugin-promise": "^6.1.1",
16
+ "eslint-plugin-vue": "^9.19.0",
17
+ "vue-router": "^4.2.0",
18
+ "unplugin-vue-router": "^0.7.0"
31
19
  }
32
20
  }
@@ -1,5 +1,9 @@
1
1
  <template>
2
- <router-view />
2
+ <v-app>
3
+ <v-main>
4
+ <router-view />
5
+ </v-main>
6
+ </v-app>
3
7
  </template>
4
8
 
5
9
  <script lang="ts" setup>
@@ -0,0 +1,5 @@
1
+ # Pages
2
+
3
+ Vue components created in this folder will automatically be converted to navigatable routes.
4
+
5
+ Full documentation for this feature can be found in the Official [unplugin-vue-router](https://github.com/posva/unplugin-vue-router) repository.
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <router-view />
2
+ <HelloWorld />
3
3
  </template>
4
4
 
5
5
  <script lang="ts" setup>
@@ -1,26 +1,14 @@
1
- // Composables
2
- import { createRouter, createWebHistory } from 'vue-router'
1
+ /**
2
+ * router/index.ts
3
+ *
4
+ * Automatic routes for `./src/pages/*.vue`
5
+ */
3
6
 
4
- const routes = [
5
- {
6
- path: '/',
7
- component: () => import('@/layouts/default/Default.vue'),
8
- children: [
9
- {
10
- path: '',
11
- name: 'Home',
12
- // route level code-splitting
13
- // this generates a separate chunk (Home-[hash].js) for this route
14
- // which is lazy-loaded when the route is visited.
15
- component: () => import('@/views/Home.vue'),
16
- },
17
- ],
18
- },
19
- ]
7
+ // Composables
8
+ import { createRouter, createWebHistory } from 'vue-router/auto'
20
9
 
21
10
  const router = createRouter({
22
11
  history: createWebHistory(process.env.BASE_URL),
23
- routes,
24
12
  })
25
13
 
26
14
  export default router
@@ -0,0 +1,3 @@
1
+ # Styles
2
+
3
+ This directory is for configuring the styles of the application.
@@ -1,7 +1,9 @@
1
1
  // Plugins
2
- import vue from '@vitejs/plugin-vue'
3
- import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
2
+ import Components from 'unplugin-vue-components/vite'
3
+ import Vue from '@vitejs/plugin-vue'
4
+ import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
4
5
  import ViteFonts from 'unplugin-fonts/vite'
6
+ import VueRouter from 'unplugin-vue-router/vite'
5
7
 
6
8
  // Utilities
7
9
  import { defineConfig } from 'vite'
@@ -10,24 +12,24 @@ import { fileURLToPath, URL } from 'node:url'
10
12
  // https://vitejs.dev/config/
11
13
  export default defineConfig({
12
14
  plugins: [
13
- vue({
15
+ VueRouter(),
16
+ Vue({
14
17
  template: { transformAssetUrls },
15
18
  }),
16
19
  // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
17
- vuetify({
20
+ Vuetify({
18
21
  autoImport: true,
19
22
  styles: {
20
23
  configFile: 'src/styles/settings.scss',
21
24
  },
22
25
  }),
26
+ Components(),
23
27
  ViteFonts({
24
28
  google: {
25
- families: [
26
- {
27
- name: 'Roboto',
28
- styles: 'wght@100;300;400;500;700;900',
29
- },
30
- ],
29
+ families: [ {
30
+ name: 'Roboto',
31
+ styles: 'wght@100;300;400;500;700;900',
32
+ }],
31
33
  },
32
34
  }),
33
35
  ],
@@ -36,7 +38,15 @@ export default defineConfig({
36
38
  alias: {
37
39
  '@': fileURLToPath(new URL('./src', import.meta.url)),
38
40
  },
39
- extensions: ['.js', '.json', '.jsx', '.mjs', '.ts', '.tsx', '.vue'],
41
+ extensions: [
42
+ '.js',
43
+ '.json',
44
+ '.jsx',
45
+ '.mjs',
46
+ '.ts',
47
+ '.tsx',
48
+ '.vue',
49
+ ],
40
50
  },
41
51
  server: {
42
52
  port: 3000,
@@ -1,53 +1,79 @@
1
- # default
1
+ # Vuetify (Default)
2
2
 
3
- ## Project setup
3
+ This is the official scaffolding tool for Vuetify, designed to give you a head start in building your new Vuetify application. It sets up a base template with all the necessary configurations and standard directory structure, enabling you to begin development without the hassle of setting up the project from scratch.
4
4
 
5
- ```
6
- # yarn
7
- yarn
5
+ ## ❗️ Important Links
8
6
 
9
- # npm
10
- npm install
7
+ - 📄 [Docs](https://vuetifyjs.com/)
8
+ - 🚨 [Issues](https://issues.vuetifyjs.com/)
9
+ - 🏬 [Store](https://store.vuetifyjs.com/)
10
+ - 🎮 [Playground](https://play.vuetifyjs.com/)
11
+ - 💬 [Discord](https://community.vuetifyjs.com)
11
12
 
12
- # pnpm
13
- pnpm install
13
+ ## 💿 Install
14
14
 
15
- # bun
16
- bun install
17
- ```
15
+ Set up your project using your preferred package manager. Use the corresponding command to install the dependencies:
18
16
 
19
- ### Compiles and hot-reloads for development
17
+ | Package Manager | Command |
18
+ |---------------------------------------------------------------|----------------|
19
+ | [yarn](https://yarnpkg.com/getting-started) | `yarn install` |
20
+ | [npm](https://docs.npmjs.com/cli/v7/commands/npm-install) | `npm install` |
21
+ | [pnpm](https://pnpm.io/installation) | `pnpm install` |
22
+ | [bun](https://bun.sh/#getting-started) | `bun install` |
20
23
 
21
- ```
22
- # yarn
23
- yarn dev
24
+ After completing the installation, your environment is ready for Vuetify development.
24
25
 
25
- # npm
26
- npm run dev
26
+ ## ✨ Features
27
27
 
28
- # pnpm
29
- pnpm dev
28
+ - 🖼️ **Optimized Front-End Stack**: Leverage the latest Vue 3 and Vuetify 3 for a modern, reactive UI development experience. [Vue 3](https://v3.vuejs.org/) | [Vuetify 3](https://vuetifyjs.com/en/)
29
+ - 🗃️ **State Management**: Integrated with [Pinia](https://pinia.vuejs.org/), the intuitive, modular state management solution for Vue.
30
+ - 🚦 **Routing and Layouts**: Utilizes Vue Router for SPA navigation and vite-plugin-vue-layouts for organizing Vue file layouts. [Vue Router](https://router.vuejs.org/) | [vite-plugin-vue-layouts](https://github.com/JohnCampionJr/vite-plugin-vue-layouts)
31
+ - 💻 **Enhanced Development Experience**: Benefit from TypeScript's static type checking and the ESLint plugin suite for Vue, ensuring code quality and consistency. [TypeScript](https://www.typescriptlang.org/) | [ESLint Plugin Vue](https://eslint.vuejs.org/)
32
+ - ⚡ **Next-Gen Tooling**: Powered by Vite, experience fast cold starts and instant HMR (Hot Module Replacement). [Vite](https://vitejs.dev/)
33
+ - 🧩 **Automated Component Importing**: Streamline your workflow with unplugin-vue-components, automatically importing components as you use them. [unplugin-vue-components](https://github.com/antfu/unplugin-vue-components)
34
+ - 🛠️ **Strongly-Typed Vue**: Use vue-tsc for type-checking your Vue components, and enjoy a robust development experience. [vue-tsc](https://github.com/johnsoncodehk/volar/tree/master/packages/vue-tsc)
30
35
 
31
- # bun
32
- bun run dev
33
- ```
36
+ These features are curated to provide a seamless development experience from setup to deployment, ensuring that your Vuetify application is both powerful and maintainable.
34
37
 
35
- ### Compiles and minifies for production
38
+ ## 💡 Usage
36
39
 
40
+ This section covers how to start the development server and build your project for production.
41
+
42
+ ### Starting the Development Server
43
+
44
+ To start the development server with hot-reload, run the following command. The server will be accessible at [http://localhost:3000](http://localhost:3000):
45
+
46
+ ```bash
47
+ yarn dev
37
48
  ```
38
- # yarn
39
- yarn build
40
49
 
41
- # npm
42
- npm run build
50
+ (Repeat for npm, pnpm, and bun with respective commands.)
51
+
52
+ ### Building for Production
43
53
 
44
- # pnpm
45
- pnpm build
54
+ To build your project for production, use:
46
55
 
47
- # bun
48
- bun run build
56
+ ```bash
57
+ yarn build
49
58
  ```
50
59
 
51
- ### Customize configuration
60
+ (Repeat for npm, pnpm, and bun with respective commands.)
61
+
62
+ Once the build process is completed, your application will be ready for deployment in a production environment.
63
+
64
+ ## 💪 Support Vuetify Development
65
+
66
+ This project is built with [Vuetify](https://vuetifyjs.com/en/), a UI Library with a comprehensive collection of Vue components. Vuetify is an MIT licensed Open Source project that has been made possible due to the generous contributions by our [sponsors and backers](https://vuetifyjs.com/introduction/sponsors-and-backers/). If you are interested in supporting this project, please consider:
67
+
68
+ - [Requesting Enterprise Support](https://support.vuetifyjs.com/)
69
+ - [Sponsoring John on Github](https://github.com/users/johnleider/sponsorship)
70
+ - [Sponsoring Kael on Github](https://github.com/users/kaelwd/sponsorship)
71
+ - [Supporting the team on Open Collective](https://opencollective.com/vuetify)
72
+ - [Becoming a sponsor on Patreon](https://www.patreon.com/vuetify)
73
+ - [Becoming a subscriber on Tidelift](https://tidelift.com/subscription/npm/vuetify)
74
+ - [Making a one-time donation with Paypal](https://paypal.me/vuetify)
75
+
76
+ ## 📑 License
77
+ [MIT](http://opensource.org/licenses/MIT)
52
78
 
53
- See [Configuration Reference](https://vitejs.dev/config/).
79
+ Copyright (c) 2016-present Vuetify, LLC
@@ -2,7 +2,6 @@
2
2
  node_modules
3
3
  /dist
4
4
 
5
-
6
5
  # local env files
7
6
  .env.local
8
7
  .env.*.local
@@ -5,7 +5,7 @@
5
5
  <meta charset="UTF-8" />
6
6
  <link rel="icon" href="/favicon.ico" />
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
- <title>Vuetify 3</title>
8
+ <title>Welcome to Vuetify 3</title>
9
9
  </head>
10
10
 
11
11
  <body>
@@ -1,24 +1,26 @@
1
1
  {
2
2
  "version": "0.0.0",
3
3
  "scripts": {
4
- "dev": "vite",
4
+ "dev": "node --no-warnings ./node_modules/.bin/vite",
5
5
  "build": "vue-tsc --noEmit && vite build",
6
6
  "preview": "vite preview"
7
7
  },
8
8
  "dependencies": {
9
9
  "@mdi/font": "7.0.96",
10
10
  "roboto-fontface": "*",
11
- "vue": "^3.2.0",
11
+ "vue": "^3.3.0",
12
12
  "vuetify": "^3.0.0"
13
13
  },
14
14
  "devDependencies": {
15
- "@babel/types": "^7.21.4",
16
- "@types/node": "^18.15.0",
17
- "@vitejs/plugin-vue": "^4.0.0",
18
- "typescript": "^5.0.0",
19
- "vite": "^4.2.0",
20
- "vite-plugin-vuetify": "^1.0.0",
21
- "vue-tsc": "^1.2.0",
22
- "unplugin-fonts": "^1.0.3"
15
+ "@babel/types": "^7.23.0",
16
+ "@types/node": "^20.10.0",
17
+ "@vitejs/plugin-vue": "^4.5.0",
18
+ "sass": "^1.69.0",
19
+ "typescript": "^5.3.0",
20
+ "vite": "^5.0.0",
21
+ "vite-plugin-vuetify": "^2.0.0",
22
+ "vue-tsc": "^1.8.0",
23
+ "unplugin-vue-components": "^0.26.0",
24
+ "unplugin-fonts": "^1.1.0"
23
25
  }
24
26
  }
@@ -7,5 +7,5 @@
7
7
  </template>
8
8
 
9
9
  <script setup lang="ts">
10
- import HelloWorld from '@/components/HelloWorld.vue'
10
+ //
11
11
  </script>
@@ -0,0 +1,35 @@
1
+ # Components
2
+
3
+ Vue template files in this folder are automatically imported.
4
+
5
+ ## 🚀 Usage
6
+
7
+ Importing is handled by [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components). This plugin automatically imports `.vue` files created in the `src/components` directory, and registers them as global components. This means that you can use any component in your application without having to manually import it.
8
+
9
+ The following example assumes a component located at `src/components/MyComponent.vue`:
10
+
11
+ ```vue
12
+ <template>
13
+ <div>
14
+ <MyComponent />
15
+ </div>
16
+ </template>
17
+
18
+ <script lang="ts" setup>
19
+ //
20
+ </script>
21
+ ```
22
+
23
+ When your template is rendered, the component's import will automatically be inlined, which renders to this:
24
+
25
+ ```vue
26
+ <template>
27
+ <div>
28
+ <MyComponent />
29
+ </div>
30
+ </template>
31
+
32
+ <script lang="ts" setup>
33
+ import MyComponent from '@/components/MyComponent.vue'
34
+ </script>
35
+ ```
@@ -0,0 +1,3 @@
1
+ # Plugins
2
+
3
+ Plugins are a way to extend the functionality of your Vue application. Use this folder for registering plugins that you want to use globally.
@@ -13,14 +13,5 @@ import { createVuetify } from 'vuetify'
13
13
 
14
14
  // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
15
15
  export default createVuetify({
16
- theme: {
17
- themes: {
18
- light: {
19
- colors: {
20
- primary: '#1867C0',
21
- secondary: '#5CBBF6',
22
- },
23
- },
24
- },
25
- },
16
+ //
26
17
  })
@@ -5,5 +5,5 @@
5
5
  "moduleResolution": "Node",
6
6
  "allowSyntheticDefaultImports": true
7
7
  },
8
- "include": ["vite.config.ts"]
8
+ "include": ["vite.config.mts"]
9
9
  }
@@ -1,6 +1,7 @@
1
1
  // Plugins
2
- import vue from '@vitejs/plugin-vue'
3
- import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
2
+ import Components from 'unplugin-vue-components/vite'
3
+ import Vue from '@vitejs/plugin-vue'
4
+ import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
4
5
  import ViteFonts from 'unplugin-fonts/vite'
5
6
 
6
7
  // Utilities
@@ -10,21 +11,18 @@ import { fileURLToPath, URL } from 'node:url'
10
11
  // https://vitejs.dev/config/
11
12
  export default defineConfig({
12
13
  plugins: [
13
- vue({
14
+ Vue({
14
15
  template: { transformAssetUrls },
15
16
  }),
16
17
  // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
17
- vuetify({
18
- autoImport: true,
19
- }),
18
+ Vuetify(),
19
+ Components(),
20
20
  ViteFonts({
21
21
  google: {
22
- families: [
23
- {
24
- name: 'Roboto',
25
- styles: 'wght@100;300;400;500;700;900',
26
- },
27
- ],
22
+ families: [{
23
+ name: 'Roboto',
24
+ styles: 'wght@100;300;400;500;700;900',
25
+ }],
28
26
  },
29
27
  }),
30
28
  ],
@@ -33,7 +31,15 @@ export default defineConfig({
33
31
  alias: {
34
32
  '@': fileURLToPath(new URL('./src', import.meta.url)),
35
33
  },
36
- extensions: ['.js', '.json', '.jsx', '.mjs', '.ts', '.tsx', '.vue'],
34
+ extensions: [
35
+ '.js',
36
+ '.json',
37
+ '.jsx',
38
+ '.mjs',
39
+ '.ts',
40
+ '.tsx',
41
+ '.vue',
42
+ ],
37
43
  },
38
44
  server: {
39
45
  port: 3000,