diff --git a/notes/web/javascript/javascriptAdvancedNotes.md b/notes/web/javascript/javascriptAdvancedNotes.md index 9687da7e80..697dbe5ea4 100644 --- a/notes/web/javascript/javascriptAdvancedNotes.md +++ b/notes/web/javascript/javascriptAdvancedNotes.md @@ -7393,6 +7393,12 @@ npm i -D jest ts-jest @types/jest react-test-renderer `jest.config.js`: ```js +const { compilerOptions } = require('./tsconfig.json'); +const { pathsToModuleNameMapper } = require('ts-jest/utils'); +const paths = pathsToModuleNameMapper(compilerOptions.paths, { + prefix: '/', +}); + module.exports = { roots: ['/src'], transform: { @@ -7401,7 +7407,14 @@ module.exports = { testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$', moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], moduleNameMapper: { - '^Components/(.*)': '/src/components/$1', + '.+\\.(css|styl|less|sass|scss)$': 'identity-obj-proxy', + '.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': + '/__mocks__/jest.mock.js', + ...paths, + '^@components/(.*)$': '/src/components/$1', + '^@hooks/(.*)$': '/src/hooks/$1', + '^@layouts/(.*)$': '/src/layouts/$1', + '^@types/(.*)$': '/src/types/$1', }, globals: { window: {},