import { defineConfig } from 'vitest/config'
import vue from '@vitejs/plugin-vue'
import { fileURLToPath, URL } from 'node:url'
import { resolve } from 'node:path'
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
// Mirror vite.config.js — src/ imports the ui-kit by bare name.
'gnexus-ui-kit/vue': resolve(__dirname, 'vendor/gnexus-ui-kit/dist/vue/index.js'),
'gnexus-ui-kit/css': resolve(__dirname, 'vendor/gnexus-ui-kit/dist/css/kit.css'),
},
},
test: {
environment: 'happy-dom',
globals: true,
include: ['tests/**/*.test.js'],
// NOTE: DOMPurify is incompatible with happy-dom — its base
// Node.prototype nodeName getter returns "" for elements, so
// DOMPurify strips every tag. Tests that exercise DOMPurify
// (useMarkdown.test.js) opt into jsdom via a @vitest-environment
// pragma.
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
})