import {Meta} from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/ru/scripts/Classes/ComponentCreator - Автоматическое создание компонентов'/>

# Класс ComponentCreator

Утилитный класс для автоматизации создания скелета компонентов в пустых директориях. Он проактивно идентифицирует папки внутри директории компонентов, в которых отсутствуют файлы, и инициализирует их, используя стандартные шаблоны проекта.

## Ключевые особенности

- **Автоматическое обнаружение** — рекурсивно сканирует директорию компонентов для поиска пустых папок.
- **Умное создание (Scaffolding)** — автоматически запускает процесс создания для каждой идентифицированной директории.
- **Согласованность проекта** — гарантирует, что все новые компоненты начинаются с одинаковой базовой структуры и файлов.

## Инициализация

Инициализируйте новый экземпляр `ComponentCreator`. Он автоматически нацеливается на стандартную директорию компонентов, определенную в конфигурации проекта.

```typescript
import { ComponentCreator } from '@dxtmisha/scripts'

const creator = new ComponentCreator()
```

## Методы

### `make`

Основной метод оркестрации, который выполняет рекурсивное сканирование директории компонентов, идентифицирует папки без файлов и запускает процесс заполнения (`ComponentItem`) для каждой из них.

**Возвращает:** `void`

## Примеры

### Полный процесс создания
Запуск создателя как части сценария сборки или подготовки гарантирует, что даже созданные вручную пустые папки будут правильно инициализированы необходимыми файлами (`index.ts`, `types.ts` и т.д.).

```javascript
const creator = new ComponentCreator()
creator.make()
```
