TIL, что в npm есть lifecycle scripts. Перед и после стандартных команд типа
dev, build, test есть "хуки", на которые можно подцепить нужные дополнительные команды.
npm run dev | predev → dev → postdev
npm run build | prebuild → build → postbuild
npm test | pretest → test → posttest
Добавляете в
package.json скрипт с префиксом pre или post — npm запустит их с соответствующем порядке:
{
"scripts": {
"build:client": "node esbuild.client.mjs",
"predev": "npm run build:client"
"dev": "tsx src/server/index.ts",
}
}
Сначала
predev соберёт клиент, dev запустит сервер.Полезно, когда перед запуском надо что-то подготовить — собрать ассеты, проверить типы, создать папки.
Что можно с этим сделать:
-
prepublishOnly — проверки перед публикацией пакета в npm-
prebuild — генерация кода или очистка папки dist-
postinstall — автоматические действия после npm installДока
#Лаборатория_веб_платформы
@web_platform | Поддержать платформу 💕