# typescript

> TypeScript files: the strict compiler and the shipped lint and structure rules.

TypeScript files: the strict compiler and the shipped lint and structure rules. It requires [`javascript`](/reference/configurations/javascript/). The [JavaScript and TypeScript guide](/languages/javascript-typescript/) explains the setup.

## Checks

| Check                                                           | Stage    | Level         | What it does                                                                                                                                                                                                                          |
| --------------------------------------------------------------- | -------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`typescript/tsc`](/reference/checks/typescript/tsc/)           | `push`   | `recommended` | Runs tsc with the strict compiler options over every TypeScript file.                                                                                                                                                                 |
| [`typescript/tsconfig`](/reference/checks/typescript/tsconfig/) | `commit` | `recommended` | Requires strict in every tsconfig you write. Level all also requires noUncheckedIndexedAccess, exactOptionalPropertyTypes, noImplicitOverride, noFallthroughCasesInSwitch, noImplicitReturns, and noPropertyAccessFromIndexSignature. |

## Selected when

gspot selects it in a scope with file extensions `.ts`, `.tsx`, `.mts`, `.cts`, or filenames `tsconfig.json`. A configuration that requires it selects it too: [`nestjs`](/reference/configurations/nestjs/), [`nextjs`](/reference/configurations/nextjs/).

## Rules for coding agents

| Rule file                                                       | Installed when |
| --------------------------------------------------------------- | -------------- |
| `.gspot/configurations/language/typescript/rules/TYPESCRIPT.md` | Always         |

## Tools and versions

| Tool              | Version  |
| ----------------- | -------- |
| typescript-eslint | `8.70.0` |
