Repository navigation
Expand file tree
/
Copy pathtsconfig.shared.json
More file actions
53 lines (49 loc) · 1.74 KB
/
Copy pathtsconfig.shared.json
File metadata and controls
53 lines (49 loc) · 1.74 KB
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
{
// Shared TypeScript configuration for every package in the workspace.
//
// This file holds only what is genuinely repo-wide. Anything a single package
// decides for itself — module resolution paths, which directories it
// type-checks — belongs in that package's own tsconfig.json, because `paths`
// and `include` are resolved relative to the file that declares them, not to
// the file that extends this one. Putting a `paths` entry here would silently
// anchor it to the workspace root.
//
// A package opts in with `"extends": "../../tsconfig.shared.json"`.
//
// Named `shared` rather than the more usual `base` because a machine-global
// gitignore rule (`*.BASE.*`, matched case-insensitively) silently excludes
// tsconfig.base.json from the repo, which breaks every clone.
//
// Visit https://aka.ms/tsconfig to read more about this file
"compilerOptions": {
"noEmit": true,
"module": "esnext",
"target": "esnext",
"types": ["node"],
// Other Outputs
"sourceMap": true,
"declaration": true,
"declarationMap": true,
// Stricter Typechecking Options
"noUncheckedIndexedAccess": true,
"exactOptionalPropertyTypes": true,
// Style Options
"noImplicitReturns": true,
"noImplicitOverride": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"noPropertyAccessFromIndexSignature": true,
// Recommended Options
"strict": true,
"jsx": "react-jsx",
"verbatimModuleSyntax": true,
"isolatedModules": true,
"noUncheckedSideEffectImports": true,
"moduleDetection": "force",
"skipLibCheck": true,
"erasableSyntaxOnly": true,
"allowJs": true,
"allowImportingTsExtensions": true
}
}