|
| 1 | +const config = { |
| 2 | + preset: "@shelf/jest-mongodb", |
| 3 | + setupFilesAfterEnv: ["<rootDir>/setupTests.ts"], |
| 4 | + watchPathIgnorePatterns: ["globalConfig"], |
| 5 | + moduleNameMapper: { |
| 6 | + "@courselit/utils": "<rootDir>/../../packages/utils/src", |
| 7 | + "@courselit/common-logic": "<rootDir>/../../packages/common-logic/src", |
| 8 | + "@courselit/common-models": |
| 9 | + "<rootDir>/../../packages/common-models/src", |
| 10 | + "@courselit/email-editor": |
| 11 | + "<rootDir>/__mocks__/@courselit/email-editor.ts", |
| 12 | + nanoid: "<rootDir>/__mocks__/nanoid.ts", |
| 13 | + "@sindresorhus/slugify": "<rootDir>/__mocks__/slugify.ts", |
| 14 | + // Handle @/ paths - prioritize email-editor package paths, then queue app paths |
| 15 | + // These must come before the generic @/ pattern |
| 16 | + "^@/components/ui/(.*)$": |
| 17 | + "<rootDir>/../../packages/email-editor/src/components/ui/$1", |
| 18 | + "^@/components/settings/(.*)$": |
| 19 | + "<rootDir>/__mocks__/settings-components.tsx", |
| 20 | + "^@/components/(.*)$": |
| 21 | + "<rootDir>/../../packages/email-editor/src/components/$1", |
| 22 | + "^@/lib/(.*)$": "<rootDir>/../../packages/email-editor/src/lib/$1", |
| 23 | + "^@/blocks$": "<rootDir>/../../packages/email-editor/src/blocks", |
| 24 | + "^@/blocks/(.*)$": |
| 25 | + "<rootDir>/../../packages/email-editor/src/blocks/$1", |
| 26 | + "^@/types/(.*)$": "<rootDir>/../../packages/email-editor/src/types/$1", |
| 27 | + "^@/(.*)$": "<rootDir>/src/$1", |
| 28 | + // Mock React UI components and dependencies that aren't available in Node.js |
| 29 | + "^@radix-ui/(.*)$": "<rootDir>/__mocks__/radix-ui.ts", |
| 30 | + "^lucide-react$": "<rootDir>/__mocks__/lucide-react.ts", |
| 31 | + // Mock CSS imports |
| 32 | + "\\.css$": "<rootDir>/__mocks__/css.ts", |
| 33 | + }, |
| 34 | + transformIgnorePatterns: ["node_modules/(?!(nanoid)/)"], |
| 35 | + extensionsToTreatAsEsm: [], |
| 36 | + transform: { |
| 37 | + "^.+\\.(ts|tsx)$": [ |
| 38 | + "ts-jest", |
| 39 | + { |
| 40 | + tsconfig: { |
| 41 | + jsx: "react-jsx", |
| 42 | + }, |
| 43 | + }, |
| 44 | + ], |
| 45 | + }, |
| 46 | + testMatch: ["**/__tests__/**/*.test.ts", "**/?(*.)+(spec|test).ts"], |
| 47 | + testPathIgnorePatterns: ["/node_modules/", "/dist/"], |
| 48 | + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json"], |
| 49 | + testEnvironment: "node", |
| 50 | +}; |
| 51 | + |
| 52 | +export default config; |
0 commit comments