Как: git-репозиторий с модулями NPM по умолчанию и его конфигурациями - PullRequest
0 голосов
/ 09 марта 2019

Я хотел бы иметь репозиторий с модулями NPM по умолчанию и его настройки для всех будущих проектов NPM. На данный момент конфиги состоят из tsconfig.json, tslint.json, .prettierrc. Цель состоит в том, чтобы иметь простой способ создания нового проекта с пользовательскими настройками по умолчанию, а также возможность изменять конфигурации для всех этих проектов из одного места.

Я попытался создать свой собственный модуль NPM с package.json, содержащий зависимости, которые я хочу иметь во всех моих новых проектах и ​​его конфигурациях в корне. Проблема очевидна - если я установлю этот пакет в новый проект, модули (и конфиги) будут ограничены моим пользовательским модулем, а не моим новым проектом.

Кто-нибудь знает, как с этим бороться?

1 Ответ

0 голосов
/ 09 марта 2019

Вы в основном делаете шаблон.Разрабатывайте его, я вижу два возможных подхода:

  1. Опубликуйте шаблон как модуль NPM.
  2. Создайте и опубликуйте шаблон на своем поставщике репозитория (Github, Bitbucket и т. Д.) И используйте егокак стартовый проект, который нужно разветвлять для каждого нового проекта, который вы строите.

Я предлагаю вам следовать второму подходу , которого легче достичь.

Вывместо этого стараемся следовать первому подходу, что более сложно.Для создания стартового проекта вы должны создать CLI (интерфейс командной строки).Поэтому вы создадите модуль NPM, который должен быть установлен глобально и который будет использоваться с набором команд, таких как:

myawesomecli generate my-new-starting-project

И модуль myawesomecli создаст папку my-new-start-project, содержащую вашшаблонный.При желании вы можете запросить у пользователя настройки, которые будут выбраны в интерактивном сеансе.Это то, что делают известные фреймворки, такие как React, Vue.js, Angular и т. Д.Вы можете следовать этому руководству, чтобы создать CLI, который генерирует шаблоны.Имейте в виду, что модуль inquier является ключевым для таких областей.

...