# `OXC.Lint.TypeAware`
[🔗](https://github.com/elixir-volt/oxc_ex/blob/v0.19.0/lib/oxc/lint/type_aware.ex#L1)

Runs type-aware TypeScript lint rules through tsgolint headless mode.

# `diagnostic`

```elixir
@type diagnostic() :: OXC.Lint.diagnostic()
```

# `option`

```elixir
@type option() ::
  {:type_aware, true}
  | {:rules,
     %{
       required(String.t()) =&gt;
         OXC.Lint.severity() | {OXC.Lint.severity(), term()}
     }}
  | {:plugins, [OXC.Lint.plugin()]}
  | {:tsgolint, String.t()}
  | {:type_check, boolean()}
  | {:report_syntactic, boolean()}
  | {:report_semantic, boolean()}
  | {:fix, boolean()}
  | {:fix_suggestions, boolean()}
  | {:source_overrides, %{required(String.t()) =&gt; String.t()}}
  | {:cwd, Path.t()}
```

# `severity`

```elixir
@type severity() :: OXC.Lint.severity()
```

# `parse_output`

Parse tsgolint headless output frames into raw findings, or the error messages it reported.

`severities` maps tsgolint rule names to their configured `t:OXC.Lint.severity/0`.

# `run`

```elixir
@spec run([String.t()], [option()]) ::
  {:ok, [diagnostic()]} | {:error, [diagnostic()]}
```

Run tsgolint on a list of files.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
