{
    "compilerOptions": {
        "sourceMap": true,
        "target": "es5",
        "module": "commonjs",
        "lib": ["dom", "dom.iterable", "esnext"],
        "jsx": "react-jsx",
        // Specify module resolution strategy: "node" (Node.js) or "classic" (TypeScript pre-1.6)
        "moduleResolution": "node",
        // Enable all strict type-checking options. Recommended by TS
        "strict": true,
        // Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports.
        // Implies "allowSyntheticDefaultImports". Recommended by TS
        "esModuleInterop": true,
        // Skip type checking of declaration files. Recommended by TS
        "skipLibCheck": true,
        // Disallow inconsistently-cased references to the same file. Recommended by TS
        "forceConsistentCasingInFileNames": true,
        // Do not emit outputs
        "noEmit": true,
        // Raise error on expressions and declarations with an implied "any" type
        "noImplicitAny": true,
        // Report errors on unused locals
        "noUnusedLocals": true,
        // Report errors on unused parameters
        "noUnusedParameters": true,
        // Report error when not all code paths in function return a value
        "noImplicitReturns": true,
        // Report errors for fallthrough cases in switch statement
        "noFallthroughCasesInSwitch": true
    }
}
