53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
|
|
# Возможности CLI
|
|||
|
|
|
|||
|
|
Ниже перечислены текущие возможности `@gromlab/create`.
|
|||
|
|
|
|||
|
|
## Основные
|
|||
|
|
|
|||
|
|
- Генерация файлов и папок по шаблонам из каталога `.templates/`.
|
|||
|
|
- Обязательный позиционный аргумент `<имя>` (переменная `name`).
|
|||
|
|
- Опциональный позиционный `[путь]` — папка вывода (по умолчанию текущая директория).
|
|||
|
|
- Произвольные переменные шаблонов через `--<var> <value>`.
|
|||
|
|
- Подстановка переменных в **содержимом** файлов и **путях**.
|
|||
|
|
|
|||
|
|
## Модификаторы переменных
|
|||
|
|
|
|||
|
|
Поддерживаются модификаторы для `{{var}}`:
|
|||
|
|
- `{{name.pascalCase}}`
|
|||
|
|
- `{{name.camelCase}}`
|
|||
|
|
- `{{name.snakeCase}}`
|
|||
|
|
- `{{name.kebabCase}}`
|
|||
|
|
- `{{name.screamingSnakeCase}}`
|
|||
|
|
- `{{name.upperCase}}`
|
|||
|
|
- `{{name.lowerCase}}`
|
|||
|
|
- `{{name.upperCaseAll}}`
|
|||
|
|
- `{{name.lowerCaseAll}}`
|
|||
|
|
|
|||
|
|
## Режимы и защита от перезаписи
|
|||
|
|
|
|||
|
|
- `--overwrite` — разрешает перезапись существующих файлов.
|
|||
|
|
- Проверка коллизий файлов и существующих директорий (с понятными ошибками/предупреждениями).
|
|||
|
|
|
|||
|
|
## Отчёт и визуализация
|
|||
|
|
|
|||
|
|
- Печать итогового отчёта: имя, путь(и), дерево файлов, список переменных.
|
|||
|
|
|
|||
|
|
## Диагностика и подсказки
|
|||
|
|
|
|||
|
|
- Подробные ошибки валидации аргументов.
|
|||
|
|
- Список доступных шаблонов, если запрошенный не найден.
|
|||
|
|
- Подсказки для недостающих переменных.
|
|||
|
|
- `-h`/`--help` — вывод справки.
|
|||
|
|
- `--skip-update` — запуск без проверки обновлений.
|
|||
|
|
|
|||
|
|
## Обновления CLI
|
|||
|
|
|
|||
|
|
- При запуске (не через `npx`) проверяется доступность новой версии в npm.
|
|||
|
|
- Если пользователь отвечает «нет», повторный запрос появится через 24 часа.
|
|||
|
|
- В неинтерактивном режиме (без TTY) запрос не показывается.
|
|||
|
|
|
|||
|
|
## Бины
|
|||
|
|
|
|||
|
|
- Основной бин: `gromlab-create`.
|
|||
|
|
- Дополнительный алиас: `create`.
|