2026-01-26 20:31:06 +03:00
|
|
|
|
# @gromlab/create
|
|
|
|
|
|
|
|
|
|
|
|
CLI-утилита для генерации файлов из шаблонов.
|
|
|
|
|
|
|
2026-01-27 12:33:11 +03:00
|
|
|
|
## Установка
|
|
|
|
|
|
|
|
|
|
|
|
Глобально:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
npm i -g @gromlab/create
|
|
|
|
|
|
```
|
|
|
|
|
|
При запуске CLI проверяет доступность новой версии. Если вы выбираете «нет»,
|
|
|
|
|
|
повторный запрос появится через 24 часа. Чтобы пропустить проверку, используйте
|
|
|
|
|
|
флаг `--skip-update`.
|
|
|
|
|
|
|
2026-01-27 13:07:44 +03:00
|
|
|
|
## Автодополнение
|
|
|
|
|
|
|
|
|
|
|
|
Сгенерируйте скрипт и подключите его в оболочке:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
gromlab-create completion --shell bash
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-27 12:33:11 +03:00
|
|
|
|
|
2026-01-26 20:31:06 +03:00
|
|
|
|
## Использование
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-01-27 12:33:11 +03:00
|
|
|
|
npx @gromlab/create <шаблон> <имя> [путь] [опции]
|
2026-01-26 20:31:06 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-27 12:33:11 +03:00
|
|
|
|
Если `[путь]` не указан, файлы создаются в директории, где запущен CLI.
|
|
|
|
|
|
|
2026-01-26 20:31:06 +03:00
|
|
|
|
## Пример
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Создать компонент из шаблона
|
|
|
|
|
|
npx @gromlab/create component Button
|
|
|
|
|
|
|
2026-01-27 12:33:11 +03:00
|
|
|
|
# Указать папку вывода позиционно
|
|
|
|
|
|
npx @gromlab/create component Button src/components
|
2026-01-26 20:31:06 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Шаблоны
|
|
|
|
|
|
|
|
|
|
|
|
Шаблоны хранятся в папке `.templates/`. Каждая подпапка — отдельный шаблон.
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
.templates/
|
|
|
|
|
|
└── component/
|
|
|
|
|
|
├── {{name.pascal}}/
|
|
|
|
|
|
│ ├── index.ts
|
|
|
|
|
|
│ ├── {{name.pascal}}.tsx
|
|
|
|
|
|
│ └── {{name.pascal}}.module.css
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Переменные
|
|
|
|
|
|
|
|
|
|
|
|
В именах файлов и содержимом доступны переменные:
|
|
|
|
|
|
- `{{name}}` — исходное значение
|
|
|
|
|
|
- `{{name.pascal}}` — PascalCase
|
|
|
|
|
|
- `{{name.camel}}` — camelCase
|
|
|
|
|
|
- `{{name.kebab}}` — kebab-case
|
|
|
|
|
|
- `{{name.snake}}` — snake_case
|
|
|
|
|
|
|
2026-01-27 12:33:11 +03:00
|
|
|
|
Переменная `name` задается только позиционным аргументом `<имя>`. Использование `--name` запрещено.
|
|
|
|
|
|
|
2026-01-26 20:31:06 +03:00
|
|
|
|
## Опции
|
|
|
|
|
|
|
|
|
|
|
|
| Опция | Описание |
|
|
|
|
|
|
|-------|----------|
|
|
|
|
|
|
| `--overwrite` | Перезаписать существующие файлы |
|
2026-01-27 12:33:11 +03:00
|
|
|
|
| `--skip-update` | Не проверять обновления CLI |
|
2026-01-26 20:31:06 +03:00
|
|
|
|
| `--<переменная> <значение>` | Произвольная переменная шаблона |
|