-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtsconfig.json
More file actions
86 lines (74 loc) · 4.96 KB
/
tsconfig.json
File metadata and controls
86 lines (74 loc) · 4.96 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
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
{
"compilerOptions": {
/* Visit https://aka.ms/tsconfig to read more about this file */
/* Language and Environment */
// We can run on the latest browser so include the latest standards in output,
// although it could still break if the browser didn't implement a specific feature from this standard
"target": "ESNext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
"module": "ESNext" /* Specify what module code is generated. */,
/* Modules */
"rootDirs": [
/* Specify the root folder within your source files. */
"src",
"tests"
],
"lib": [
// Default for ESNext target above except we exclude scripthost for windows native systems
// https://github.com/microsoft/TypeScript/blob/main/src/lib/esnext.full.d.ts
"DOM",
"DOM.Iterable",
"DOM.AsyncIterable",
"ESNext",
"WebWorker.ImportScripts",
// Additional libs that should be supported by latest browsers separate from ESNext
"ESNext.Array",
"ESNext.AsyncIterable",
"ESNext.Symbol",
"ESNext.BigInt"
],
// allow path aliases
"baseUrl": ".",
"paths": {
"@App/*": ["src/*"],
"@Mapping/*": ["src/lang/mappings/*"]
},
// import json directly into output
"resolveJsonModule": true,
// we are bundling the project js into single file for optimized loading
"moduleResolution": "Bundler" /* Specify how TypeScript looks up a file from a given module specifier. */,
// we use esbuild so disable duplicate JS output
"noEmit": true /* Disable emitting files from a compilation. */,
// strictness
"noImplicitAny": true,
"allowJs": false,
/* Interop Constraints */
"isolatedModules": true /* Ensure that each file can be safely transpiled without relying on other imports. */,
"verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
"esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
/* Type Checking */
"strict": true /* Enable all strict type-checking options. */,
"strictNullChecks": true /* When type checking, take into account 'null' and 'undefined'. */,
"strictFunctionTypes": true /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */,
"strictBindCallApply": true /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */,
"strictPropertyInitialization": true /* Check for class properties that are declared but not set in the constructor. */,
"noImplicitThis": true /* Enable error reporting when 'this' is given the type 'any'. */,
"useUnknownInCatchVariables": true /* Default catch clause variables as 'unknown' instead of 'any'. */,
"alwaysStrict": true /* Ensure 'use strict' is always emitted. */,
// allow unused vars for this project, because its more prototyping
//"noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
//"noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
"exactOptionalPropertyTypes": true /* Interpret optional property types as written, rather than adding 'undefined'. */,
"noImplicitReturns": true /* Enable error reporting for codepaths that do not explicitly return in a function. */,
"noFallthroughCasesInSwitch": true /* Enable error reporting for fallthrough cases in switch statements. */,
// this would require index checks for many well-known properties like os.ENV - here it feels too strict than to allow runtime errors
//"noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
"noImplicitOverride": true /* Ensure overriding members in derived classes are marked with an override modifier. */,
"noPropertyAccessFromIndexSignature": true /* Enforces using indexed accessors for keys declared using an indexed type. */,
//"allowUnusedLabels": true, /* Disable error reporting for unused labels. */
//"allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
/* Completeness */
"skipLibCheck": true /* Skip type checking all .d.ts files. */,
"skipDefaultLibCheck": true
}
}