mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2026-03-26 08:40:58 -07:00
64 lines
1.7 KiB
JavaScript
64 lines
1.7 KiB
JavaScript
/** @type {import('jest').Config} */
|
|
module.exports = {
|
|
// Use ts-jest to transform TypeScript
|
|
preset: 'ts-jest',
|
|
|
|
// Test environment
|
|
testEnvironment: 'jsdom',
|
|
|
|
// Setup files
|
|
setupFilesAfterEnv: ['<rootDir>/src/__tests__/setup-jest.ts'],
|
|
|
|
// Test file patterns
|
|
testMatch: [
|
|
'<rootDir>/src/**/__tests__/**/*.(test|spec).(ts|tsx|js)',
|
|
'<rootDir>/src/**/*.(test|spec).(ts|tsx|js)',
|
|
],
|
|
|
|
// Module file extensions
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
|
|
|
|
// Module aliases - matches webpack config
|
|
moduleNameMapper: {
|
|
'^@/(.*)$': '<rootDir>/src/$1',
|
|
'^@services/(.*)$': '<rootDir>/src/services/$1',
|
|
'@mui/styled-engine': '@mui/styled-engine-sc',
|
|
// Static asset mocks
|
|
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',
|
|
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/src/__tests__/__mocks__/fileMock.js',
|
|
},
|
|
|
|
// Coverage settings
|
|
collectCoverageFrom: [
|
|
'src/**/*.{ts,tsx}',
|
|
'!src/**/*.d.ts',
|
|
'!src/__tests__/**/*',
|
|
'!src/main.ts',
|
|
'!src/preload/**/*',
|
|
],
|
|
|
|
// Coverage reporters
|
|
coverageReporters: ['text', 'lcov', 'html'],
|
|
|
|
// Ignored paths
|
|
modulePathIgnorePatterns: ['<rootDir>/out/', '<rootDir>/.webpack/'],
|
|
|
|
// Modern ts-jest configuration
|
|
transform: {
|
|
'^.+\\.(ts|tsx)$': ['ts-jest', {
|
|
tsconfig: {
|
|
experimentalDecorators: true,
|
|
emitDecoratorMetadata: true,
|
|
jsx: 'react-jsx',
|
|
esModuleInterop: true,
|
|
allowSyntheticDefaultImports: true,
|
|
},
|
|
}],
|
|
},
|
|
|
|
// Environment variables
|
|
setupFiles: ['<rootDir>/src/__tests__/environment.ts'],
|
|
|
|
// Timeout setting
|
|
testTimeout: 10000,
|
|
};
|