Сейчас vite-plugin-create — это генератор файловой структуры. Он решает другую задачу: убрать рутину при создании сущностей, упростить масштабируемость, особенно в мультипроектных и командных средах. То есть — scaffold, а не интеграция.
Но ты прав: автоматическое подключение (например, добавление слайса в Redux или новой страницы в роутер) — это сильное улучшение, и я как раз думаю о расширении плагина в эту сторону.
Идея такая: при init плагин может спрашивать, какой стейт-менеджер используется (например, Redux, Zustand) — и предлагать указать файл слайсов, корневой стор или маршрутов. А дальше — делать вставку нужного импорта или вызова. Всё конфигурируемо, чтобы не было магии.
Если у тебя есть примеры таких кейсов или конкретные хотелки — буду рад, если поделишься. Можно даже завести issue, чтобы не потерять 👍
Да, одна из ключевых фич — это генерация нескольких файлов за одно действие (например, Component.tsx, index.ts, style.module.scss, test.tsx), что невозможно сделать обычным сниппетом.
Но есть и другие важные отличия:
🧱 Полноценная структура: сниппет работает внутри файла. vite-plugin-create создаёт папку, все нужные файлы и заполняет их из шаблонов.
🧠 Гибкость: шаблоны лежат в проекте и настраиваются через конфиг. Можно сделать свои генераторы (page, store, hook, и т.д.).
🤝 Один источник правды: в отличие от сниппетов, которые настраиваются отдельно в каждой IDE, шаблоны живут прямо в репозитории и одинаковы для всей команды.
💻 Не завязано на локальную машину: шаблоны не хранятся в профиле IDE или в настройках пользователя. Это часть проекта. Всё под контролем Git, CI/CD и командной среды.
Я, например, работаю и в WebStorm, и в VS Code, а проектов с разной структурой — много. И вместо того чтобы везде держать копии сниппетов, проще использовать один универсальный инструмент.
Так что vite-plugin-create — это скорее не альтернатива сниппетам, а следующий уровень автоматизации
Да, Plop.js — действительно мощный инструмент генерации, и мы вдохновлялись им в процессе. Главное отличие vite-plugin-create — фокус на простоту, zero-config старт и интеграцию с Vite.
В ближайших версиях планирую добавить интерфейс для генерации конфига и шаблонов (например, через CLI или веб). Хочется, чтобы всё было максимально прозрачно и удобно — даже для тех, кто раньше не использовал генераторы.
Да, вы правы — Plop.js решает похожую задачу. Но vite-plugin-create изначально заточен под проекты на Vite, и поэтому делает некоторые вещи проще «из коробки»:
- Автоматическая генерация конфигурации и шаблонов через init
- Поддержка TypeScript/JavaScript с выбором при установке (Этот пункт не описан в статье, так как это, а так же генерация custom блоков - фитча обновления 1.0.1. По ней статья только пишется)
- Предустановленные генераторы: компонент, страница, store и кастомные (Обновление 1.0.1)
- Гибкая настройка нейминга (PascalCase, camelCase и т.д.)
- Простая структура конфигурации без кода (JSON + Handlebars)
Plop — мощный и гибкий, но требует больше ручной настройки. Мы хотим, чтобы наш инструмент был полезен из коробки, особенно для Vite-разработчиков.
Будем рады фидбеку, особенно если вы пробовали Plop и знаете, чего в нём не хватало 😉
Спасибо! Очень интересный кейс — поддержка override'ов для мультибрендовых архитектур — действительно востребованная задача.
Мы подумаем над тем, как ввести поддержку брендов прямо в генерацию (например, --brand=BrandA и соответствующая структура шаблонов). Это может стать классной фичей для версии 1.x+
Если есть конкретный формат, который вам удобен — буду рад обсудить!
vite-tsconfig-paths — отличный плагин, сам им пользовался, но он не всегда подходит. У него есть пара особенностей, из-за которых я решил сделать свою альтернативу:
Во-первых, он требует tsconfig.json или jsconfig.json. А мне хотелось что-то более универсальное — чтобы можно было использовать алиасы и в обычных JS-проектах без конфигов, и в простых песочницах.
Во-вторых, в монорепах часто хочется хранить алиасы отдельно — например, в виде общей карты (importMap.json) и использовать её не только в Vite, но и в других инструментах. С моим плагином это легко.
Ну и в целом я хотел простой и предсказуемый инструмент — без магии, просто ключи → alias.
Так что это не “замена”, а скорее альтернатива под другие сценарии
Хороший поинт, спасибо!
Сейчас vite-plugin-create — это генератор файловой структуры. Он решает другую задачу: убрать рутину при создании сущностей, упростить масштабируемость, особенно в мультипроектных и командных средах. То есть — scaffold, а не интеграция.
Но ты прав: автоматическое подключение (например, добавление слайса в Redux или новой страницы в роутер) — это сильное улучшение, и я как раз думаю о расширении плагина в эту сторону.
Идея такая: при init плагин может спрашивать, какой стейт-менеджер используется (например, Redux, Zustand) — и предлагать указать файл слайсов, корневой стор или маршрутов. А дальше — делать вставку нужного импорта или вызова. Всё конфигурируемо, чтобы не было магии.
Если у тебя есть примеры таких кейсов или конкретные хотелки — буду рад, если поделишься. Можно даже завести issue, чтобы не потерять 👍
Да, одна из ключевых фич — это генерация нескольких файлов за одно действие (например, Component.tsx, index.ts, style.module.scss, test.tsx), что невозможно сделать обычным сниппетом.
Но есть и другие важные отличия:
🧱 Полноценная структура: сниппет работает внутри файла. vite-plugin-create создаёт папку, все нужные файлы и заполняет их из шаблонов.
🧠 Гибкость: шаблоны лежат в проекте и настраиваются через конфиг. Можно сделать свои генераторы (page, store, hook, и т.д.).
🤝 Один источник правды: в отличие от сниппетов, которые настраиваются отдельно в каждой IDE, шаблоны живут прямо в репозитории и одинаковы для всей команды.
💻 Не завязано на локальную машину: шаблоны не хранятся в профиле IDE или в настройках пользователя. Это часть проекта. Всё под контролем Git, CI/CD и командной среды.
Я, например, работаю и в WebStorm, и в VS Code, а проектов с разной структурой — много. И вместо того чтобы везде держать копии сниппетов, проще использовать один универсальный инструмент.
Так что vite-plugin-create — это скорее не альтернатива сниппетам, а следующий уровень автоматизации
Да, Plop.js — действительно мощный инструмент генерации, и мы вдохновлялись им в процессе.
Главное отличие vite-plugin-create — фокус на простоту, zero-config старт и интеграцию с Vite.
В ближайших версиях планирую добавить интерфейс для генерации конфига и шаблонов (например, через CLI или веб). Хочется, чтобы всё было максимально прозрачно и удобно — даже для тех, кто раньше не использовал генераторы.
Да, вы правы — Plop.js решает похожую задачу. Но
vite-plugin-createизначально заточен под проекты на Vite, и поэтому делает некоторые вещи проще «из коробки»:- Автоматическая генерация конфигурации и шаблонов через
init- Поддержка TypeScript/JavaScript с выбором при установке (Этот пункт не описан в статье, так как это, а так же генерация custom блоков - фитча обновления 1.0.1. По ней статья только пишется)
- Предустановленные генераторы: компонент, страница, store и кастомные (Обновление 1.0.1)
- Гибкая настройка нейминга (PascalCase, camelCase и т.д.)
- Простая структура конфигурации без кода (JSON + Handlebars)
Plop — мощный и гибкий, но требует больше ручной настройки. Мы хотим, чтобы наш инструмент был полезен из коробки, особенно для Vite-разработчиков.
Будем рады фидбеку, особенно если вы пробовали Plop и знаете, чего в нём не хватало 😉
Спасибо! Очень интересный кейс — поддержка override'ов для мультибрендовых архитектур — действительно востребованная задача.
Мы подумаем над тем, как ввести поддержку брендов прямо в генерацию (например,
--brand=BrandAи соответствующая структура шаблонов). Это может стать классной фичей для версии 1.x+Если есть конкретный формат, который вам удобен — буду рад обсудить!
Если будут ещё идеи или что-то покажется не хватает — обязательно пиши, допилю и учту. Буду рад обратной связи :)
Хороший вопрос, спасибо)
vite-tsconfig-paths — отличный плагин, сам им пользовался, но он не всегда подходит. У него есть пара особенностей, из-за которых я решил сделать свою альтернативу:
Во-первых, он требует tsconfig.json или jsconfig.json. А мне хотелось что-то более универсальное — чтобы можно было использовать алиасы и в обычных JS-проектах без конфигов, и в простых песочницах.
Во-вторых, в монорепах часто хочется хранить алиасы отдельно — например, в виде общей карты (importMap.json) и использовать её не только в Vite, но и в других инструментах. С моим плагином это легко.
Ну и в целом я хотел простой и предсказуемый инструмент — без магии, просто ключи → alias.
Так что это не “замена”, а скорее альтернатива под другие сценарии
Спасибо. Обновлю ссылки и в этой статье то же