71 lines
1.6 KiB
TypeScript
71 lines
1.6 KiB
TypeScript
|
|
import swc from 'unplugin-swc';
|
||
|
|
import path from 'path';
|
||
|
|
import { defineConfig } from 'vitest/config';
|
||
|
|
|
||
|
|
export default defineConfig({
|
||
|
|
plugins: [
|
||
|
|
swc.vite({
|
||
|
|
module: { type: 'es6' },
|
||
|
|
jsc: {
|
||
|
|
parser: {
|
||
|
|
syntax: 'typescript',
|
||
|
|
decorators: true,
|
||
|
|
},
|
||
|
|
transform: {
|
||
|
|
legacyDecorator: true,
|
||
|
|
decoratorMetadata: true,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
}),
|
||
|
|
],
|
||
|
|
test: {
|
||
|
|
globals: true,
|
||
|
|
environment: 'node',
|
||
|
|
testTimeout: 30000,
|
||
|
|
include: ['src/**/*.spec.ts', 'test/**/*.spec.ts'],
|
||
|
|
exclude: ['**/*.e2e-spec.ts', 'node_modules', 'dist'],
|
||
|
|
setupFiles: ['./test/setup.ts'],
|
||
|
|
coverage: {
|
||
|
|
provider: 'v8',
|
||
|
|
reporter: ['text', 'json', 'html'],
|
||
|
|
include: [
|
||
|
|
'src/acquisition/**/*.service.ts',
|
||
|
|
'src/engagement/**/*.service.ts',
|
||
|
|
'src/audience/**/*.service.ts',
|
||
|
|
'src/sessions/**/*.service.ts',
|
||
|
|
'src/segments/**/*.service.ts',
|
||
|
|
'src/trends/**/*.service.ts',
|
||
|
|
'src/funnels/**/*.service.ts',
|
||
|
|
'src/cohorts/**/*.service.ts',
|
||
|
|
],
|
||
|
|
exclude: [
|
||
|
|
'node_modules/',
|
||
|
|
'dist/',
|
||
|
|
'**/*.spec.ts',
|
||
|
|
'**/*.e2e-spec.ts',
|
||
|
|
'**/main.ts',
|
||
|
|
'**/index.ts',
|
||
|
|
'**/*.dto.ts',
|
||
|
|
'**/*.module.ts',
|
||
|
|
'**/*.controller.ts',
|
||
|
|
'**/*.entity.ts',
|
||
|
|
'test/**',
|
||
|
|
'vitest*.config.ts',
|
||
|
|
'scripts/**',
|
||
|
|
],
|
||
|
|
thresholds: {
|
||
|
|
statements: 80,
|
||
|
|
branches: 80,
|
||
|
|
functions: 80,
|
||
|
|
lines: 80,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
resolve: {
|
||
|
|
alias: {
|
||
|
|
'@': path.resolve(__dirname, './src'),
|
||
|
|
'@test': path.resolve(__dirname, './test'),
|
||
|
|
},
|
||
|
|
},
|
||
|
|
});
|