优化
This commit is contained in:
80
client/web/jest.config.js
Normal file
80
client/web/jest.config.js
Normal file
@@ -0,0 +1,80 @@
|
||||
const regeneratorRuntime = require('regenerator-runtime');
|
||||
const { pathsToModuleNameMapper } = require('ts-jest');
|
||||
const webCompilerOptions = require('./tsconfig.test.json').compilerOptions;
|
||||
|
||||
// 用于处理编译出来是esmodule会抛出 SyntaxError: Unexpected token 'export' 问题的包
|
||||
const esModules = [
|
||||
'react-markdown',
|
||||
'vfile',
|
||||
'unist-util-stringify-position',
|
||||
'unified',
|
||||
'bail',
|
||||
'is-plain-obj',
|
||||
'trough',
|
||||
'remark-parse',
|
||||
'mdast-util-from-markdown',
|
||||
'mdast-util-to-string',
|
||||
'micromark',
|
||||
'decode-named-character-reference',
|
||||
'character-entities',
|
||||
'remark-rehype',
|
||||
'mdast-util-to-hast',
|
||||
'unist-builder',
|
||||
'unist-util-visit',
|
||||
'unist-util-is',
|
||||
'unist-util-position',
|
||||
'unist-util-generated',
|
||||
'mdast-util-definitions',
|
||||
'trim-lines',
|
||||
'property-information',
|
||||
'hast-util-whitespace',
|
||||
'space-separated-tokens',
|
||||
'comma-separated-tokens',
|
||||
'remark-gfm',
|
||||
'mdast-util-gfm',
|
||||
'mdast-util-gfm-autolink-literal',
|
||||
'mdast-util-find-and-replace',
|
||||
'mdast-util-to-markdown',
|
||||
'markdown-table',
|
||||
'escape-string-regexp',
|
||||
'ccount',
|
||||
'hast-util-raw',
|
||||
'rehype-raw',
|
||||
'hast-util-from-parse5',
|
||||
'hast-util-to-parse5',
|
||||
'hastscript',
|
||||
'hast-util-parse-selector',
|
||||
'web-namespaces',
|
||||
'zwitch',
|
||||
'html-void-elements',
|
||||
].join('|');
|
||||
|
||||
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
|
||||
module.exports = {
|
||||
preset: 'ts-jest',
|
||||
testEnvironment: 'jsdom',
|
||||
moduleNameMapper: {
|
||||
'\\.(css|less|scss)$': 'identity-obj-proxy',
|
||||
...pathsToModuleNameMapper(webCompilerOptions.paths, {
|
||||
prefix: '<rootDir>/',
|
||||
}),
|
||||
},
|
||||
// projects: ['<rootDir>/web/'], // https://jestjs.io/docs/configuration#projects-arraystring--projectconfig
|
||||
rootDir: '.',
|
||||
testRegex: '.*\\.(test|spec)\\.tsx?$',
|
||||
testPathIgnorePatterns: ['/node_modules/', '/e2e/'],
|
||||
transform: {
|
||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
||||
'<rootDir>/test/fileTransformer.js',
|
||||
[`(${esModules}).+\\.(j|t)sx?$`]: 'ts-jest',
|
||||
},
|
||||
transformIgnorePatterns: [`/node_modules/\.pnpm/(?!(${esModules}))`],
|
||||
setupFiles: ['<rootDir>/test/setup.js'],
|
||||
setupFilesAfterEnv: [],
|
||||
globals: {
|
||||
window: {},
|
||||
'ts-jest': {
|
||||
tsconfig: 'tsconfig.test.json',
|
||||
},
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user