create-vuetify 1.1.0 → 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 (148) hide show
  1. package/README.md +75 -38
  2. package/dist/output.cjs +11 -53
  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} +9 -5
  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 +9 -7
  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/main.js +3 -3
  19. package/template/javascript/default/src/plugins/README.md +3 -0
  20. package/template/javascript/default/src/plugins/vuetify.js +1 -10
  21. package/template/{typescript/default/vite.config.ts → javascript/default/vite.config.mjs} +7 -7
  22. package/template/javascript/essentials/package.json +2 -24
  23. package/template/javascript/essentials/src/layouts/README.md +5 -0
  24. package/template/javascript/essentials/src/layouts/default.vue +12 -0
  25. package/template/javascript/essentials/src/plugins/index.js +2 -2
  26. package/template/javascript/essentials/src/router/index.js +7 -19
  27. package/template/javascript/essentials/src/store/README.md +5 -0
  28. package/template/javascript/{base/vite.config.js → essentials/vite.config.mjs} +11 -5
  29. package/template/typescript/base/_eslintrc.js +6 -0
  30. package/template/typescript/base/package.json +11 -23
  31. package/template/typescript/base/src/App.vue +5 -1
  32. package/template/typescript/base/src/pages/README.md +5 -0
  33. package/template/typescript/{essentials/src/App.vue → base/src/pages/index.vue} +1 -1
  34. package/template/typescript/base/src/router/index.ts +7 -19
  35. package/template/typescript/base/src/styles/README.md +3 -0
  36. package/template/typescript/base/{vite.config.ts → vite.config.mts} +12 -8
  37. package/template/typescript/default/README.md +60 -34
  38. package/template/typescript/default/_gitignore +0 -1
  39. package/template/typescript/default/index.html +1 -1
  40. package/template/typescript/default/package.json +12 -10
  41. package/template/typescript/default/src/App.vue +1 -1
  42. package/template/typescript/default/src/components/README.md +35 -0
  43. package/template/typescript/default/src/main.ts +3 -3
  44. package/template/typescript/default/src/plugins/README.md +3 -0
  45. package/template/typescript/default/src/plugins/vuetify.ts +1 -10
  46. package/template/typescript/default/tsconfig.node.json +1 -1
  47. package/template/{javascript/default/vite.config.js → typescript/default/vite.config.mts} +9 -9
  48. package/template/typescript/essentials/package.json +2 -29
  49. package/template/typescript/essentials/src/layouts/README.md +5 -0
  50. package/template/typescript/essentials/src/layouts/default.vue +12 -0
  51. package/template/typescript/essentials/src/router/index.ts +9 -19
  52. package/template/typescript/essentials/src/store/README.md +5 -0
  53. package/template/typescript/essentials/{vite.config.ts → vite.config.mts} +14 -8
  54. package/template/javascript/base/README.md +0 -69
  55. package/template/javascript/base/_browserslistrc +0 -4
  56. package/template/javascript/base/_editorconfig +0 -5
  57. package/template/javascript/base/_gitignore +0 -22
  58. package/template/javascript/base/index.html +0 -16
  59. package/template/javascript/base/jsconfig.json +0 -19
  60. package/template/javascript/base/public/favicon.ico +0 -0
  61. package/template/javascript/base/src/assets/logo.png +0 -0
  62. package/template/javascript/base/src/assets/logo.svg +0 -6
  63. package/template/javascript/base/src/components/HelloWorld.vue +0 -75
  64. package/template/javascript/base/src/layouts/default/AppBar.vue +0 -13
  65. package/template/javascript/base/src/layouts/default/Default.vue +0 -12
  66. package/template/javascript/base/src/layouts/default/View.vue +0 -9
  67. package/template/javascript/base/src/main.js +0 -20
  68. package/template/javascript/base/src/plugins/vuetify.js +0 -26
  69. package/template/javascript/base/src/views/Home.vue +0 -7
  70. package/template/javascript/custom/eslint/_eslintrc.js +0 -10
  71. package/template/javascript/custom/eslint/package.json +0 -9
  72. package/template/javascript/custom/router/package.json +0 -5
  73. package/template/javascript/custom/router/src/App.vue +0 -7
  74. package/template/javascript/custom/router/src/layouts/default/Default.vue +0 -9
  75. package/template/javascript/custom/router/src/layouts/default/View.vue +0 -9
  76. package/template/javascript/custom/router/src/plugins/index.js +0 -15
  77. package/template/javascript/custom/router/src/router/index.js +0 -26
  78. package/template/javascript/custom/router/src/views/Home.vue +0 -7
  79. package/template/javascript/custom/router-pinia/src/plugins/index.js +0 -17
  80. package/template/javascript/custom/store/package.json +0 -5
  81. package/template/javascript/custom/store/src/plugins/index.js +0 -15
  82. package/template/javascript/custom/store/src/store/app.js +0 -8
  83. package/template/javascript/custom/store/src/store/index.js +0 -4
  84. package/template/javascript/essentials/README.md +0 -69
  85. package/template/javascript/essentials/_browserslistrc +0 -4
  86. package/template/javascript/essentials/_editorconfig +0 -5
  87. package/template/javascript/essentials/_eslintrc.js +0 -10
  88. package/template/javascript/essentials/_gitignore +0 -22
  89. package/template/javascript/essentials/index.html +0 -16
  90. package/template/javascript/essentials/jsconfig.json +0 -19
  91. package/template/javascript/essentials/public/favicon.ico +0 -0
  92. package/template/javascript/essentials/src/assets/logo.png +0 -0
  93. package/template/javascript/essentials/src/assets/logo.svg +0 -6
  94. package/template/javascript/essentials/src/components/HelloWorld.vue +0 -75
  95. package/template/javascript/essentials/src/layouts/default/Default.vue +0 -12
  96. package/template/javascript/essentials/src/main.js +0 -20
  97. package/template/javascript/essentials/src/plugins/vuetify.js +0 -26
  98. package/template/javascript/essentials/src/styles/settings.scss +0 -10
  99. package/template/javascript/essentials/src/views/Home.vue +0 -7
  100. package/template/typescript/base/README.md +0 -69
  101. package/template/typescript/base/_browserslistrc +0 -4
  102. package/template/typescript/base/_editorconfig +0 -5
  103. package/template/typescript/base/_gitignore +0 -22
  104. package/template/typescript/base/index.html +0 -16
  105. package/template/typescript/base/public/favicon.ico +0 -0
  106. package/template/typescript/base/src/assets/logo.png +0 -0
  107. package/template/typescript/base/src/assets/logo.svg +0 -6
  108. package/template/typescript/base/src/components/HelloWorld.vue +0 -75
  109. package/template/typescript/base/src/layouts/default/AppBar.vue +0 -13
  110. package/template/typescript/base/src/layouts/default/Default.vue +0 -12
  111. package/template/typescript/base/src/layouts/default/View.vue +0 -9
  112. package/template/typescript/base/src/main.ts +0 -20
  113. package/template/typescript/base/src/plugins/vuetify.ts +0 -26
  114. package/template/typescript/base/src/views/Home.vue +0 -7
  115. package/template/typescript/base/src/vite-env.d.ts +0 -7
  116. package/template/typescript/base/tsconfig.json +0 -25
  117. package/template/typescript/base/tsconfig.node.json +0 -9
  118. package/template/typescript/custom/eslint/_eslintrc.js +0 -14
  119. package/template/typescript/custom/eslint/package.json +0 -10
  120. package/template/typescript/custom/router/package.json +0 -5
  121. package/template/typescript/custom/router/src/layouts/default/Default.vue +0 -9
  122. package/template/typescript/custom/router/src/layouts/default/View.vue +0 -9
  123. package/template/typescript/custom/router/src/plugins/index.ts +0 -18
  124. package/template/typescript/custom/router/src/router/index.ts +0 -26
  125. package/template/typescript/custom/router/src/views/Home.vue +0 -7
  126. package/template/typescript/custom/router-pinia/src/plugins/index.ts +0 -20
  127. package/template/typescript/custom/store/package.json +0 -5
  128. package/template/typescript/custom/store/src/plugins/index.ts +0 -18
  129. package/template/typescript/custom/store/src/store/app.ts +0 -8
  130. package/template/typescript/custom/store/src/store/index.ts +0 -4
  131. package/template/typescript/essentials/README.md +0 -69
  132. package/template/typescript/essentials/_browserslistrc +0 -4
  133. package/template/typescript/essentials/_editorconfig +0 -5
  134. package/template/typescript/essentials/_eslintrc.js +0 -14
  135. package/template/typescript/essentials/_gitignore +0 -22
  136. package/template/typescript/essentials/index.html +0 -16
  137. package/template/typescript/essentials/public/favicon.ico +0 -0
  138. package/template/typescript/essentials/src/assets/logo.png +0 -0
  139. package/template/typescript/essentials/src/assets/logo.svg +0 -6
  140. package/template/typescript/essentials/src/components/HelloWorld.vue +0 -75
  141. package/template/typescript/essentials/src/layouts/default/Default.vue +0 -12
  142. package/template/typescript/essentials/src/main.ts +0 -20
  143. package/template/typescript/essentials/src/plugins/vuetify.ts +0 -26
  144. package/template/typescript/essentials/src/styles/settings.scss +0 -10
  145. package/template/typescript/essentials/src/views/Home.vue +0 -7
  146. package/template/typescript/essentials/src/vite-env.d.ts +0 -7
  147. package/template/typescript/essentials/tsconfig.json +0 -31
  148. package/template/typescript/essentials/tsconfig.node.json +0 -9
