@huberyyang/create-todo-vue 1.0.1 → 1.1.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 (118) hide show
  1. package/README.md +11 -4
  2. package/dist/index.js +49 -63
  3. package/package.json +21 -24
  4. package/template-vitesse-base/.dockerignore +0 -2
  5. package/template-vitesse-base/.editorconfig +0 -9
  6. package/template-vitesse-base/.github/FUNDING.yml +0 -2
  7. package/template-vitesse-base/.github/workflows/ci.yml +0 -96
  8. package/template-vitesse-base/.vscode/extensions.json +0 -13
  9. package/template-vitesse-base/.vscode/settings.json +0 -48
  10. package/template-vitesse-base/Dockerfile +0 -18
  11. package/template-vitesse-base/LICENSE +0 -21
  12. package/template-vitesse-base/README.md +0 -216
  13. package/template-vitesse-base/README.zh-CN.md +0 -185
  14. package/template-vitesse-base/_gitignore +0 -11
  15. package/template-vitesse-base/cypress/e2e/basic.spec.ts +0 -36
  16. package/template-vitesse-base/cypress/tsconfig.json +0 -12
  17. package/template-vitesse-base/cypress.config.ts +0 -14
  18. package/template-vitesse-base/eslint.config.js +0 -10
  19. package/template-vitesse-base/index.html +0 -23
  20. package/template-vitesse-base/locales/README.md +0 -7
  21. package/template-vitesse-base/locales/ar.yml +0 -14
  22. package/template-vitesse-base/locales/de.yml +0 -14
  23. package/template-vitesse-base/locales/en.yml +0 -14
  24. package/template-vitesse-base/locales/es.yml +0 -14
  25. package/template-vitesse-base/locales/fr.yml +0 -14
  26. package/template-vitesse-base/locales/id.yml +0 -14
  27. package/template-vitesse-base/locales/it.yml +0 -13
  28. package/template-vitesse-base/locales/ja.yml +0 -13
  29. package/template-vitesse-base/locales/ka.yml +0 -14
  30. package/template-vitesse-base/locales/ko.yml +0 -13
  31. package/template-vitesse-base/locales/pl.yml +0 -14
  32. package/template-vitesse-base/locales/pt-BR.yml +0 -14
  33. package/template-vitesse-base/locales/ru.yml +0 -13
  34. package/template-vitesse-base/locales/tr.yml +0 -14
  35. package/template-vitesse-base/locales/uk.yml +0 -13
  36. package/template-vitesse-base/locales/uz.yml +0 -14
  37. package/template-vitesse-base/locales/vi.yml +0 -13
  38. package/template-vitesse-base/locales/zh-CN.yml +0 -14
  39. package/template-vitesse-base/netlify.toml +0 -17
  40. package/template-vitesse-base/package.json +0 -81
  41. package/template-vitesse-base/public/_headers +0 -3
  42. package/template-vitesse-base/public/favicon-dark.svg +0 -3
  43. package/template-vitesse-base/public/favicon.svg +0 -3
  44. package/template-vitesse-base/public/pwa-192x192.png +0 -0
  45. package/template-vitesse-base/public/pwa-512x512.png +0 -0
  46. package/template-vitesse-base/public/safari-pinned-tab.svg +0 -41
  47. package/template-vitesse-base/src/App.vue +0 -29
  48. package/template-vitesse-base/src/auto-imports.d.ts +0 -624
  49. package/template-vitesse-base/src/components/README.md +0 -9
  50. package/template-vitesse-base/src/components/TheCounter.vue +0 -19
  51. package/template-vitesse-base/src/components/TheFooter.vue +0 -37
  52. package/template-vitesse-base/src/components/TheInput.vue +0 -20
  53. package/template-vitesse-base/src/components.d.ts +0 -17
  54. package/template-vitesse-base/src/composables/dark.ts +0 -4
  55. package/template-vitesse-base/src/layouts/404.vue +0 -21
  56. package/template-vitesse-base/src/layouts/README.md +0 -14
  57. package/template-vitesse-base/src/layouts/default.vue +0 -12
  58. package/template-vitesse-base/src/layouts/home.vue +0 -12
  59. package/template-vitesse-base/src/main.ts +0 -25
  60. package/template-vitesse-base/src/modules/README.md +0 -11
  61. package/template-vitesse-base/src/modules/i18n.ts +0 -50
  62. package/template-vitesse-base/src/modules/nprogress.ts +0 -14
  63. package/template-vitesse-base/src/modules/pinia.ts +0 -17
  64. package/template-vitesse-base/src/modules/pwa.ts +0 -14
  65. package/template-vitesse-base/src/pages/README.md +0 -20
  66. package/template-vitesse-base/src/pages/[...all].vue +0 -14
  67. package/template-vitesse-base/src/pages/about.md +0 -26
  68. package/template-vitesse-base/src/pages/hi/[name].vue +0 -50
  69. package/template-vitesse-base/src/pages/index.vue +0 -59
  70. package/template-vitesse-base/src/shims.d.ts +0 -18
  71. package/template-vitesse-base/src/stores/user.ts +0 -34
  72. package/template-vitesse-base/src/styles/main.css +0 -29
  73. package/template-vitesse-base/src/styles/markdown.css +0 -25
  74. package/template-vitesse-base/src/typed-router.d.ts +0 -27
  75. package/template-vitesse-base/src/types.ts +0 -3
  76. package/template-vitesse-base/test/__snapshots__/component.test.ts.snap +0 -3
  77. package/template-vitesse-base/test/basic.test.ts +0 -7
  78. package/template-vitesse-base/test/component.test.ts +0 -28
  79. package/template-vitesse-base/tsconfig.json +0 -38
  80. package/template-vitesse-base/uno.config.ts +0 -41
  81. package/template-vitesse-base/vite.config.ts +0 -167
  82. package/template-vitesse-lite/.editorconfig +0 -9
  83. package/template-vitesse-lite/.github/FUNDING.yml +0 -2
  84. package/template-vitesse-lite/.github/workflows/test.yml +0 -47
  85. package/template-vitesse-lite/.vscode/extensions.json +0 -11
  86. package/template-vitesse-lite/.vscode/settings.json +0 -48
  87. package/template-vitesse-lite/LICENSE +0 -21
  88. package/template-vitesse-lite/README.md +0 -86
  89. package/template-vitesse-lite/README.zh-CN.md +0 -87
  90. package/template-vitesse-lite/_gitignore +0 -9
  91. package/template-vitesse-lite/auto-imports.d.ts +0 -603
  92. package/template-vitesse-lite/components.d.ts +0 -17
  93. package/template-vitesse-lite/eslint.config.js +0 -9
  94. package/template-vitesse-lite/index.html +0 -25
  95. package/template-vitesse-lite/netlify.toml +0 -11
  96. package/template-vitesse-lite/package.json +0 -53
  97. package/template-vitesse-lite/public/favicon.svg +0 -9
  98. package/template-vitesse-lite/shims.d.ts +0 -6
  99. package/template-vitesse-lite/src/App.vue +0 -6
  100. package/template-vitesse-lite/src/components/README.md +0 -9
  101. package/template-vitesse-lite/src/components/TheCounter.vue +0 -19
  102. package/template-vitesse-lite/src/components/TheFooter.vue +0 -15
  103. package/template-vitesse-lite/src/components/TheInput.vue +0 -18
  104. package/template-vitesse-lite/src/composables/dark.ts +0 -2
  105. package/template-vitesse-lite/src/composables/index.ts +0 -1
  106. package/template-vitesse-lite/src/main.ts +0 -15
  107. package/template-vitesse-lite/src/pages/README.md +0 -20
  108. package/template-vitesse-lite/src/pages/[...all].vue +0 -5
  109. package/template-vitesse-lite/src/pages/hi/[name].vue +0 -22
  110. package/template-vitesse-lite/src/pages/index.vue +0 -46
  111. package/template-vitesse-lite/src/styles/main.css +0 -11
  112. package/template-vitesse-lite/test/__snapshots__/component.test.ts.snap +0 -3
  113. package/template-vitesse-lite/test/basic.test.ts +0 -7
  114. package/template-vitesse-lite/test/component.test.ts +0 -22
  115. package/template-vitesse-lite/tsconfig.json +0 -32
  116. package/template-vitesse-lite/typed-router.d.ts +0 -25
  117. package/template-vitesse-lite/uno.config.ts +0 -29
  118. package/template-vitesse-lite/vite.config.ts +0 -68
