{
  "compilerOptions": {
    /* Language and Environment */
    "target": "ES2020",
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    
    /* Modules */
    "module": "ES2015",
    "moduleResolution": "node",
    
    /* Emit */
    "outDir": "./code/web/static/js",
    "rootDir": "./code/web/static/ts",
    "removeComments": true,
    "sourceMap": true,
    
    /* Interop Constraints */
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "forceConsistentCasingInFileNames": true,
    
    /* Type Checking */
    "strict": false,
    "noImplicitAny": false,
    "strictNullChecks": false,
    "strictFunctionTypes": false,
    "strictBindCallApply": false,
    "strictPropertyInitialization": false,
    "noImplicitThis": false,
    "alwaysStrict": true,
    
    /* Completeness */
    "skipLibCheck": true,
    
    /* Additional Options */
    "allowJs": true,
    "checkJs": false,
    "noEmit": false
  },
  "include": [
    "code/web/static/ts/**/*.ts"
  ],
  "exclude": [
    "node_modules",
    "code/web/static/vendor"
  ]
}
