Как сделать свой командный инсталятор для npm пакета?
Доброго времени суток!
Заинтересовала одна вещь, как делают установщики для пакетов по типу react-create-app или vue-cli.
Толком информации не нашел, в исходниках тоже мало информации, хотя скорее всего, просто не знаю куда смотреть.
В гугл стучал, но толком ничего не нашел.
Подскажите куда копать
vue-cli, а конкретно команда vue init работает предельно просто:
1. скачивает шаблон с github (возможно умеет и с любого git репозитория, не проверял, в доке есть bitbucket) в /tmp
2. реквайрит из него файл meta.json или mata.js и получает из него параметры
3. опрашивает пользователя согласно полученным параметрам и заполняет переменные для шаблонизатора
4. создает папку проекта
5. каждый файл из папки template в шаблоне прогоняет через текстовый шаблонизатор (вроде как handlebars) и сохраняет результат в папке проекта
6. удаляет шаблон и прочие временные файлы
по npm: есть такая вещь как pre и post хуки, которые можно задать практически для любой встроенной команды npm в секции scripts в package.json, например preinstall (выполнится перед npm install) или postinstall (после npm install)