import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; import consola from 'consola'; import { getPascalCaseRouteName } from 'unplugin-vue-router'; import vueRouter from 'unplugin-vue-router/vite'; import type { PluginOption } from 'vite'; import VueMacros from 'vue-macros/vite'; export default [ VueMacros({ plugins: { vue: vue({ include: [/\.vue$/, /\.md$/] }), vueJsx: vueJsx(), // https://uvr.esm.is/guide/configuration.html // https://github.com/posva/unplugin-vue-router // ⚠️ Vue must be placed after VueRouter() vueRouter: vueRouter({ exclude: ['**/__*', '**/__*/**/*'], extensions: ['.page.vue', '.page.md'], getRouteName: (routeNode) => getPascalCaseRouteName(routeNode), logs: true, routesFolder: ['src/pages', 'src/pages-with-layout'], extendRoute(route) { consola.info(`route.name :>> `, route.name); console.debug(`route.meta :>> `, route.meta); console.debug(`route.path :>> `, route.path); }, }), }, }), ] satisfies PluginOption;