52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
const { defineConfig } = require('vitest/config');
|
|
const vue = require('@vitejs/plugin-vue');
|
|
const { quasar, transformAssetUrls } = require('@quasar/vite-plugin');
|
|
const jsconfigPaths = require('vite-jsconfig-paths');
|
|
const VueI18nPlugin = require('@intlify/unplugin-vue-i18n/vite');
|
|
const path = require('path');
|
|
|
|
let reporters, outputFile;
|
|
|
|
if (process.env.CI) {
|
|
reporters = ['junit', 'default'];
|
|
outputFile = { junit: './junit/vitest.xml' };
|
|
} else {
|
|
reporters = 'default';
|
|
}
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
test: {
|
|
reporters,
|
|
outputFile,
|
|
environment: 'happy-dom',
|
|
setupFiles: 'test/vitest/setup-file.js',
|
|
include: [
|
|
// Matches vitest tests in any subfolder of 'src' or into 'test/vitest/__tests__'
|
|
// Matches all files with extension 'js', 'jsx', 'ts' and 'tsx'
|
|
'src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}',
|
|
],
|
|
},
|
|
server: {
|
|
hmr: { overlay: false },
|
|
},
|
|
plugins: [
|
|
vue({
|
|
template: {
|
|
transformAssetUrls,
|
|
},
|
|
}),
|
|
quasar({
|
|
autoImportComponentCase: 'pascal',
|
|
sassVariables: 'src/quasar-variables.scss',
|
|
}),
|
|
VueI18nPlugin({
|
|
include: [
|
|
path.resolve(__dirname, 'src/i18n/locale/**'),
|
|
path.resolve(__dirname, 'src/pages/**/locale/**'),
|
|
],
|
|
}),
|
|
jsconfigPaths(),
|
|
],
|
|
});
|