package/README.md CHANGED
@@ -1,40 +1,77 @@
1
1
  # create-vuetify
2
2
 
3
- ## Flags
4
-
5
- `create-vuetify` provides flags that can be passed when using the CLI to generate a new project.
6
-
7
- | **Flags** | **Values** | **Example** |
8
- | :----------- | ----------------------------------------- | ---------------------------------------- |
9
- | `preset` | `default`, `base`, `essentials`, `custom` | `--preset="default" or --preset default` |
10
- | `typescript` | `boolean` | `--typescript` |
11
-
12
- ## 💪 Supporting Vuetify
13
-
14
- <p>Vuetify is an open source MIT project that has been made possible due to the generous contributions by <a href="https://github.com/vuetifyjs/vuetify/blob/dev/BACKERS.md">community backers</a>. If you are interested in supporting this project, please consider:</p>
15
-
16
- <ul>
17
- <li>
18
- <a href="https://github.com/users/johnleider/sponsorship">Becoming a sponsor on Github</a>
19
- <strong><small>(supports John)</small></strong>
20
- </li>
21
- <li>
22
- <a href="https://opencollective.com/vuetify">Becoming a backer on OpenCollective</a>
23
- <strong><small>(supports the Dev team)</small></strong>
24
- </li>
25
- <li>
26
- <a href="https://tidelift.com/subscription/npm/vuetify?utm_source=vuetify&utm_medium=referral&utm_campaign=readme">Become a subscriber on Tidelift</a>
27
- </li>
28
- <li>
29
- <a href="https://paypal.me/vuetify">Make a one-time payment with Paypal</a>
30
- </li>
31
- <li>
32
- <a href="https://vuetifyjs.com/getting-started/consulting-and-support?ref=github">Book time with the Team</a>
33
- </li>
34
- </ul>
35
-
36
- ### 📑 License
37
-
38
- [MIT](http://opensource.org/licenses/MIT)
39
-
40
- Copyright (c) 2016-present Vuetify, LLC
3
+ <p align="center">
4
+ <img src="https://cdn.vuetifyjs.com/docs/images/logos/v.png" height="128">
5
+ </p>
6
+
7
+ ## Getting Started
8
+
9
+ Using your terminal, navigate to your sites directory and run the following command:
10
+
11
+ **Using Yarn:**
12
+ ```bash
13
+ yarn create vuetify
14
+ ```
15
+
16
+ **Using NPM:**
17
+ ```bash
18
+ npm create vuetify
19
+ ```
20
+
21
+ **Using PNPM:**
22
+ ```bash
23
+ pnpm create vuetify
24
+ ```
25
+
26
+ **Using Bun:**
27
+ ```bash
28
+ bun create vuetify
29
+ ```
30
+
31
+ ## Vuetify
32
+
33
+ Vuetify is an Open Source UI Library that is developed exactly according to Material Design spec. Every component is handcrafted to bring you the best possible UI tools to your next great app. The development doesn't stop at the core components outlined in Google's spec. Through the support of community members and sponsors, additional components will be designed and made available for everyone to enjoy.
34
+
35
+ The documentation for **Vuetify** is hosted [here](https://vuetifyjs.com/).
36
+
37
+ ### Support Development
38
+
39
+ Vuetify is an open source MIT 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:
40
+
41
+ - [Requesting Enterprise Support](https://support.vuetifyjs.com/)
42
+ - [Sponsoring John on Github](https://github.com/users/johnleider/sponsorship)
43
+ - [Sponsoring Kael on Github](https://github.com/users/kaelwd/sponsorship)
44
+ - [Supporting the team on Open Collective](https://opencollective.com/vuetify)
45
+ - [Becoming a sponsor on Patreon](https://www.patreon.com/vuetify)
46
+ - [Becoming a subscriber on Tidelift](https://tidelift.com/subscription/npm/vuetify)
47
+ - [Making a one-time donation with Paypal](https://paypal.me/vuetify)
48
+
49
+ ## Vite
50
+
51
+ Vite is a build tool that significantly improves the front-end development experience. You can use Vite to set up a development environment for frameworks like Vue and React, and even for a vanilla JavaScript app with a dev server and hot reloading in just three commands. It also easily integrates with [TypeScript](https://vitejs.dev/guide/features.html#typescript).
52
+
53
+ ## Browser Support
54
+
55
+ | Browser | Status |
56
+ | - | - |
57
+ | Chromium (Chrome, Edge) | ✅ Supported * |
58
+ | Firefox | ✅ Supported * |
59
+ | Safari 15.4+ | ✅ Supported |
60
+ | Safari 13. | ❗ Requires polyfill |
61
+ | Edge <79 | ⛔ Not supported |
62
+ | Internet Explorer | ⛔ Not supported |
63
+
64
+ ## Resources
65
+
66
+ - 📄 [Documentation](https://vuetifyjs.com/)
67
+ - 🚨 [Report an Issue](https://issues.vuetifyjs.com/)
68
+ - 🏬 [Vuetify Store](https://store.vuetifyjs.com/)
69
+ - 🎮 [Vuetify Playground](https://play.vuetifyjs.com/)
70
+ - 💬 [Discord](https://community.vuetifyjs.com)
71
+
72
+ ## Licensing
73
+
74
+ - Copyright 2023 Vuetify <https://vuetifyjs.com/>
75
+ - Vuetify [License Information](https://github.com/vuetifyjs/vuetify/blob/master/LICENSE.md)
76
+
77
+ <br>
package/dist/output.cjs CHANGED
@@ -14,10 +14,7 @@ var __copyProps = (to, from, except, desc) => {
14
14
  }
15
15
  return to;
16
16
  };
17
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
19
- mod
20
- ));
17
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
18
 
22
19
  // src/index.ts
23
20
  var import_path3 = require("path");
@@ -78,12 +75,11 @@ var promptQuestions = (context) => [
78
75
  name: "usePreset",
79
76
  type: context.usePreset ? null : "select",
80
77
  message: "Which preset would you like to install?",
81
- initial: 1,
78
+ initial: 0,
82
79
  choices: [
83
80
  { title: "Default (Vuetify)", value: "default" },
84
- { title: "Base (Vuetify, VueRouter)", value: "base" },
85
- { title: "Essentials (Vuetify, VueRouter, Pinia)", value: "essentials" },
86
- { title: "Custom (Choose your features)", value: "custom" }
81
+ { title: "Base (Default, Routing)", value: "base" },
82
+ { title: "Essentials (Base, Layouts, Pinia)", value: "essentials" }
87
83
  ]
88
84
  },
89
85
  {
@@ -94,30 +90,6 @@ var promptQuestions = (context) => [
94
90
  inactive: "No",
95
91
  initial: false
96
92
  },
97
- {
98
- name: "useRouter",
99
- type: (_, { usePreset }) => usePreset !== "custom" && context.usePreset !== "custom" ? null : "toggle",
100
- message: "Use Vue Router?",
101
- active: "Yes",
102
- inactive: "No",
103
- initial: false
104
- },
105
- {
106
- name: "useStore",
107
- type: (_, { usePreset }) => usePreset !== "custom" && context.usePreset !== "custom" ? null : "toggle",
108
- message: "Use Pinia?",
109
- active: "Yes",
110
- inactive: "No",
111
- initial: false
112
- },
113
- {
114
- name: "useEslint",
115
- type: (_, { usePreset }) => usePreset !== "custom" && context.usePreset !== "custom" ? null : "toggle",
116
- message: "Use ESLint?",
117
- active: "Yes",
118
- inactive: "No",
119
- initial: false
120
- },
121
93
  {
122
94
  name: "usePackageManager",
123
95
  type: "select",
@@ -253,10 +225,7 @@ ${banner}
253
225
  projectName,
254
226
  useTypeScript,
255
227
  usePackageManager,
256
- usePreset,
257
- useStore,
258
- useEslint,
259
- useRouter
228
+ usePreset
260
229
  } = await initPrompts(context);
261
230
  const projectRoot = (0, import_path3.join)(cwd, projectName);
262
231
  if (canOverwrite) {
@@ -267,23 +236,12 @@ ${banner}
267
236
  const jsOrTs = useTypeScript ? "typescript" : "javascript";
268
237
  let templatePath = (0, import_path3.resolve)(__dirname, "../template", jsOrTs);
269
238
  console.log("\n\u25CC Generating scaffold...");
270
- if (usePreset !== "custom") {
271
- renderTemplate((0, import_path3.resolve)(templatePath, usePreset), projectRoot);
272
- } else {
273
- renderTemplate((0, import_path3.resolve)(templatePath, "default"), projectRoot);
274
- templatePath = (0, import_path3.resolve)(templatePath, usePreset);
275
- if (useEslint) {
276
- renderTemplate((0, import_path3.resolve)(templatePath, "eslint"), projectRoot);
277
- }
278
- if (useRouter) {
279
- renderTemplate((0, import_path3.resolve)(templatePath, "router"), projectRoot);
280
- }
281
- if (useStore) {
282
- renderTemplate((0, import_path3.resolve)(templatePath, "store"), projectRoot);
283
- if (useRouter) {
284
- renderTemplate((0, import_path3.resolve)(templatePath, "router-pinia"), projectRoot);
285
- }
286
- }
239
+ renderTemplate((0, import_path3.resolve)(templatePath, "default"), projectRoot);
240
+ if (["base", "essentials"].includes(usePreset)) {
241
+ renderTemplate((0, import_path3.resolve)(templatePath, "base"), projectRoot);
242
+ }
243
+ if (["essentials", "recommended"].includes(usePreset)) {
244
+ renderTemplate((0, import_path3.resolve)(templatePath, "essentials"), projectRoot);
287
245
  }
288
246
  if (usePackageManager) {
289
247
  console.log(`\u25CC Installing dependencies with ${usePackageManager}...
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vuetify",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "main": "dist/output.cjs",
5
5
  "author": "Elijah Kotyluk <elijah@elijahkotyluk.com>",
6
6
  "license": "MIT",
@@ -39,7 +39,7 @@
39
39
  "@typescript-eslint/parser": "^5.30.6",
40
40
  "esbuild": "^0.14.47",
41
41
  "esbuild-jest": "^0.5.0",
42
- "eslint": "^8.19.0",
42
+ "eslint": "^8.41.0",
43
43
  "eslint-plugin-jest": "^26.5.3",
44
44
  "eslint-plugin-local-rules": "^1.3.0",
45
45
  "eslint-plugin-lodash-template": "^0.21.0",
@@ -1,27 +1,19 @@
1
1
  {
2
- "version": "0.0.0",
3
- "private": true,
4
2
  "scripts": {
5
- "dev": "vite",
6
- "build": "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
- "@vitejs/plugin-vue": "^4.0.0",
20
- "eslint": "^8.37.0",
21
- "eslint-plugin-vue": "^9.3.0",
22
- "sass": "^1.60.0",
23
- "vite": "^4.2.0",
24
- "vite-plugin-vuetify": "^1.0.0",
25
- "unplugin-fonts": "^1.0.3"
9
+ "eslint": "^8.56.0",
10
+ "eslint-config-standard": "^17.1.0",
11
+ "eslint-plugin-import": "^2.29.0",
12
+ "eslint-plugin-n": "^16.4.0",
13
+ "eslint-plugin-node": "^11.1.0",
14
+ "eslint-plugin-promise": "^6.1.1",
15
+ "eslint-plugin-vue": "^9.19.0",
16
+ "vue-router": "^4.2.0",
17
+ "unplugin-vue-router": "^0.7.0"
26
18
  }
27
19
  }
@@ -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 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 setup>
@@ -6,7 +6,7 @@
6
6
 
7
7
  // Plugins
8
8
  import vuetify from './vuetify'
9
- import router from '../router'
9
+ import router from '@/router'
10
10
 
11
11
  export function registerPlugins (app) {
12
12
  app
@@ -1,26 +1,16 @@
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 (about.[hash].js) for this route
14
- // which is lazy-loaded when the route is visited.
15
- component: () => import(/* webpackChunkName: "home" */ '@/views/Home.vue'),
16
- },
17
- ],
18
- },
19
- ]
7
+ // Composables
8
+ import { createRouter, createWebHistory } from 'vue-router/auto'
9
+ import { setupLayouts } from 'virtual:generated-layouts'
20
10
 
21
11
  const router = createRouter({
22
12
  history: createWebHistory(process.env.BASE_URL),
23
- routes,
13
+ extendRoutes: setupLayouts,
24
14
  })
25
15
 
26
16
  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,16 +12,18 @@ 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
- // https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vite-plugin
17
- vuetify({
19
+ // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
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
29
  families: [{
@@ -1,53 +1,77 @@
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
+ - ⚡ **Next-Gen Tooling**: Powered by Vite, experience fast cold starts and instant HMR (Hot Module Replacement). [Vite](https://vitejs.dev/)
32
+ - 🧩 **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)
30
33
 
31
- # bun
32
- bun run dev
33
- ```
34
+ 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
35
 
35
- ### Compiles and minifies for production
36
+ ## 💡 Usage
36
37
 
38
+ This section covers how to start the development server and build your project for production.
39
+
40
+ ### Starting the Development Server
41
+
42
+ To start the development server with hot-reload, run the following command. The server will be accessible at [http://localhost:3000](http://localhost:3000):
43
+
44
+ ```bash
45
+ yarn dev
37
46
  ```
38
- # yarn
39
- yarn build
40
47
 
41
- # npm
42
- npm run build
48
+ (Repeat for npm, pnpm, and bun with respective commands.)
49
+
50
+ ### Building for Production
43
51
 
44
- # pnpm
45
- pnpm build
52
+ To build your project for production, use:
46
53
 
47
- # bun
48
- bun run build
54
+ ```bash
55
+ yarn build
49
56
  ```
50
57
 
51
- ### Customize configuration
58
+ (Repeat for npm, pnpm, and bun with respective commands.)
59
+
60
+ Once the build process is completed, your application will be ready for deployment in a production environment.
61
+
62
+ ## 💪 Support Vuetify Development
63
+
64
+ 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:
65
+
66
+ - [Requesting Enterprise Support](https://support.vuetifyjs.com/)
67
+ - [Sponsoring John on Github](https://github.com/users/johnleider/sponsorship)
68
+ - [Sponsoring Kael on Github](https://github.com/users/kaelwd/sponsorship)
69
+ - [Supporting the team on Open Collective](https://opencollective.com/vuetify)
70
+ - [Becoming a sponsor on Patreon](https://www.patreon.com/vuetify)
71
+ - [Becoming a subscriber on Tidelift](https://tidelift.com/subscription/npm/vuetify)
72
+ - [Making a one-time donation with Paypal](https://paypal.me/vuetify)
73
+
74
+ ## 📑 License
75
+ [MIT](http://opensource.org/licenses/MIT)
52
76
 
53
- See [Configuration Reference](https://vitejs.dev/config/).
77
+ 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
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
+ "allowJs": true,
3
4
  "target": "es5",
4
5
  "module": "esnext",
5
6
  "baseUrl": "./",
@@ -1,20 +1,22 @@
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": "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",
12
- "vuetify": "^3.0.0",
11
+ "vue": "^3.3.0",
12
+ "vuetify": "^3.0.0"
13
13
  },
14
14
  "devDependencies": {
15
- "@vitejs/plugin-vue": "^4.0.0",
16
- "vite-plugin-vuetify": "^1.0.0",
17
- "vite": "^4.2.0",
18
- "unplugin-fonts": "^1.0.3"
15
+ "@vitejs/plugin-vue": "^4.5.0",
16
+ "sass": "^1.69.0",
17
+ "vite-plugin-vuetify": "^2.0.0",
18
+ "vite": "^5.0.0",
19
+ "unplugin-vue-components": "^0.26.0",
20
+ "unplugin-fonts": "^1.1.0"
19
21
  }
20
22
  }
@@ -7,5 +7,5 @@
7
7
  </template>
8
8
 
9
9
  <script setup>
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
+ ```
@@ -4,15 +4,15 @@
4
4
  * Bootstraps Vuetify and other plugins then mounts the App`
5
5
  */
6
6
 
7
+ // Plugins
8
+ import { registerPlugins } from '@/plugins'
9
+
7
10
  // Components
8
11
  import App from './App.vue'
9
12
 
10
13
  // Composables
11
14
  import { createApp } from 'vue'
12
15
 
13
- // Plugins
14
- import { registerPlugins } from '@/plugins'
15
-
16
16
  const app = createApp(App)
17
17
 
18
18
  registerPlugins(app)
@@ -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
  })