Files
gsap-carousel/tsconfig.README.md

107 lines
3.8 KiB
Markdown
Raw Normal View 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**: Настройка алиасов для импортов
```json
{
"@/*": ["./src/*"],
"*": ["./src/*"]
}
```
Позволяет импортировать файлы из `src` с использованием `@/` или без префикса
### Типы
- **types**: Глобальные типы для проекта
```json
["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):
```json
{
"compilerOptions": {
"module": "CommonJS"
}
}
```
## Включенные и исключенные файлы
### include
- `src` - Включить все файлы из директории src для компиляции
### exclude
- `.fttemplates/**/*` - Исключить шаблоны
- `node_modules` - Исключить зависимости
- `dist` - Исключить скомпилированные файлы
## Примеры использования
### Проверка типов
```bash
pnpm type-check
```
### Использование алиасов путей
```typescript
// Вместо:
import { Button } from '../../../shared/ui/Button'
// Можно писать с @ алиасом:
import { Button } from '@/shared/ui/Button'
// Или без префикса (для совместимости):
import { Button } from 'shared/ui/Button'
```
### JSX без импорта React
```typescript
// 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 компоненты