jest.config.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. module.exports = {
  2. testEnvironment: 'jsdom',
  3. preset: 'ts-jest',
  4. setupFilesAfterEnv: ['./scripts/setupJestEnv.ts'],
  5. globals: {
  6. __DEV__: true,
  7. __TEST__: true,
  8. __VERSION__: require('./package.json').version,
  9. __BROWSER__: false,
  10. __GLOBAL__: false,
  11. __ESM_BUNDLER__: true,
  12. __ESM_BROWSER__: false,
  13. __NODE_JS__: true,
  14. __SSR__: true,
  15. __FEATURE_OPTIONS_API__: true,
  16. __FEATURE_SUSPENSE__: true,
  17. __FEATURE_PROD_DEVTOOLS__: false,
  18. __COMPAT__: true,
  19. 'ts-jest': {
  20. tsconfig: {
  21. target: 'esnext',
  22. sourceMap: true
  23. }
  24. }
  25. },
  26. coverageDirectory: 'coverage',
  27. coverageReporters: ['html', 'lcov', 'text'],
  28. collectCoverageFrom: [
  29. 'packages/*/src/**/*.ts',
  30. '!packages/runtime-test/src/utils/**',
  31. '!packages/template-explorer/**',
  32. '!packages/sfc-playground/**',
  33. '!packages/size-check/**',
  34. '!packages/runtime-core/src/profiling.ts',
  35. '!packages/runtime-core/src/customFormatter.ts',
  36. // DOM transitions are tested via e2e so no coverage is collected
  37. '!packages/runtime-dom/src/components/Transition*',
  38. // only called in browsers
  39. '!packages/vue/src/devCheck.ts',
  40. // only used as a build entry
  41. '!packages/vue/src/runtime.ts',
  42. // mostly just entries
  43. '!packages/vue-compat/**'
  44. ],
  45. watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'],
  46. moduleFileExtensions: ['ts', 'tsx', 'js', 'json'],
  47. moduleNameMapper: {
  48. '@vue/consolidate': '@vue/consolidate',
  49. '@vue/compat': '<rootDir>/packages/vue-compat/src',
  50. '^@vue/(.*?)$': '<rootDir>/packages/$1/src',
  51. 'vue/compiler-sfc': '<rootDir>/packages/compiler-sfc/src',
  52. 'vue/server-renderer': '<rootDir>/packages/server-renderer/src',
  53. vue: '<rootDir>/packages/vue/src'
  54. },
  55. rootDir: __dirname,
  56. testMatch: ['<rootDir>/packages/**/__tests__/**/*spec.[jt]s?(x)'],
  57. testPathIgnorePatterns: process.env.SKIP_E2E
  58. ? // ignore example tests on netlify builds since they don't contribute
  59. // to coverage and can cause netlify builds to fail
  60. ['/node_modules/', '/examples/__tests__']
  61. : ['/node_modules/']
  62. }