{
  "id": "build/tsc",
  "family": "build-typescript",
  "description": "Compact TypeScript compiler output while preserving real diagnostics.",
  "match": {
    "toolNames": ["exec"],
    "commandIncludes": ["tsc"]
  },
  "transforms": {
    "stripAnsi": true,
    "dedupeAdjacent": true,
    "trimEmptyEdges": true
  },
  "filters": {
    "skipPatterns": [
      "^Files:\\s+\\d+",
      "^Lines of Library:\\s+\\d+",
      "^Lines of Definitions:\\s+\\d+",
      "^Lines of TypeScript:\\s+\\d+",
      "^Lines of JavaScript:\\s+\\d+",
      "^Lines of JSON:\\s+\\d+",
      "^Lines of Other:\\s+\\d+",
      "^Identifiers:\\s+\\d+",
      "^Symbols:\\s+\\d+",
      "^Types:\\s+\\d+",
      "^Instantiations:\\s+\\d+",
      "^Memory used:\\s+.+",
      "^Assignability cache size:\\s+\\d+",
      "^Identity cache size:\\s+\\d+",
      "^Subtype cache size:\\s+\\d+",
      "^Strict subtype cache size:\\s+\\d+",
      "^I/O Read time:\\s+.+",
      "^Parse time:\\s+.+",
      "^ResolveModule time:\\s+.+",
      "^ResolveLibrary time:\\s+.+",
      "^Program time:\\s+.+",
      "^Bind time:\\s+.+",
      "^Check time:\\s+.+",
      "^transformTime time:\\s+.+",
      "^commentTime time:\\s+.+",
      "^I/O Write time:\\s+.+",
      "^printTime time:\\s+.+",
      "^Emit time:\\s+.+",
      "^Total time:\\s+.+",
      "^Watching for file changes\\."
    ],
    "keepPatterns": [
      "^.+\\(\\d+,\\d+\\):\\s+error TS\\d+: .+",
      "^.+\\(\\d+,\\d+\\):\\s+warning TS\\d+: .+",
      "^Found \\d+ errors?.+",
      "^error TS\\d+: .+"
    ]
  },
  "summarize": {
    "head": 4,
    "tail": 4
  },
  "failure": {
    "preserveOnFailure": true,
    "head": 4,
    "tail": 6
  },
  "counters": [
    {
      "name": "typescript error",
      "pattern": "TS\\d+"
    },
    {
      "name": "error",
      "pattern": "error",
      "flags": "i"
    }
  ]
}
