Обновить
2
0
DMITRII TITOV@dimatitov95

Пользователь

Отправить сообщение

Хороший поинт, спасибо!

Сейчас 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.

Так что это не “замена”, а скорее альтернатива под другие сценарии

Спасибо. Обновлю ссылки и в этой статье то же

Информация

В рейтинге
Не участвует
Откуда
Pôrto das Galinhas, Pernambuco, Бразилия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фронтенд разработчик
Старший
От 5 000 €
Git
REST
TypeScript
React
React Native
Redux
MobX