Skip to content

Конфигурация Create

Команда vp create читает блок create из файла vite.config.ts, чтобы использовать настройки по умолчанию для конкретного репозитория. Полное описание механизма шаблонов @org см. в руководстве Создание проекта.

create.defaultTemplate

Если vp create вызывается без аргумента TEMPLATE, Vite+ использует это значение так, как если бы пользователь указал его явно. Обычно здесь задаётся npm-область видимости, пакет @scope/create которой публикует манифест createConfig.templates, благодаря чему простой запуск vp create сразу открывает выбор шаблонов организации.

ts
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.

ts
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 могут обходить настроенное значение по умолчанию:

bash
# Используем create.defaultTemplate
vp create

# Явно игнорируем значение по умолчанию
vp create vite:library

В список выбора шаблонов организации также добавляется пункт «Vite+ built-in templates» («Встроенные шаблоны Vite+»). Его выбор переводит пользователя к шаблонам vite:monorepo, vite:application, vite:library и vite:generator, поэтому встроенные шаблоны остаются доступны через интерактивный интерфейс даже при настроенном значении по умолчанию.