-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathtsconfig.json
41 lines (38 loc) · 1.64 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
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"incremental": true,
"lib": ["DOM", "ES2022"],
"noFallthroughCasesInSwitch": true,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noUncheckedIndexedAccess": true,
"outDir": "target",
"resolveJsonModule": true,
"skipLibCheck": true,
"strictBindCallApply": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"typeRoots": ["node_modules/@types"],
"rootDir": ".",
"baseUrl": ".", // affects where output files end up
"target": "es2021", // goal: ship *the most modern syntax* that is supported by *all* browsers that support our Wasm
"module": "nodenext", // allow top-level await
"moduleResolution": "nodenext", // comply with node + "type": "module"
"esModuleInterop": true, // to silence jest
"experimentalDecorators": true, // needed for decorators
"emitDecoratorMetadata": true, // needed for decorators
"useDefineForClassFields": false, // ensure correct behaviour of class fields with decorators
"strict": true, // for the full TypeScript experience
"strictPropertyInitialization": false, // to enable generic constructors, e.g. on CircuitValue
"importHelpers": true, // reduces size
"declaration": true, // declaration files are how library consumers get our types
"noEmitOnError": false, // avoid accidentally shipping with type errors
"allowJs": true, // to use JSDoc in some places where TS would be too cumbersome
"sourceMap": true
},
"exclude": ["node_modules", "target"],
"include": ["."]
}