@@ -1,17 +0,0 @@
1
- /* eslint-disable */
2
- // @ts-nocheck
3
- // Generated by unplugin-vue-components
4
- // Read more: https://github.com/vuejs/core/pull/3399
5
- // biome-ignore lint: disable
6
- export {}
7
-
8
- /* prettier-ignore */
9
- declare module 'vue' {
10
- export interface GlobalComponents {
11
- RouterLink: typeof import('vue-router')['RouterLink']
12
- RouterView: typeof import('vue-router')['RouterView']
13
- TheCounter: typeof import('./src/components/TheCounter.vue')['default']
14
- TheFooter: typeof import('./src/components/TheFooter.vue')['default']
15
- TheInput: typeof import('./src/components/TheInput.vue')['default']
16
- }
17
- }
@@ -1,9 +0,0 @@
1
- import antfu from '@antfu/eslint-config'
2
-
3
- export default antfu(
4
- {
5
- unocss: true,
6
- formatters: true,
7
- pnpm: true,
8
- },
9
- )
@@ -1,25 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
7
- <title>Vitesse Lite</title>
8
- <meta name="description" content="Opinionated Vite Starter Template" />
9
- </head>
10
- <body class="font-sans dark:text-white dark:bg-hex-121212">
11
- <div id="app"></div>
12
- <noscript>
13
- <div>Please enable JavaScript to use this application.</div>
14
- </noscript>
15
- <script>
16
- ;(function () {
17
- const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
18
- const setting = localStorage.getItem('color-schema') || 'auto'
19
- if (setting === 'dark' || (prefersDark && setting !== 'light'))
20
- document.documentElement.classList.toggle('dark', true)
21
- })()
22
- </script>
23
- <script type="module" src="/src/main.ts"></script>
24
- </body>
25
- </html>
@@ -1,11 +0,0 @@
1
- [build]
2
- publish = "dist"
3
- command = "pnpm run build"
4
-
5
- [build.environment]
6
- NODE_VERSION = "23"
7
-
8
- [[redirects]]
9
- from = "/*"
10
- to = "/index.html"
11
- status = 200
@@ -1,53 +0,0 @@
1
- {
2
- "type": "module",
3
- "private": true,
4
- "scripts": {
5
- "build": "vite build",
6
- "dev": "vite --port 3333 --open",
7
- "lint": "eslint .",
8
- "typecheck": "vue-tsc",
9
- "preview": "vite preview",
10
- "test": "vitest",
11
- "up": "taze major -I",
12
- "postinstall": "npx simple-git-hooks"
13
- },
14
- "dependencies": {
15
- "@vueuse/core": "catalog:frontend",
16
- "vue": "catalog:frontend",
17
- "vue-router": "catalog:frontend"
18
- },
19
- "devDependencies": {
20
- "@antfu/eslint-config": "catalog:dev",
21
- "@iconify-json/carbon": "catalog:build",
22
- "@types/node": "catalog:dev",
23
- "@unocss/eslint-plugin": "catalog:dev",
24
- "@vitejs/plugin-vue": "catalog:build",
25
- "@vue-macros/volar": "catalog:dev",
26
- "@vue/test-utils": "catalog:dev",
27
- "eslint": "catalog:dev",
28
- "eslint-plugin-format": "catalog:dev",
29
- "jsdom": "catalog:build",
30
- "lint-staged": "catalog:dev",
31
- "simple-git-hooks": "catalog:dev",
32
- "taze": "catalog:dev",
33
- "typescript": "catalog:dev",
34
- "unocss": "catalog:build",
35
- "unplugin-auto-import": "catalog:build",
36
- "unplugin-vue-components": "catalog:build",
37
- "unplugin-vue-macros": "catalog:build",
38
- "unplugin-vue-router": "catalog:build",
39
- "vite": "catalog:build",
40
- "vitest": "catalog:dev",
41
- "vue-tsc": "catalog:dev"
42
- },
43
- "resolutions": {
44
- "unplugin": "catalog:build",
45
- "vite": "catalog:build"
46
- },
47
- "simple-git-hooks": {
48
- "pre-commit": "pnpm lint-staged"
49
- },
50
- "lint-staged": {
51
- "*": "eslint --fix"
52
- }
53
- }
@@ -1,9 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
- <style>
3
- path { fill: #222; }
4
- @media (prefers-color-scheme: dark) {
5
- path { fill: #ffffff; }
6
- }
7
- </style>
8
- <path d="M27.562 26L17.17 8.928l2.366-3.888L17.828 4L16 7.005L14.17 4l-1.708 1.04l2.366 3.888L4.438 26H2v2h28v-2zM16 10.85L25.22 26H17v-8h-2v8H6.78z" />
9
- </svg>
@@ -1,6 +0,0 @@
1
- declare module '*.vue' {
2
- import type { DefineComponent } from 'vue'
3
-
4
- const component: DefineComponent<object, object, any>
5
- export default component
6
- }
@@ -1,6 +0,0 @@
1
- <template>
2
- <main font-sans p="x-4 y-10" text="center gray-700 dark:gray-200">
3
- <RouterView />
4
- <TheFooter />
5
- </main>
6
- </template>
@@ -1,9 +0,0 @@
1
- ## Components
2
-
3
- Components in this dir will be auto-registered and on-demand, powered by [`unplugin-vue-components`](https://github.com/antfu/unplugin-vue-components).
4
-
5
- ### Icons
6
-
7
- You can use icons from almost any icon sets by the power of [Iconify](https://iconify.design/).
8
-
9
- It will only bundle the icons you use. Check out [`unplugin-icons`](https://github.com/antfu/unplugin-icons) for more details.
@@ -1,19 +0,0 @@
1
- <script setup lang="ts">
2
- const props = defineProps<{
3
- initial: number
4
- }>()
5
-
6
- const { count, inc, dec } = useCounter(props.initial)
7
- </script>
8
-
9
- <template>
10
- <div>
11
- {{ count }}
12
- <button class="inc" @click="inc()">
13
- +
14
- </button>
15
- <button class="dec" @click="dec()">
16
- -
17
- </button>
18
- </div>
19
- </template>
@@ -1,15 +0,0 @@
1
- <template>
2
- <nav text-xl mt-6 inline-flex gap-2>
3
- <button icon-btn @click="toggleDark()">
4
- <div i-carbon-sun dark:i-carbon-moon />
5
- </button>
6
-
7
- <a
8
- i-carbon-logo-github icon-btn
9
- rel="noreferrer"
10
- href="https://github.com/antfu-collective/vitesse-lite"
11
- target="_blank"
12
- title="GitHub"
13
- />
14
- </nav>
15
- </template>
@@ -1,18 +0,0 @@
1
- <script setup lang="ts">
2
- const modelValue = defineModel()
3
- </script>
4
-
5
- <template>
6
- <input
7
- id="input"
8
- v-model="modelValue"
9
- type="text"
10
- v-bind="$attrs"
11
- p="x-4 y-2"
12
- w="250px"
13
- text="center"
14
- bg="transparent"
15
- border="~ rounded gray-200 dark:gray-700"
16
- outline="none active:none"
17
- >
18
- </template>
@@ -1,2 +0,0 @@
1
- export const isDark = useDark()
2
- export const toggleDark = useToggle(isDark)
@@ -1 +0,0 @@
1
- export * from './dark'
@@ -1,15 +0,0 @@
1
- import { createApp } from 'vue'
2
- import { createRouter, createWebHistory } from 'vue-router'
3
- import { routes } from 'vue-router/auto-routes'
4
- import App from './App.vue'
5
-
6
- import './styles/main.css'
7
- import 'uno.css'
8
-
9
- const app = createApp(App)
10
- const router = createRouter({
11
- routes,
12
- history: createWebHistory(import.meta.env.BASE_URL),
13
- })
14
- app.use(router)
15
- app.mount('#app')
@@ -1,20 +0,0 @@
1
- ## File-based Routing
2
-
3
- Routes will be auto-generated for Vue files in this dir with the same file structure.
4
- Check out [`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router) for more details.
5
-
6
- ### Path Aliasing
7
-
8
- `~/` is aliased to `./src/` folder.
9
-
10
- For example, instead of having
11
-
12
- ```ts
13
- import { isDark } from '../../../../composables'
14
- ```
15
-
16
- now, you can use
17
-
18
- ```ts
19
- import { isDark } from '~/composables'
20
- ```
@@ -1,5 +0,0 @@
1
- <template>
2
- <div>
3
- Not Found
4
- </div>
5
- </template>
@@ -1,22 +0,0 @@
1
- <script setup lang="ts">
2
- const params = useRoute('/hi/[name]').params
3
- const router = useRouter()
4
- </script>
5
-
6
- <template>
7
- <div>
8
- <div i-carbon-pedestrian text-4xl inline-block />
9
- <p>
10
- Hi, {{ params.name }}
11
- </p>
12
- <p text-sm op50>
13
- <em>Dynamic route!</em>
14
- </p>
15
-
16
- <div>
17
- <button text-sm m-3 mt-8 btn @click="router.back()">
18
- Back
19
- </button>
20
- </div>
21
- </div>
22
- </template>
@@ -1,46 +0,0 @@
1
- <script setup lang="ts" generic="T extends any, O extends any">
2
- defineOptions({
3
- name: 'IndexPage',
4
- })
5
-
6
- const name = ref('')
7
-
8
- const router = useRouter()
9
- function go() {
10
- if (name.value)
11
- router.push(`/hi/${encodeURIComponent(name.value)}`)
12
- }
13
- </script>
14
-
15
- <template>
16
- <div>
17
- <div i-carbon-campsite text-4xl inline-block />
18
- <p>
19
- <a rel="noreferrer" href="https://github.com/antfu-collective/vitesse-lite" target="_blank">
20
- Vitesse Lite
21
- </a>
22
- </p>
23
- <p>
24
- <em text-sm op75>Opinionated Vite Starter Template</em>
25
- </p>
26
-
27
- <div py-4 />
28
-
29
- <TheInput
30
- v-model="name"
31
- placeholder="What's your name?"
32
- autocomplete="false"
33
- @keydown.enter="go"
34
- />
35
-
36
- <div>
37
- <button
38
- class="text-sm m-3 btn"
39
- :disabled="!name"
40
- @click="go"
41
- >
42
- Go
43
- </button>
44
- </div>
45
- </div>
46
- </template>
@@ -1,11 +0,0 @@
1
- html,
2
- body,
3
- #app {
4
- height: 100%;
5
- margin: 0;
6
- padding: 0;
7
- }
8
-
9
- html.dark {
10
- color-scheme: dark;
11
- }
@@ -1,3 +0,0 @@
1
- // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
-
3
- exports[`component of TheCounter.vue > should render 1`] = `"<div>10 <button class="inc"> + </button><button class="dec"> - </button></div>"`;
@@ -1,7 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
-
3
- describe('hi', () => {
4
- it('should works', () => {
5
- expect(1 + 1).toEqual(2)
6
- })
7
- })
@@ -1,22 +0,0 @@
1
- import { mount } from '@vue/test-utils'
2
- import { describe, expect, it } from 'vitest'
3
- import TheCounter from '../src/components/TheCounter.vue'
4
-
5
- describe('component of TheCounter.vue', () => {
6
- it('should render', () => {
7
- const wrapper = mount(TheCounter, { props: { initial: 10 } })
8
- expect(wrapper.text()).toContain('10')
9
- expect(wrapper.html()).toMatchSnapshot()
10
- })
11
-
12
- it('should be interactive', async () => {
13
- const wrapper = mount(TheCounter, { props: { initial: 0 } })
14
- expect(wrapper.text()).toContain('0')
15
-
16
- expect(wrapper.find('.inc').exists()).toBe(true)
17
-
18
- await wrapper.get('button').trigger('click')
19
-
20
- expect(wrapper.text()).toContain('1')
21
- })
22
- })
@@ -1,32 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es2020",
4
- "jsx": "preserve",
5
- "lib": ["DOM", "ESNext"],
6
- "baseUrl": ".",
7
- "module": "ESNext",
8
- "moduleResolution": "bundler",
9
- "paths": {
10
- "~/*": ["src/*"]
11
- },
12
- "resolveJsonModule": true,
13
- "types": [
14
- "vite/client",
15
- "unplugin-vue-macros/macros-global",
16
- "unplugin-vue-router/client"
17
- ],
18
- "allowJs": true,
19
- "strict": true,
20
- "strictNullChecks": true,
21
- "noUnusedLocals": true,
22
- "noEmit": true,
23
- "esModuleInterop": true,
24
- "forceConsistentCasingInFileNames": true,
25
- "skipLibCheck": true
26
- },
27
- "exclude": [
28
- "dist",
29
- "node_modules",
30
- "eslint.config.js"
31
- ]
32
- }
@@ -1,25 +0,0 @@
1
- /* eslint-disable */
2
- /* prettier-ignore */
3
- // @ts-nocheck
4
- // Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️
5
- // It's recommended to commit this file.
6
- // Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry.
7
-
8
- declare module 'vue-router/auto-routes' {
9
- import type {
10
- RouteRecordInfo,
11
- ParamValue,
12
- ParamValueOneOrMore,
13
- ParamValueZeroOrMore,
14
- ParamValueZeroOrOne,
15
- } from 'vue-router'
16
-
17
- /**
18
- * Route name map generated by unplugin-vue-router
19
- */
20
- export interface RouteNamedMap {
21
- '/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
22
- '/[...all]': RouteRecordInfo<'/[...all]', '/:all(.*)', { all: ParamValue<true> }, { all: ParamValue<false> }>,
23
- '/hi/[name]': RouteRecordInfo<'/hi/[name]', '/hi/:name', { name: ParamValue<true> }, { name: ParamValue<false> }>,
24
- }
25
- }
@@ -1,29 +0,0 @@
1
- import {
2
- defineConfig,
3
- presetAttributify,
4
- presetIcons,
5
- presetWebFonts,
6
- presetWind4,
7
- } from 'unocss'
8
-
9
- export default defineConfig({
10
- shortcuts: [
11
- ['btn', 'px-4 py-1 rounded inline-block bg-teal-600 text-white cursor-pointer hover:bg-teal-700 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
12
- ['icon-btn', 'text-[0.9em] inline-block cursor-pointer select-none opacity-75 transition duration-200 ease-in-out hover:opacity-100 hover:text-teal-600'],
13
- ],
14
- presets: [
15
- presetWind4(),
16
- presetAttributify(),
17
- presetIcons({
18
- scale: 1.2,
19
- warn: true,
20
- }),
21
- presetWebFonts({
22
- fonts: {
23
- sans: 'DM Sans',
24
- serif: 'DM Serif Display',
25
- mono: 'DM Mono',
26
- },
27
- }),
28
- ],
29
- })
@@ -1,68 +0,0 @@
1
- /// <reference types="vitest" />
2
-
3
- import path from 'node:path'
4
- import Vue from '@vitejs/plugin-vue'
5
- import UnoCSS from 'unocss/vite'
6
- import AutoImport from 'unplugin-auto-import/vite'
7
- import Components from 'unplugin-vue-components/vite'
8
- import VueMacros from 'unplugin-vue-macros/vite'
9
- import { VueRouterAutoImports } from 'unplugin-vue-router'
10
- import VueRouter from 'unplugin-vue-router/vite'
11
- import { defineConfig } from 'vite'
12
-
13
- export default defineConfig({
14
- resolve: {
15
- alias: {
16
- '~/': `${path.resolve(__dirname, 'src')}/`,
17
- },
18
- },
19
- plugins: [
20
- // https://github.com/posva/unplugin-vue-router
21
- VueRouter(),
22
-
23
- VueMacros({
24
- defineOptions: false,
25
- defineModels: false,
26
- plugins: {
27
- vue: Vue({
28
- script: {
29
- propsDestructure: true,
30
- defineModel: true,
31
- },
32
- }),
33
- },
34
- }),
35
-
36
- // https://github.com/antfu/unplugin-auto-import
37
- AutoImport({
38
- imports: [
39
- 'vue',
40
- '@vueuse/core',
41
- VueRouterAutoImports,
42
- {
43
- // add any other imports you were relying on
44
- 'vue-router/auto': ['useLink'],
45
- },
46
- ],
47
- dts: true,
48
- dirs: [
49
- './src/composables',
50
- ],
51
- vueTemplate: true,
52
- }),
53
-
54
- // https://github.com/antfu/vite-plugin-components
55
- Components({
56
- dts: true,
57
- }),
58
-
59
- // https://github.com/antfu/unocss
60
- // see uno.config.ts for config
61
- UnoCSS(),
62
- ],
63
-
64
- // https://github.com/vitest-dev/vitest
65
- test: {
66
- environment: 'jsdom',
67
- },
68
- })