Недавно при разработке компонента для Compoze мы столкнулись с необходимостью запуска некоторой логики перед выполнением одной из наших команд.

Мы знали об обработчиках жизненного цикла первого класса, например postintall и preinstall, но не были уверены, поддерживает ли NPM обработчики для пользовательских команд. После быстрого просмотра документов выясняется, что в NPM есть простое соглашение для применения хуков к любой команде!

Вот выдержка из документов:

npm run <user defined>

  • pre<user-defined>
  • <user-defined>
  • post<user-defined>

Чтобы указать NPM выполнить вашу логику, просто добавьте слово «pre» или
«post» к имени вашей пользовательской команды. Затем NPM выполнит вашу логику либо до, либо после, соответственно.

Например, если мы хотим, чтобы наше приложение было создано до развертывания, мы могли бы настроить задачу «предварительного развертывания», которая создает наше приложение.

Теперь мы можем убедиться, что наше приложение создано, прежде чем приступать к развертыванию!