-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtsconfig.json
58 lines (56 loc) · 2.07 KB
/
tsconfig.json
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
{
"compilerOptions": {
"outDir": "./dist/",
// Подсвечивает все места где не указан тип
// Однако это не означает, что теперь вовсе нельзя использовать any.
// Это означает лишь, что в подобных ситуация разработчик должен явно писать any,
"noImplicitAny": true,
"target": "ES2017",
"useDefineForClassFields": true,
// "lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
// Компилятор будет обрабатывать не только TS файлы, но и JS файлы
"allowJs": true,
// Для абсолютного импорта
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
// esModuleInterop позволяет работать с пакетами, которые используют
// common js как с обычными пакета с помощью import (require() module.export) = common js
// import Moment from 'moment';
// без флага esModuleInterop результат undefined
// console.log(Moment);
// c флагом результат [object Object]
// console.log(Moment);
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"types": ["vite-plugin-svgr/client"],
"plugins": [
{
"name": "typescript-plugin-css-modules",
"customMatcher": "\\.module\\.(c|le|sa|sc)ss$"
}
]
},
"ts-node": {
"compilerOptions": {
"module": "CommonJS"
}
},
"include": ["./config/jest/setupTests.ts", "./src/**/*.ts", "./src/**/*.tsx"],
"references": [{ "path": "./tsconfig.node.json" }]
}