Files
gsap-carousel/tsconfig.README.md

107 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Документация 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 компоненты