{ "compilerOptions": { // input/output "target": "es5", "noLib": true, // "lib": ["es5"], "skipLibCheck": false, "module": "commonjs", // toggle these to check everything (and optionally change the include below to "apps/myapp/*.js") // "checkJs": true, // "noEmit": true, "ignoreDeprecations": "5.0", // code-gen "declaration": false, "emitDeclarationOnly": false, "removeComments": true, "noImplicitUseStrict": true, // disable "use strict" "newLine": "lf", "noEmitHelpers": true, // we link to specific banglejs implementations "noEmitOnError": false, "preserveConstEnums": false, "importsNotUsedAsValues": "error", "preserveValueImports": false, // interop constraints "isolatedModules": false, // we're global scripts // type checking "noImplicitAny": true, "noUncheckedIndexedAccess": true, "noPropertyAccessFromIndexSignature": true, "noImplicitThis": true, "noImplicitReturns": true, "noImplicitOverride": true, "exactOptionalPropertyTypes": true, "useUnknownInCatchVariables": true, //"strict": true, // can't have this with noImplicitUseStrict, instead: "strictNullChecks": true, "strictBindCallApply": true, "strictFunctionTypes": true, "strictPropertyInitialization": true, "noImplicitAny": true, "noImplicitThis": true, "useUnknownInCatchVariables": true, // simple type checking "noUnusedLocals": true, "noUnusedParameters": true, "allowUnusedLabels": false, "allowUnreachableCode": false, // paths "rootDir": "./", "typeRoots": ["./typescript/types/"] }, "include": [ "*/*/*.ts", "apps/*/*.js", // with checkJs: true "*/*/*.d.ts", "modules/*.d.ts", "typescript/types/*.d.ts" ] }