alibaba/noform

View on GitHub
scripts/jest.base.js

Summary

Maintainability
B
4 hrs
Test Coverage
const fs = require('fs-extra')
const path = require('path')
const packagesDir = path.resolve(process.cwd(), './packages')
const packages = fs.readdirSync(packagesDir)
const alias = packages
  .map(v => path.join(packagesDir, v))
  .filter(v => {
    return !fs.statSync(v).isFile()
  })
  .reduce((buf, _path) => {
    const name = path.basename(_path)
    return {
      ...buf,
      [`@alist/${name}`]: `${_path}/src`
    }
  }, {})
module.exports = {
  collectCoverage: true,
  verbose: true,
  testEnvironment: 'jsdom',
  transform: {
    '^.+\\.jsx?$': 'babel-jest'
  },
  preset: 'ts-jest',
  setupFilesAfterEnv: [
    require.resolve('jest-dom/extend-expect'),
    require.resolve('@testing-library/react/cleanup-after-each'),
    './scripts/global.js'
  ],
  moduleNameMapper: process.env.TEST_ENV === 'production' ? undefined : alias,
  globals: {
    'ts-jest': {
      babelConfig: true,
      tsConfig: 'tsconfig.jest.json'
    }
  },
  //watchPlugins: ['jest-watch-lerna-packages'],
  coveragePathIgnorePatterns: [
    '/node_modules/',
    'package.json',
    '/demo/',
    '/packages/builder/src/__tests__/',
    '/packages/builder/src/components/',
    '/packages/builder/src/configs/',
    'package-lock.json'
  ]
}