{ "include": ["src"], "compilerOptions": { "target": "ESNext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, "lib": [ "ESNext", "dom" ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */, "module": "NodeNext" /* Specify what module code is generated. */, "rootDir": "src" /* Specify the root folder within your source files. */, "moduleResolution": "nodenext" /* Specify how TypeScript looks up a file from a given module specifier. */, "resolveJsonModule": true /* Enable importing .json files. */, "outDir": "build", "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. */, "noImplicitAny": true /* Enable error reporting for expressions and declarations with an implied 'any' type. */, "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. */, "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. */, "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. */ } }