forked from calcom/cal.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
jest.config.ts
100 lines (98 loc) · 3.45 KB
/
jest.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import type { Config } from "jest";
const config: Config = {
preset: "ts-jest",
verbose: true,
projects: [
{
displayName: "@calcom/web",
roots: ["<rootDir>/apps/web"],
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
modulePathIgnorePatterns: [
//
"<rootDir>/apps/web/test/__fixtures__",
"<rootDir>/apps/web/node_modules",
"<rootDir>/apps/web/dist",
],
clearMocks: true,
setupFilesAfterEnv: ["<rootDir>/tests/config/singleton.ts"],
setupFiles: ["<rootDir>/apps/web/test/jest-setup.js"],
testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)", "**/__tests__/**/*.(spec|test).(ts|tsx|js)"],
testPathIgnorePatterns: ["<rootDir>/apps/web/.next", "<rootDir>/apps/web/playwright/"],
transform: {
"^.+\\.(js|jsx|ts|tsx)$": ["babel-jest", { presets: ["next/babel"] }],
},
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
testEnvironment: "jsdom",
resolver: `<rootDir>/apps/web/test/jest-resolver.js`,
moduleNameMapper: {
"^@components(.*)$": "<rootDir>/apps/web/components$1",
"^@lib(.*)$": "<rootDir>/apps/web/lib$1",
"^@server(.*)$": "<rootDir>/apps/web/server$1",
},
},
{
displayName: "@calcom/lib",
roots: ["<rootDir>/packages/lib"],
testEnvironment: "node",
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
transform: {
"^.+\\.tsx?$": "ts-jest",
},
globals: {
"ts-jest": {
tsconfig: "<rootDir>/packages/lib/tsconfig.test.json",
},
},
},
{
displayName: "@calcom/closecom",
roots: ["<rootDir>/packages/app-store/closecom"],
testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)"],
transform: {
"^.+\\.ts?$": "ts-jest",
},
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
testEnvironment: "jsdom",
setupFiles: ["<rootDir>/packages/app-store/closecom/test/globals.ts"],
},
{
displayName: "@calcom/routing-forms",
roots: ["<rootDir>/packages/app-store/routing-forms"],
testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)"],
transform: {
"^.+\\.ts?$": "ts-jest",
},
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
testEnvironment: "jsdom",
},
// FIXME: Prevent this breaking Jest when API module is missing
// {
// displayName: "@calcom/api",
// roots: ["<rootDir>/apps/api"],
// testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)"],
// setupFilesAfterEnv: ["<rootDir>/tests/config/singleton.ts"],
// transform: {
// "^.+\\.ts?$": "ts-jest",
// },
// globals: {
// "ts-jest": {
// tsconfig: "<rootDir>/apps/api/tsconfig.json",
// },
// },
// transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
// testEnvironment: "node",
// clearMocks: true,
// moduleNameMapper: {
// "^@lib/(.*)$": "<rootDir>/apps/api/lib/$1",
// "^@api/(.*)$": "<rootDir>/apps/api/pages/api/$1",
// },
// // setupFilesAfterEnv: ["<rootDir>/apps/api/jest.setup.ts"], // Uncomment when API becomes public
// },
],
watchPlugins: [
"jest-watch-typeahead/filename",
"jest-watch-typeahead/testname",
"jest-watch-select-projects",
],
};
export default config;