forked from DimensionDev/Maskbook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig.json
79 lines (71 loc) · 2.3 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
{
"references": [
// Only list top-level projects here
{ "path": "./packages/polyfills/" },
{ "path": "./packages/mask/" },
{ "path": "./packages/injected-script/main" },
{ "path": "./packages/mask-sdk/main" },
{ "path": "./packages/mask-sdk/public-api" },
{ "path": "./packages/dashboard" },
// Storybooks are considered as a "project" not depended by any other project
{ "path": "./packages/dashboard/stories" },
{ "path": "./packages/theme/stories" },
// Tests
{ "path": "./packages/backup-format/tsconfig.tests.json" },
{ "path": "./packages/encryption/tsconfig.tests.json" },
{ "path": "./packages/shared-base/tsconfig.tests.json" },
// All plugins should be type checked too
{ "path": "./packages/plugins" }
],
"compilerOptions": {
// Classification follows https://www.typescriptlang.org/tsconfig
// Type Checking
"strict": true,
// exactOptionalPropertyTypes: false,
"noImplicitOverride": true,
"noFallthroughCasesInSwitch": true,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitThis": true,
// noPropertyAccessFromIndexSignature: false,
// noUncheckedIndexedAccess: false,
// noUnusedLocals: false,
// noUnusedParameters: false,
// Modules
"module": "ESNext",
"moduleResolution": "node",
"resolveJsonModule": true,
// Exclude everything by default. Include them in each project on-demand
"types": ["web", "masknet__global-types"],
// Emit
"declaration": true,
"declarationMap": true,
"importsNotUsedAsValues": "error",
"sourceMap": true,
"stripInternal": true, // skip type emit for @internal types
// JavaScript Support
"allowJs": true,
"checkJs": false,
// Interop Constraints
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
// Language and Environment
"jsx": "react-jsx",
"lib": ["ES2022"], // don't add "DOM", we use @types/web
"target": "ES2019",
"useDefineForClassFields": true,
// Projects
"composite": true,
"incremental": true,
// Completeness
"skipLibCheck": true // skip all type checks for .d.ts files
},
"files": [],
"ts-node": {
"compilerOptions": {
"module": "CommonJS"
},
"transpileOnly": true
}
}