Files
gsap-carousel/tsconfig.README.md

3.8 KiB
Raw Blame History

Документация tsconfig.json

Описание

Конфигурация TypeScript компилятора для проекта only-task. Определяет параметры компиляции TypeScript кода в JavaScript.

Основные настройки компилятора (compilerOptions)

Выходные файлы

  • outDir: ./dist/ - Директория для скомпилированных файлов

Проверка типов

  • noImplicitAny: true - Запрет неявного типа any
  • strict: true - Включить все строгие проверки типов

Модули

  • module: ESNext - Использование современных ES модулей
  • target: es5 - Компиляция в ES5 для максимальной совместимости с браузерами
  • moduleResolution: node - Разрешение модулей как в Node.js

React и JSX

  • jsx: react-jsx - Автоматический JSX transform для React 19
    • Не требует импорта React в каждом файле
    • Использует новый JSX runtime

Совместимость

  • allowJs: true - Разрешить импорт .js файлов в TypeScript
  • esModuleInterop: true - Совместимость с CommonJS модулями
  • allowSyntheticDefaultImports: true - Разрешить default импорты из модулей без default export

Пути и алиасы

  • baseUrl: . - Базовый путь для разрешения модулей
  • paths: Настройка алиасов для импортов
    {
      "@/*": ["./src/*"],
      "*": ["./src/*"]
    }
    
    Позволяет импортировать файлы из src с использованием @/ или без префикса

Типы

  • types: Глобальные типы для проекта
    ["node", "jest", "@testing-library/jest-dom"]
    
    • node - типы Node.js API
    • jest - типы для Jest тестов
    • @testing-library/jest-dom - типы для дополнительных матчеров Jest

Настройки ts-node

Специальные настройки для выполнения TypeScript файлов через ts-node (используется webpack для загрузки webpack.config.ts):

{
  "compilerOptions": {
    "module": "CommonJS"
  }
}

Включенные и исключенные файлы

include

  • src - Включить все файлы из директории src для компиляции

exclude

  • .fttemplates/**/* - Исключить шаблоны
  • node_modules - Исключить зависимости
  • dist - Исключить скомпилированные файлы

Примеры использования

Проверка типов

pnpm type-check

Использование алиасов путей

// Вместо:
import { Button } from '../../../shared/ui/Button'

// Можно писать с @ алиасом:
import { Button } from '@/shared/ui/Button'

// Или без префикса (для совместимости):
import { Button } from 'shared/ui/Button'

JSX без импорта React

// React 19 с автоматическим JSX transform
// Не нужно импортировать React!
const App = () => {
  return <div>Hello World</div>
}

Связанные файлы

  • webpack.config.ts - использует эту конфигурацию
  • eslint.config.mjs - проверяет TypeScript код
  • src/**/*.ts - исходные TypeScript файлы
  • src/**/*.tsx - исходные React компоненты