33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import type { Config } from 'jest'
|
|
import nextJest from 'next/jest.js'
|
|
|
|
const createJestConfig = nextJest({
|
|
// Provide the path to your Next.js app to load next.config.js and .env files in your test environment
|
|
dir: './',
|
|
})
|
|
|
|
// Add any custom config to be passed to Jest
|
|
const config: Config = {
|
|
coverageProvider: 'v8',
|
|
testEnvironment: 'jsdom',
|
|
// Add more setup options before each test is run
|
|
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
|
|
moduleNameMapper: {
|
|
'^@/(.*)$': '<rootDir>/src/$1',
|
|
},
|
|
testPathIgnorePatterns: [
|
|
'/node_modules/',
|
|
'/e2e/', // Exclude Playwright e2e tests
|
|
],
|
|
modulePathIgnorePatterns: [
|
|
'<rootDir>/.next/',
|
|
'<rootDir>/coverage/',
|
|
],
|
|
transformIgnorePatterns: [
|
|
'node_modules/(?!(react-markdown|remark-.*|unified|bail|is-plain-obj|trough|vfile|unist-.*|mdast-.*|micromark.*|decode-named-character-reference|character-entities|property-information|hast-util-whitespace|space-separated-tokens|comma-separated-tokens|ccount|escape-string-regexp|markdown-table|uuid)/)',
|
|
],
|
|
}
|
|
|
|
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
|
|
export default createJestConfig(config)
|