jest-config.ts 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. import path = require('path');
  2. module.exports = function(name: string, baseDir: string) {
  3. return {
  4. transform: {
  5. '^.+\\.tsx?$': 'ts-jest'
  6. },
  7. moduleNameMapper: {
  8. '\\.(css|less|sass|scss)$': 'identity-obj-proxy',
  9. '\\.(gif|ttf|eot|svg)$': '@jupyterlab/testutils/lib/jest-file-mock.js'
  10. },
  11. setupTestFrameworkScriptFile: '@jupyterlab/testutils/lib/jest-script.js',
  12. setupFiles: ['@jupyterlab/testutils/lib/jest-shim.js'],
  13. testPathIgnorePatterns: ['/dev_mode/', '/lib/', '/node_modules/'],
  14. moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
  15. rootDir: path.resolve(path.join(baseDir, '..', '..')),
  16. reporters: ['default', 'jest-junit'],
  17. collectCoverageFrom: [
  18. `packages/${name}/src/**.{ts,tsx}`,
  19. `!packages/${name}/src/*.d.ts`
  20. ],
  21. coverageReporters: ['json', 'lcov', 'text', 'html'],
  22. coverageDirectory: path.join(baseDir, 'coverage'),
  23. testRegex: `tests\/test-${name}\/src\/.*\.spec\.ts$`,
  24. globals: {
  25. 'ts-jest': {
  26. tsConfigFile: `tests/test-${name}/tsconfig.json`
  27. }
  28. }
  29. };
  30. };