create-vuetify 2.2.6 → 2.3.1

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 (47) hide show
  1. package/dist/index.mjs +713 -84
  2. package/dist/output.cjs +49 -10
  3. package/package.json +10 -8
  4. package/template/javascript/base/eslint.config.js +23 -0
  5. package/template/javascript/base/package.json +4 -7
  6. package/template/javascript/base/vite.config.mjs +7 -0
  7. package/template/javascript/default/index.html +10 -13
  8. package/template/javascript/default/package.json +6 -3
  9. package/template/javascript/default/vite.config.mjs +7 -0
  10. package/template/javascript/essentials/package.json +0 -1
  11. package/template/javascript/essentials/src/App.vue +9 -0
  12. package/template/javascript/essentials/src/layouts/default.vue +4 -6
  13. package/template/javascript/essentials/vite.config.mjs +7 -0
  14. package/template/typescript/base/env.d.ts +2 -0
  15. package/template/typescript/base/eslint.config.js +36 -0
  16. package/template/typescript/base/package.json +5 -9
  17. package/template/typescript/base/vite.config.mts +7 -0
  18. package/template/typescript/default/_editorconfig +4 -3
  19. package/template/typescript/default/env.d.ts +1 -0
  20. package/template/typescript/default/index.html +7 -10
  21. package/template/typescript/default/package.json +18 -10
  22. package/template/typescript/default/tsconfig.app.json +14 -0
  23. package/template/typescript/default/tsconfig.json +8 -28
  24. package/template/typescript/default/tsconfig.node.json +14 -4
  25. package/template/typescript/default/vite.config.mts +7 -0
  26. package/template/typescript/essentials/env.d.ts +3 -0
  27. package/template/typescript/essentials/package.json +0 -1
  28. package/template/typescript/essentials/src/App.vue +9 -0
  29. package/template/typescript/essentials/src/layouts/default.vue +4 -6
  30. package/template/typescript/essentials/vite.config.mts +7 -0
  31. package/template/typescript/nuxt/app-layout.vue +5 -0
  32. package/template/typescript/nuxt/app.vue +9 -0
  33. package/template/typescript/nuxt/components/AppFooter.vue +79 -0
  34. package/template/typescript/nuxt/components/HelloWorld.vue +153 -0
  35. package/template/typescript/nuxt/layouts/default.vue +9 -0
  36. package/template/typescript/nuxt/modules/vuetify.ts +125 -0
  37. package/template/typescript/nuxt/pages/index.vue +8 -0
  38. package/template/typescript/nuxt/plugins/vuetify-nuxt.ts +8 -0
  39. package/template/typescript/nuxt/plugins/vuetify.ts +14 -0
  40. package/template/typescript/nuxt/vuetify.config.ts +8 -0
  41. package/template/javascript/base/_eslintrc.js +0 -10
  42. package/template/javascript/essentials/_eslintrc.js +0 -19
  43. package/template/typescript/base/_eslintrc.js +0 -20
  44. package/template/typescript/base/tsconfig.json +0 -32
  45. package/template/typescript/default/src/vite-env.d.ts +0 -7
  46. package/template/typescript/essentials/_eslintrc.js +0 -20
  47. package/template/typescript/essentials/tsconfig.json +0 -33
package/dist/output.cjs CHANGED
@@ -75,11 +75,12 @@ var promptQuestions = (context) => [
75
75
  name: "usePreset",
76
76
  type: context.usePreset ? null : "select",
77
77
  message: "Which preset would you like to install?",
78
- initial: 0,
78
+ initial: 1,
79
79
  choices: [
80
80
  { title: "Default (Vuetify)", value: "default" },
81
- { title: "Base (Default, Routing)", value: "base" },
82
- { title: "Essentials (Base, Layouts, Pinia)", value: "essentials" }
81
+ { title: "Base (Vuetify, VueRouter)", value: "base" },
82
+ { title: "Essentials (Vuetify, VueRouter, Pinia)", value: "essentials" },
83
+ { title: "Custom (Choose your features)", value: "custom" }
83
84
  ]
84
85
  },
