import { resolve } from 'path';
import topLevelAwait from "vite-plugin-top-level-await";
import wasm from "vite-plugin-wasm";
import { defineConfig } from 'vitest/config';
import path from 'path';
import dotenv from 'dotenv';
let env = dotenv.config({ path: '../../../../.env' });
let localEnv = dotenv.config({ path: '../../../../.env.local', override: true });
let config = {
...env.parsed,
...localEnv.parsed,
};
export default defineConfig({
server: {
fs: {
allow: [
'.', path.resolve(__dirname, '../pkg'), ],
},
},
test: {
environment: 'jsdom',
include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
exclude: ['**/node_modules/**', '**/dist/**', '**/cypress/**', '**/.{idea,git,cache,output,temp}/**'],
globals: true,
testTimeout: 30000,
hookTimeout: 10000,
browser: {
enabled: true,
name: 'chromium', provider: 'playwright', headless: true,
instances: [
{ browser: 'chromium' },
],
screenshotFailures: false,
},
env: config
},
resolve: {
alias: {
'@auki/domain-client': resolve(__dirname, '../pkg'),
},
},
define: {
__TEST__: true,
__BROWSER__: true,
},
optimizeDeps: {
exclude: ['@auki/domain-client'],
},
plugins: [wasm(), topLevelAwait()],
build: {
target: 'es2020',
},
worker: {
format: 'es'
},
});