Skip to content

Instantly share code, notes, and snippets.

@laruiss
Last active May 29, 2024 14:52
Show Gist options
  • Save laruiss/16132801e081fc23e3c99946cfed53e6 to your computer and use it in GitHub Desktop.
Save laruiss/16132801e081fc23e3c99946cfed53e6 to your computer and use it in GitHub Desktop.
vite.config.ts w/ autoimport & components
/// <reference types="vitest" />
import { URL, fileURLToPath } from 'node:url'
import process from 'node:process'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import svgLoader from 'vite-svg-loader'
import UnoCSS from 'unocss/vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import {
ohVueIconAutoimportPreset,
vueDsfrAutoimportPreset,
vueDsfrComponentResolver,
} from '@gouvminint/vue-dsfr'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
svgLoader(),
UnoCSS(),
AutoImport({
include: [
/\.[tj]sx?$/,
/\.vue$/,
/\.vue\?vue/,
],
imports: [
'vue',
'vue-router',
'pinia',
'vitest',
vueDsfrAutoimportPreset,
ohVueIconAutoimportPreset,
],
vueTemplate: true,
dts: './src/auto-imports.d.ts',
eslintrc: {
enabled: true,
filepath: './.eslintrc-auto-import.json',
globalsPropValue: true,
},
}),
Components({
extensions: ['vue'],
dirs: ['src/components'],
// allow auto import and register components
include: [/\.vue$/, /\.vue\?vue/],
dts: './src/components.d.ts',
resolvers: [
vueDsfrComponentResolver,
],
}),
],
base: process.env.BASE_URL || '/',
server: {
host: '0.0.0.0',
port: 8080,
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
rewrite: path => path.replace(/^\/api/, ''),
},
},
},
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
dedupe: ['vue', 'oh-vue-icons'],
},
test: {
globals: true,
environment: 'jsdom',
testTimeout: 2000,
setupFiles: [
'./vitest-setup.ts',
],
},
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment