This repository has been archived by the owner on Jun 20, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
tsconfig.json
94 lines (89 loc) · 3.29 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
{
"compilerOptions": {
// general
//"sourceMap": true, // source-map doesn't work in dev-tools anyway fsr (with source-maps enabled, only ever shows es6, not ts), so no point creating
"watch": true,
"outDir": "Source_JS",
"forceConsistentCasingInFileNames": true, // creates duplicates in import-helper plugins otherwise
// modules/paths
"module": "ES2015", // leave the imports/exports alone (webpack will convert them to "require")
//"module": "commonjs", // needed, since this config file is used for "ts-node Scripts/Server" as well
"moduleResolution": "node",
//"rootDir": ".",
"rootDir": "Source",
/*"rootDirs": [
"Source",
"../node_modules/vwebapp-framework",
"../node_modules/js-vextensions/....",
],*/
"baseUrl": "Source",
//"baseUrl": ".", // we need it at root so we can apply path-overrides, even when requester is outside of Source folder
"paths": { // ("paths" is relative to "baseUrl")
"*": [
// prefer "/node_modules/@types" over "/node_modules/[something]/node_modules/@types" (eg. for when using npm link)
//"../node_modules/@types/*",
// prefer "/node_modules/X" over "/node_modules/[something]/node_modules/X"
// (for when using npm link; fixes auto-importer sometimes using SomeLib/node_modules/TargetLib)
"../node_modules/*",
"*"
],
// remove @types/node and such (conflicts with typescript web definitions)
"@types/node": ["../Typings/empty.d.ts"],
// remove @types/react/global.d.ts, as it breaks the auto-import-finder for react-vcomponents/Text
"react/global.d.ts": ["../Typings/empty.d.ts"],
"react-vextensions/node_modules/react/global.d.ts": ["../Typings/empty.d.ts"],
"react-vcomponents/node_modules/react/global.d.ts": ["../Typings/empty.d.ts"],
// temp removals (lib definitions need updating)
//"mst-decorators": ["../Typings/empty.d.ts"],
// consolidating for these wouldn't throw errors necessarily, but we do so to keep things tidy (since we know the different versions will be compatible anyway)
//"js-vextensions": ["../node_modules/js-vextensions"],
//"mobx-firelink": ["../node_modules/mobx-firelink"], // fixes odd ts issue
},
//"skipLibCheck": true,
// compiler options
//"target": "ES5",
//"target": "es2015",
//"target": "es2017",
"target": "esnext", // babel targets es2015 (ie. transpiles our code to it), so it's fine for TS to target es-next
"lib": [
"es5",
"es6",
"ESNext",
"dom"
],
//"allowJs": true,
//"maxNodeModuleJsDepth": 1,
"jsx": "react",
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
//"strict": true, // enables all of the below (other than noImplicitReturns)
//"noImplicitAny": true,
//"noImplicitThis": true,
//"noImplicitReturns": true,
"alwaysStrict": true,
//"strictBindCallApply": true,
//"strictNullChecks": true, // enable this at some point
//"strictFunctionTypes": true,
//"strictPropertyInitialization": true,
},
//"files": ["Source/Main.ts"],
"include": [
"Typings/**/*.d.ts",
//"Typings/globals/**/*.d.ts",
"Source/**/*.ts",
"Source/**/*.tsx"
//"Source/**/*.js",
//"Source/**/*.jsx"
],
/*"exclude": [
"Build",
"Tests",
"node_modules"
/*"Typings/main",
"Typings/main.d.ts",
"Typings/browser",
"Typings/browser.d.ts",*#/
],*/
"compileOnSave": true
}