mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-05-09 08:48:58 +08:00
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { join } from 'path';
|
|
import { existsSync } from 'fs-extra';
|
|
import {
|
|
ROOT,
|
|
JEST_SETUP_FILE,
|
|
JEST_FILE_MOCK_FILE,
|
|
JEST_STYLE_MOCK_FILE,
|
|
} from '../common/constant';
|
|
|
|
const DEFAULT_CONFIG = {
|
|
moduleNameMapper: {
|
|
'\\.(css|less|scss)$': JEST_STYLE_MOCK_FILE,
|
|
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': JEST_FILE_MOCK_FILE,
|
|
},
|
|
setupFilesAfterEnv: [JEST_SETUP_FILE],
|
|
moduleFileExtensions: ['js', 'jsx', 'vue', 'ts', 'tsx'],
|
|
transform: {
|
|
'\\.(vue)$': 'vue-jest',
|
|
'\\.(js|jsx|ts|tsx)$': 'babel-jest',
|
|
},
|
|
transformIgnorePatterns: ['/node_modules/(?!(@vant/cli))/'],
|
|
snapshotSerializers: ['jest-serializer-vue'],
|
|
collectCoverage: true,
|
|
collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx,vue}', '!**/demo/**'],
|
|
coverageReporters: ['html', 'lcov', 'text-summary'],
|
|
coverageDirectory: './test/coverage',
|
|
};
|
|
|
|
function readRootConfig() {
|
|
const ROOT_CONFIG_PATH = join(ROOT, 'jest.config.js');
|
|
|
|
if (existsSync(ROOT_CONFIG_PATH)) {
|
|
return require(ROOT_CONFIG_PATH);
|
|
}
|
|
|
|
return {};
|
|
}
|
|
|
|
module.exports = {
|
|
...DEFAULT_CONFIG,
|
|
...readRootConfig(),
|
|
};
|