Есть ли рекомендуемый способ создания согласованных шаблонов проектов при работе с современными инструментами JavaScript?
В настоящее время для моей работы новые проекты потребуют некоторой комбинации:
- Webpack
- Babel (ES Next)
- ESLint
- Машинопись
- Vue / React (рамки)
- Framework Router + Redux / Vuex Framework
- Среда тестирования
Им потребовались некоторые усилия, чтобы ознакомиться с конфигурациями и заставить их работать вместе.
Теперь у меня есть git-репо для каждой конфигурации, которую можно клонировать для проекта, например webpack-babel-eslint
, webpack-babel-eslint-typescript
, webpack-babel-eslint-typescript-vue
и т. Д.
Это решает проблему быстрой инициализации проектов, но требует внесения изменений в конфигурацию веб-пакета (например) в каждой конфигурации репозитория, когда происходит изменение, вместо того, чтобы настраивать базовую конфигурацию веб-пакета в одном месте и предоставлять ее для совместного использования.
Я видел такие инструменты, как Yeomon, но я очень сочувствую ощущению, что это «еще один инструмент» в и без того пугающем ландшафте. Я также видел, как структура monorepo Lerna выглядит так, как будто ее можно использовать для изоляции всех этих репо, но для меня это имеет смысл больше для традиционных пакетов, а не для стандартных активов.
Есть ли способ поддерживать конфигурации наших проектов надежным, редактируемым способом, позволяющим быстро создавать прототипы, например, Create React App или Vue-Cli?