{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "moduleResolution": "node",
        "declaration": true,

        "strict": true,
        "noImplicitAny": false /* Raise error on expressions and declarations with an implied 'any' type. */,
        "strictNullChecks": true /* Enable strict null checks. */,
        "strictFunctionTypes": true /* Enable strict checking of function types. */,
        "strictPropertyInitialization": false /* Enable strict checking of property initialization in classes. Must be false for TypeORM.*/,
        "noUnusedLocals": false /* Report errors on unused locals. */,
        "noUnusedParameters": true /* Report errors on unused parameters. */,
        "noImplicitReturns": true /* Report error when not all code paths in function return a value. */,
        "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */,

        "skipLibCheck": true,
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "experimentalDecorators": true,
        "sourceMap": true,
        "allowJs": true,
        "outDir": "./dist-node/",
        "types": ["node", "jest"],
        "lib": [
            "ES6",
            "DOM",
            "DOM.Iterable",
            "ScriptHost"
        ]
    },
    "include": [
        "src/**/*.ts",
        "cli/**/*",
        "tests/**/*.ts",
        "examples/**/*.ts",
    ],
    "exclude": [
        "node_modules",
        "**/*.test.ts"
    ]
}
