// TypeScript config file that is used to compile the examples. Target environment needs to be
// ES2015 since the build process will create FESM bundles using rollup.
{
  "compilerOptions": {
    // Needed for Moment.js since it doesn't have a default export.
    "allowSyntheticDefaultImports": true,
    "declaration": true,
    "stripInternal": false,
    "experimentalDecorators": true,
    "noUnusedParameters": false,
    "noUnusedLocals": false,
    "strictNullChecks": true,
    "noImplicitReturns": true,
    "strictFunctionTypes": true,
    "noImplicitAny": true,
    "noImplicitThis": true,
    "importHelpers": true,
    "module": "es2015",
    "moduleResolution": "node",
    "outDir": "../../dist/packages/material-examples",
    "rootDir": ".",
    "sourceMap": true,
    "inlineSources": true,
    "target": "es2015",
    "lib": ["es2015", "dom"],
    "skipLibCheck": true,
    "types": [],
    "baseUrl": ".",
    "paths": {
      "@angular/material/*": ["../../dist/packages/material/*"],
      "@angular/material-experimental/*": ["../../dist/packages/material-experimental/*"],
      "@angular/material-moment-adapter": ["../../dist/packages/material-moment-adapter"],
      "@angular/cdk/*": ["../../dist/packages/cdk/*"],
      "@angular/cdk-experimental/*": ["../../dist/packages/cdk-experimental/*"]
    }
  },
  "files": [
    "public-api.ts"
  ],
  "angularCompilerOptions": {
    "annotateForClosureCompiler": true,
    "strictMetadataEmit": true,
    "flatModuleOutFile": "index.js",
    "flatModuleId": "@angular/material-examples",
    "skipTemplateCodegen": true,
    // TODO(paul): Needs to stay disabled for now because when building the examples in non-release
    // format the metadata of Material which is required to build the examples package, are not
    // including all re-exports and therefore the build will fail. This issue will be fixed with
    // the new compiler CLI that no longer outputs metadata.
    "fullTemplateTypeCheck": false
  },
  "bazelOptions": {
    // Needed because this tsconfig file is also being used by Bazel since we need
    // special options enabled in favor of using Moment as an import.
    "suppressTsconfigOverrideWarnings": true
  }
}
