const libDir = process.env.LIB_DIR; const transformIgnorePatterns = [ '/dist/', // Ignore modules without es dir. // Update: @babel/runtime should also be transformed // 'node_modules/(?!.*(@babel|lodash-es))', 'node_modules/(?!@ant-design/icons-vue|@ant-design/icons-svg|lodash-es)/', ]; const testPathIgnorePatterns = ['/node_modules/', 'node']; module.exports = { testURL: 'http://localhost/', setupFiles: ['./tests/setup.js'], moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx', 'json', 'vue', 'md', 'jpg'], modulePathIgnorePatterns: ['/_site/'], testPathIgnorePatterns: testPathIgnorePatterns, transform: { '^.+\\.(vue|md)$': '/node_modules/vue-jest', '^.+\\.(js|jsx)$': '/node_modules/babel-jest', '^.+\\.(ts|tsx)$': '/node_modules/ts-jest', '^.+\\.svg$': '/node_modules/jest-transform-stub', }, testRegex: libDir === 'dist' ? 'demo\\.test\\.js$' : '.*\\.test\\.js$', moduleNameMapper: { '^@/(.*)$': '/$1', 'ant-design-vue$': '/components/index.ts', 'ant-design-vue/es': '/components', }, snapshotSerializers: ['/node_modules/jest-serializer-vue'], collectCoverage: process.env.COVERAGE === 'true', collectCoverageFrom: [ 'components/**/*.{js,jsx,vue}', '!components/*/style/index.{js,jsx}', '!components/style/*.{js,jsx}', '!components/*/locale/*.{js,jsx}', '!components/*/__tests__/**/type.{js,jsx}', '!components/vc-*/**/*', '!components/*/demo/**/*', '!components/_util/**/*', '!components/align/**/*', '!components/trigger/**/*', '!components/style.js', '!**/node_modules/**', ], testEnvironment: 'jest-environment-jsdom-fifteen', transformIgnorePatterns, globals: { 'ts-jest': { babelConfig: true, }, }, };