85
86
  {
@@ -90,6 +91,30 @@ var promptQuestions = (context) => [
90
91
  inactive: "No",
91
92
  initial: false
92
93
  },
94
+ {
95
+ name: "useRouter",
96
+ type: (_, { usePreset }) => usePreset !== "custom" && context.usePreset !== "custom" ? null : "toggle",
97
+ message: "Use Vue Router?",
98
+ active: "Yes",
99
+ inactive: "No",
100
+ initial: false
101
+ },
102
+ {
103
+ name: "useStore",
104
+ type: (_, { usePreset }) => usePreset !== "custom" && context.usePreset !== "custom" ? null : "toggle",
105
+ message: "Use Pinia?",
106
+ active: "Yes",
107
+ inactive: "No",
108
+ initial: false
109
+ },
110
+ {
111
+ name: "useEslint",
112
+ type: (_, { usePreset }) => usePreset !== "custom" && context.usePreset !== "custom" ? null : "toggle",
113
+ message: "Use ESLint?",
114
+ active: "Yes",
115
+ inactive: "No",
116
+ initial: false
117
+ },
93
118
  {
94
119
  name: "usePackageManager",
95
120
  type: "select",
@@ -225,7 +250,10 @@ ${banner}
225
250
  projectName,
226
251
  useTypeScript,
227
252
  usePackageManager,
228
- usePreset
253
+ usePreset,
254
+ useStore,
255
+ useEslint,
256
+ useRouter
229
257
  } = await initPrompts(context);
230
258
  const projectRoot = (0, import_path3.join)(cwd, projectName);
231
259
  if (canOverwrite) {
@@ -236,12 +264,23 @@ ${banner}
236
264
  const jsOrTs = useTypeScript ? "typescript" : "javascript";
237
265
  let templatePath = (0, import_path3.resolve)(__dirname, "../template", jsOrTs);
238
266
  console.log("\n\u25CC Generating scaffold...");
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);
267
+ if (usePreset !== "custom") {
268
+ renderTemplate((0, import_path3.resolve)(templatePath, usePreset), projectRoot);
269
+ } else {
270
+ renderTemplate((0, import_path3.resolve)(templatePath, "default"), projectRoot);
271
+ templatePath = (0, import_path3.resolve)(templatePath, usePreset);
272
+ if (useEslint) {
273
+ renderTemplate((0, import_path3.resolve)(templatePath, "eslint"), projectRoot);
274
+ }
275
+ if (useRouter) {
276
+ renderTemplate((0, import_path3.resolve)(templatePath, "router"), projectRoot);
277
+ }
278
+ if (useStore) {
279
+ renderTemplate((0, import_path3.resolve)(templatePath, "store"), projectRoot);
280
+ if (useRouter) {
281
+ renderTemplate((0, import_path3.resolve)(templatePath, "router-pinia"), projectRoot);
282
+ }
283
+ }
245
284
  }
246
285
  if (usePackageManager) {
247
286
  console.log(`\u25CC Installing dependencies with ${usePackageManager}...
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vuetify",
3
- "version": "2.2.6",
3
+ "version": "2.3.1",
4
4
  "author": "Elijah Kotyluk <elijah@elijahkotyluk.com>",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,21 +19,18 @@
19
19
  "bugs": {
20
20
  "url": "https://github.com/vuetifyjs/create-vuetify/issues"
21
21
  },
22
- "scripts": {
23
- "build": "node ./scripts/build.js",
24
- "start": "node ./index.js",
25
- "lint": "eslint --fix 'src/**'",
26
- "prepublishOnly": "npm run build"
27
- },
28
22
  "dependencies": {
29
23
  "kolorist": "^1.5.1",
30
24
  "minimist": "^1.2.6",
25
+ "magicast": "^0.3.4",
26
+ "package-manager-detector": "^0.2.2",
31
27
  "prompts": "^2.4.2",
32
28
  "validate-npm-package-name": "^4.0.0"
33
29
  },
34
30
  "devDependencies": {
35
31
  "@release-it/conventional-changelog": "^8.0.1",
36
32
  "@types/minimist": "^1.2.2",
33
+ "@types/node": "^20.12.8",
37
34
  "@types/prompts": "^2.0.14",
38
35
  "@types/validate-npm-package-name": "^4.0.0",
39
36
  "@typescript-eslint/eslint-plugin": "^5.30.6",
@@ -48,5 +45,10 @@
48
45
  "lint-staged": "^13.0.3",
49
46
  "release-it": "^17.0.3",
50
47
  "typescript": "^4.7.4"
48
+ },
49
+ "scripts": {
50
+ "build": "node ./scripts/build.js",
51
+ "start": "node ./index.js",
52
+ "lint": "eslint --fix ./src/**"
51
53
  }
52
- }
54
+ }
@@ -0,0 +1,23 @@
1
+ import js from '@eslint/js'
2
+ import pluginVue from 'eslint-plugin-vue'
3
+
4
+ export default [
5
+ {
6
+ name: 'app/files-to-lint',
7
+ files: ['**/*.{js,mjs,jsx,vue}'],
8
+ },
9
+
10
+ {
11
+ name: 'app/files-to-ignore',
12
+ ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
13
+ },
14
+
15
+ js.configs.recommended,
16
+ ...pluginVue.configs['flat/recommended'],
17
+
18
+ {
19
+ rules: {
20
+ 'vue/multi-word-component-names': 'off',
21
+ },
22
+ }
23
+ ]
@@ -1,18 +1,15 @@
1
1
  {
2
2
  "scripts": {
3
- "lint": "eslint . --fix --ignore-path .gitignore"
4
- },
5
- "dependencies": {
6
- "core-js": "^3.37.1"
3
+ "lint": "eslint . --fix"
7
4
  },
8
5
  "devDependencies": {
9
- "eslint": "^8.57.0",
10
- "eslint-config-standard": "^17.1.0",
6
+ "@eslint/js": "^9.14.0",
7
+ "eslint": "^9.14.0",
11
8
  "eslint-plugin-import": "^2.29.1",
12
9
  "eslint-plugin-n": "^16.6.2",
13
10
  "eslint-plugin-node": "^11.1.0",
14
11
  "eslint-plugin-promise": "^6.4.0",
15
- "eslint-plugin-vue": "^9.27.0",
12
+ "eslint-plugin-vue": "^9.30.0",
16
13
  "vue-router": "^4.4.0",
17
14
  "unplugin-vue-router": "^0.10.0"
18
15
  }
@@ -51,4 +51,11 @@ export default defineConfig({
51
51
  server: {
52
52
  port: 3000,
53
53
  },
54
+ css: {
55
+ preprocessorOptions: {
56
+ sass: {
57
+ api: 'modern-compiler',
58
+ },
59
+ },
60
+ },
54
61
  })
@@ -1,16 +1,13 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
-
4
- <head>
5
- <meta charset="UTF-8" />
6
- <link rel="icon" href="/favicon.ico" />
7
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
- <title>Welcome to Vuetify 3</title>
9
- </head>
10
-
11
- <body>
12
- <div id="app"></div>
13
- <script type="module" src="/src/main.js"></script>
14
- </body>
15
-
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <link rel="icon" href="/favicon.ico">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Welcome to Vuetify 3</title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/src/main.js"></script>
12
+ </body>
16
13
  </html>
@@ -1,4 +1,6 @@
1
1
  {
2
+ "private": true,
3
+ "type": "module",
2
4
  "version": "0.0.0",
3
5
  "scripts": {
4
6
  "dev": "vite",
@@ -9,14 +11,15 @@
9
11
  "@mdi/font": "7.4.47",
10
12
  "roboto-fontface": "*",
11
13
  "vue": "^3.4.31",
12
- "vuetify": "^3.6.11"
14
+ "vuetify": "^3.6.14"
13
15
  },
14
16
  "devDependencies": {
15
17
  "@vitejs/plugin-vue": "^5.0.5",
16
- "sass": "1.77.6",
18
+ "sass": "1.77.8",
19
+ "sass-embedded": "^1.77.8",
17
20
  "unplugin-fonts": "^1.1.1",
18
21
  "unplugin-vue-components": "^0.27.2",
19
22
  "vite-plugin-vuetify": "^2.0.3",
20
- "vite": "^5.3.3"
23
+ "vite": "^5.4.0"
21
24
  }
22
25
  }
@@ -44,4 +44,11 @@ export default defineConfig({
44
44
  server: {
45
45
  port: 3000,
46
46
  },
47
+ css: {
48
+ preprocessorOptions: {
49
+ sass: {
50
+ api: 'modern-compiler',
51
+ },
52
+ },
53
+ },
47
54
  })
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "devDependencies": {
3
- "eslint-config-vuetify": "^1.0.0",
4
3
  "pinia" : "^2.1.7",
5
4
  "unplugin-auto-import": "^0.17.6",
6
5
  "vite-plugin-vue-layouts": "^0.11.0"
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <v-app>
3
+ <router-view />
4
+ </v-app>
5
+ </template>
6
+
7
+ <script setup>
8
+ //
9
+ </script>
@@ -1,11 +1,9 @@
1
1
  <template>
2
- <v-app>
3
- <v-main>
4
- <router-view />
5
- </v-main>
2
+ <v-main>
3
+ <router-view />
4
+ </v-main>
6
5
 
7
- <AppFooter />
8
- </v-app>
6
+ <AppFooter />
9
7
  </template>
10
8
 
11
9
  <script setup>
@@ -64,4 +64,11 @@ export default defineConfig({
64
64
  server: {
65
65
  port: 3000,
66
66
  },
67
+ css: {
68
+ preprocessorOptions: {
69
+ sass: {
70
+ api: 'modern-compiler',
71
+ },
72
+ },
73
+ },
67
74
  })
@@ -0,0 +1,2 @@
1
+ /// <reference types="vite/client" />
2
+ /// <reference types="unplugin-vue-router/client" />
@@ -0,0 +1,36 @@
1
+ /**
2
+ * .eslint.js
3
+ *
4
+ * ESLint configuration file.
5
+ */
6
+
7
+ import pluginVue from 'eslint-plugin-vue'
8
+ import vueTsEslintConfig from '@vue/eslint-config-typescript'
9
+
10
+ export default [
11
+ {
12
+ name: 'app/files-to-lint',
13
+ files: ['**/*.{ts,mts,tsx,vue}'],
14
+ },
15
+
16
+ {
17
+ name: 'app/files-to-ignore',
18
+ ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
19
+ },
20
+
21
+ ...pluginVue.configs['flat/recommended'],
22
+ ...vueTsEslintConfig(),
23
+
24
+ {
25
+ rules: {
26
+ '@typescript-eslint/no-unused-expressions': [
27
+ 'error',
28
+ {
29
+ allowShortCircuit: true,
30
+ allowTernary: true,
31
+ },
32
+ ],
33
+ 'vue/multi-word-component-names': 'off',
34
+ }
35
+ }
36
+ ]
@@ -1,19 +1,15 @@
1
1
  {
2
2
  "scripts": {
3
- "lint": "eslint . --fix --ignore-path .gitignore"
3
+ "lint": "eslint . --fix"
4
4
  },
5
5
  "dependencies": {
6
6
  "core-js": "^3.37.1"
7
7
  },
8
8
  "devDependencies": {
9
- "@vue/eslint-config-typescript": "^13.0.0",
10
- "eslint": "^8.57.0",
11
- "eslint-config-standard": "^17.1.0",
12
- "eslint-plugin-import": "^2.29.1",
13
- "eslint-plugin-n": "^16.6.2",
14
- "eslint-plugin-node": "^11.1.0",
15
- "eslint-plugin-promise": "^6.4.0",
16
- "eslint-plugin-vue": "^9.27.0",
9
+ "@eslint/js": "^9.14.0",
10
+ "@vue/eslint-config-typescript": "^14.1.3",
11
+ "eslint": "^9.14.0",
12
+ "eslint-plugin-vue": "^9.30.0",
17
13
  "vue-router": "^4.4.0",
18
14
  "unplugin-vue-router": "^0.10.0"
19
15
  }
@@ -51,4 +51,11 @@ export default defineConfig({
51
51
  server: {
52
52
  port: 3000,
53
53
  },
54
+ css: {
55
+ preprocessorOptions: {
56
+ sass: {
57
+ api: 'modern-compiler',
58
+ },
59
+ },
60
+ },
54
61
  })
@@ -1,5 +1,6 @@
1
- [*.{js,jsx,ts,tsx,vue}]
2
- indent_style = space
1
+ [*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}]
2
+ charset = utf-8
3
3
  indent_size = 2
4
- trim_trailing_whitespace = true
4
+ indent_style = space
5
5
  insert_final_newline = true
6
+ trim_trailing_whitespace = true
@@ -0,0 +1 @@
1
+ /// <reference types="vite/client" />
@@ -1,16 +1,13 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
-
4
- <head>
5
- <meta charset="UTF-8" />
6
- <link rel="icon" href="/favicon.ico" />
7
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <link rel="icon" href="/favicon.ico">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
7
  <title>Welcome to Vuetify 3</title>
9
- </head>
10
-
11
- <body>
8
+ </head>
9
+ <body>
12
10
  <div id="app"></div>
13
11
  <script type="module" src="/src/main.ts"></script>
14
- </body>
15
-
12
+ </body>
16
13
  </html>
@@ -1,26 +1,34 @@
1
1
  {
2
+ "private": true,
3
+ "type": "module",
2
4
  "version": "0.0.0",
3
5
  "scripts": {
4
6
  "dev": "vite",
5
- "build": "vue-tsc --noEmit && vite build",
6
- "preview": "vite preview"
7
+ "build": "run-p type-check \"build-only {@}\" --",
8
+ "preview": "vite preview",
9
+ "build-only": "vite build",
10
+ "type-check": "vue-tsc --build --force"
7
11
  },
8
12
  "dependencies": {
9
13
  "@mdi/font": "7.4.47",
10
14
  "roboto-fontface": "*",
11
15
  "vue": "^3.4.31",
12
- "vuetify": "^3.6.11"
16
+ "vuetify": "^3.6.14"
13
17
  },
14
18
  "devDependencies": {
15
- "@babel/types": "^7.24.7",
16
- "@types/node": "^20.14.10",
17
- "@vitejs/plugin-vue": "^5.0.5",
18
- "sass": "1.77.6",
19
- "typescript": "^5.4.2",
19
+ "@tsconfig/node22": "^22.0.0",
20
+ "@types/node": "^22.9.0",
21
+ "@vitejs/plugin-vue": "^5.1.4",
22
+ "@vue/eslint-config-typescript": "^14.1.3",
23
+ "@vue/tsconfig": "^0.5.1",
24
+ "npm-run-all2": "^7.0.1",
25
+ "sass": "1.77.8",
26
+ "sass-embedded": "^1.77.8",
27
+ "typescript": "~5.6.3",
20
28
  "unplugin-fonts": "^1.1.1",
21
29
  "unplugin-vue-components": "^0.27.2",
22
30
  "vite-plugin-vuetify": "^2.0.3",
23
- "vite": "^5.3.3",
24
- "vue-tsc": "^2.0.26"
31
+ "vite": "^5.4.10",
32
+ "vue-tsc": "^2.1.10"
25
33
  }
26
34
  }
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": "@vue/tsconfig/tsconfig.dom.json",
3
+ "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4
+ "exclude": ["src/**/__tests__/*"],
5
+ "compilerOptions": {
6
+ "composite": true,
7
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
8
+
9
+ "baseUrl": ".",
10
+ "paths": {
11
+ "@/*": ["./src/*"]
12
+ }
13
+ }
14
+ }
@@ -1,31 +1,11 @@
1
1
  {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "jsx": "preserve",
5
- "lib": ["DOM", "ESNext"],
6
- "baseUrl": ".",
7
- "module": "ESNext",
8
- "moduleResolution": "bundler",
9
- "paths": {
10
- "@/*": ["src/*"]
2
+ "files": [],
3
+ "references": [
4
+ {
5
+ "path": "./tsconfig.node.json"
11
6
  },
12
- "resolveJsonModule": true,
13
- "types": [
14
- "vite/client"
15
- ],
16
- "allowJs": true,
17
- "strict": true,
18
- "strictNullChecks": true,
19
- "noUnusedLocals": true,
20
- "esModuleInterop": true,
21
- "forceConsistentCasingInFileNames": true,
22
- "isolatedModules": true,
23
- "skipLibCheck": true
24
- },
25
- "include": [
26
- "src/**/*",
27
- "src/**/*.vue"
28
- ],
29
- "exclude": ["dist", "node_modules", "cypress"],
30
- "references": [{ "path": "./tsconfig.node.json" }],
7
+ {
8
+ "path": "./tsconfig.app.json"
9
+ }
10
+ ]
31
11
  }
@@ -1,9 +1,19 @@
1
1
  {
2
+ "extends": "@tsconfig/node22/tsconfig.json",
3
+ "include": [
4
+ "vite.config.*",
5
+ "vitest.config.*",
6
+ "cypress.config.*",
7
+ "nightwatch.conf.*",
8
+ "playwright.config.*"
9
+ ],
2
10
  "compilerOptions": {
3
11
  "composite": true,
12
+ "noEmit": true,
13
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
14
+
4
15
  "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "allowSyntheticDefaultImports": true
7
- },
8
- "include": ["vite.config.mts"]
16
+ "moduleResolution": "Bundler",
17
+ "types": ["node"]
18
+ }
9
19
  }
@@ -44,4 +44,11 @@ export default defineConfig({
44
44
  server: {
45
45
  port: 3000,
46
46
  },
47
+ css: {
48
+ preprocessorOptions: {
49
+ sass: {
50
+ api: 'modern-compiler',
51
+ },
52
+ },
53
+ },
47
54
  })
@@ -0,0 +1,3 @@
1
+ /// <reference types="vite/client" />
2
+ /// <reference types="unplugin-vue-router/client" />
3
+ /// <reference types="vite-plugin-vue-layouts/client" />
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "devDependencies": {
3
- "eslint-config-vuetify": "^1.0.0",
4
3
  "pinia" : "^2.1.7",
5
4
  "unplugin-auto-import": "^0.17.6",
6
5
  "vite-plugin-vue-layouts": "^0.11.0"
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <v-app>
3
+ <router-view />
4
+ </v-app>
5
+ </template>
6
+
7
+ <script lang="ts" setup>
8
+ //
9
+ </script>
@@ -1,11 +1,9 @@
1
1
  <template>
2
- <v-app>
3
- <v-main>
4
- <router-view />
5
- </v-main>
2
+ <v-main>
3
+ <router-view />
4
+ </v-main>
6
5
 
7
- <AppFooter />
8
- </v-app>
6
+ <AppFooter />
9
7
  </template>
10
8
 
11
9
  <script lang="ts" setup>
@@ -71,4 +71,11 @@ export default defineConfig({
71
71
  server: {
72
72
  port: 3000,
73
73
  },
74
+ css: {
75
+ preprocessorOptions: {
76
+ sass: {
77
+ api: 'modern-compiler',
78
+ },
79
+ },
80
+ },
74
81
  })
@@ -0,0 +1,5 @@
1
+ <template>
2
+ <NuxtLayout>
3
+ <NuxtPage />
4
+ </NuxtLayout>
5
+ </template>
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <v-app>
3
+ <v-main>
4
+ <NuxtPage />
5
+ </v-main>
6
+
7
+ <AppFooter />
8
+ </v-app>
9
+ </template>