Конфигурация Create
Команда vp create читает блок create из файла vite.config.ts, чтобы использовать настройки по умолчанию для конкретного репозитория. Полное описание механизма шаблонов @org см. в руководстве Создание проекта.
create.defaultTemplate
Если vp create вызывается без аргумента TEMPLATE, Vite+ использует это значение так, как если бы пользователь указал его явно. Обычно здесь задаётся npm-область видимости, пакет @scope/create которой публикует манифест createConfig.templates, благодаря чему простой запуск vp create сразу открывает выбор шаблонов организации.
import { defineConfig } from 'vite-plus';
export default defineConfig({
create: {
defaultTemplate: '@your-org',
},
});Любое значение, которое vp create принимает в качестве первого аргумента, может использоваться и здесь: @your-org для выбора шаблона организации, @your-org:web для прямого указания записи из манифеста, vite:application для встроенного шаблона или name локальной записи из create.templates (см. ниже).
create.templates
Определяет локальные шаблоны, доступные команде vp create внутри монорепозитория. Каждая запись отображается в списке выбора vp create, а её выбор (или передача значения name в качестве аргумента шаблона) запускает соответствующий template.
import { defineConfig } from 'vite-plus';
export default defineConfig({
create: {
templates: [
{
name: 'component',
description: 'Internal UI component',
template: './tools/create-component',
},
{ name: 'service', description: 'Backend service', template: 'service-generator' },
],
},
});Каждая запись содержит:
| Поле | Обязательно | Примечания |
|---|---|---|
name | да | Идентификатор, отображаемый в списке выбора и принимаемый командой vp create <name>. Должен быть уникальным в пределах массива. Префикс vite: зарезервирован для встроенных шаблонов. |
description | да | Краткое описание, отображаемое в списке выбора. |
template | да | Имя пакета рабочего пространства, относительный путь ./path к каталогу локального пакета (разрешается относительно корня рабочего пространства), встроенный шаблон vite:*, URL GitHub или полное имя npm-пакета (например, create-foo). Используется как есть (без разворачивания сокращённых обозначений). |
create.templates является источником истины для локальных шаблонов: в списке выбора отображаются только записи, указанные здесь. Vite+ не определяет шаблоны автоматически по ключевым словам в package.json. Если запись в create.templates содержит значение template, которое не соответствует ни одному пакету рабочего пространства или разрешается в локальный пакет без bin, это считается ошибкой, а не приводит к попытке использовать какой-либо другой npm-пакет.
Команда vp create vite:generator автоматически добавляет сюда запись (идемпотентно, сохраняя значение defaultTemplate); список также можно редактировать вручную.
create.defaultTemplate может ссылаться на локальную запись, поэтому простой запуск vp create будет сразу открывать её.
Приоритет
Аргумент командной строки > create.defaultTemplate > стандартный список встроенных шаблонов.
Явно указанные значения всегда имеют приоритет, поэтому скрипты и CI могут обходить настроенное значение по умолчанию:
# Используем create.defaultTemplate
vp create
# Явно игнорируем значение по умолчанию
vp create vite:libraryВ список выбора шаблонов организации также добавляется пункт «Vite+ built-in templates» («Встроенные шаблоны Vite+»). Его выбор переводит пользователя к шаблонам vite:monorepo, vite:application, vite:library и vite:generator, поэтому встроенные шаблоны остаются доступны через интерактивный интерфейс даже при настроенном значении по умолчанию.