jest.config.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /** @type {import('jest').Config} */
  2. module.exports = {
  3. preset: 'ts-jest',
  4. testEnvironment: 'node',
  5. rootDir: '.',
  6. testMatch: [
  7. '<rootDir>/tests/**/*.test.ts',
  8. '<rootDir>/tests/**/*.spec.ts'
  9. ],
  10. collectCoverageFrom: [
  11. 'src/**/*.ts',
  12. '!src/**/*.d.ts',
  13. '!src/index.ts'
  14. ],
  15. coverageDirectory: 'coverage',
  16. coverageReporters: [
  17. 'text',
  18. 'lcov',
  19. 'html'
  20. ],
  21. coverageThreshold: {
  22. global: {
  23. branches: 80,
  24. functions: 80,
  25. lines: 80,
  26. statements: 80
  27. }
  28. },
  29. moduleNameMapper: {
  30. '^@/(.*)$': '<rootDir>/src/$1',
  31. '^@/core/(.*)$': '<rootDir>/src/core/$1',
  32. '^@/platforms/(.*)$': '<rootDir>/src/platforms/$1',
  33. '^@/loaders/(.*)$': '<rootDir>/src/loaders/$1'
  34. },
  35. transformIgnorePatterns: [
  36. 'node_modules/(?!(@noble/.*|@noble/ed25519|@noble/hashes)/)'
  37. ],
  38. setupFilesAfterEnv: [
  39. '<rootDir>/tests/setup.ts'
  40. ],
  41. testTimeout: 30000,
  42. verbose: true,
  43. collectCoverage: false, // Only when explicitly requested
  44. maxWorkers: '50%',
  45. cacheDirectory: '.jest-cache'
  46. };