forked from espruino/BangleApps
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig.json
67 lines (58 loc) · 1.77 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
{
"compilerOptions": {
// input/output
"target": "es5",
"noLib": true, // "lib": ["es5"],
"skipLibCheck": false,
"module": "commonjs",
// toggle these to check everything (and optionally change the include below to "apps/myapp/*.js")
// "checkJs": true,
// "noEmit": true,
"ignoreDeprecations": "5.0",
// code-gen
"declaration": false,
"emitDeclarationOnly": false,
"removeComments": true,
"noImplicitUseStrict": true, // disable "use strict"
"newLine": "lf",
"noEmitHelpers": true, // we link to specific banglejs implementations
"noEmitOnError": false,
"preserveConstEnums": false,
"importsNotUsedAsValues": "error",
"preserveValueImports": false,
// interop constraints
"isolatedModules": false, // we're global scripts
// type checking
"noImplicitAny": true,
"noUncheckedIndexedAccess": true,
"noPropertyAccessFromIndexSignature": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"noImplicitOverride": true,
"exactOptionalPropertyTypes": true,
"useUnknownInCatchVariables": true,
//"strict": true, // can't have this with noImplicitUseStrict, instead:
"strictNullChecks": true,
"strictBindCallApply": true,
"strictFunctionTypes": true,
"strictPropertyInitialization": true,
"noImplicitAny": true,
"noImplicitThis": true,
"useUnknownInCatchVariables": true,
// simple type checking
"noUnusedLocals": true,
"noUnusedParameters": true,
"allowUnusedLabels": false,
"allowUnreachableCode": false,
// paths
"rootDir": "./",
"typeRoots": ["./typescript/types/"]
},
"include": [
"*/*/*.ts",
"apps/*/*.js", // with checkJs: true
"*/*/*.d.ts",
"modules/*.ts",
"typescript/types/*.d.ts"
]
}