Для чего нужен файл tsconfig.json в TypeScript-проекте?

«Для чего нужен файл tsconfig.json в TypeScript-проекте?» — вопрос из категории TypeScript, который задают на 26% собеседований Node.js Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Файл tsconfig.json — это конфигурационный файл компилятора TypeScript (tsc). Он определяет, как TypeScript-код должен быть преобразован в JavaScript, и задаёт правила для проверки типов.

Ключевые разделы конфигурации:

  • compilerOptions: Самый важный раздел. Задаёт целевой стандарт JavaScript, систему модулей, строгость проверки типов и путь для выходных файлов.
  • include / exclude: Определяет, какие файлы должны компилироваться.
  • extends: Позволяет наследовать настройки из другой конфигурации (например, базового конфига компании).

Пример конфигурации для Node.js проекта:

{
  "compilerOptions": {
    "target": "ES2022",          // Целевая версия ECMAScript
    "module": "CommonJS",        // Система модулей для Node.js
    "outDir": "./dist",          // Папка для скомпилированных .js файлов
    "rootDir": "./src",          // Корневая папка с исходным кодом .ts
    "strict": true,              // Включает все строгие проверки типов
    "esModuleInterop": true      // Упрощает работу с CommonJS-модулями
  },
  "include": ["src/**/*"],       // Компилировать все файлы в папке src
  "exclude": ["node_modules", "**/*.test.ts"]
}

Без tsconfig.json компилятор использует значения по умолчанию, которые часто не подходят для реальных проектов.