Хуки
Вдохновленный unbuild, tsdown
поддерживает гибкую систему хуков, позволяющую расширять и настраивать процесс сборки. Хотя мы рекомендуем использовать систему плагинов для большинства расширений, связанных со сборкой, хуки предоставляют удобный способ добавления плагинов Rolldown или выполнения дополнительных задач на определённых этапах жизненного цикла сборки.
Использование
Вы можете определить хуки в конфигурационном файле двумя способами:
Передача объекта
Определите свои хуки как объект, где каждый ключ - имя хука, а значение - функция:
import { defineConfig } from 'tsdown'
export default defineConfig({
hooks: {
'build:done': async () => {
await doSomething()
},
},
})
Передача функции
Альтернативно, вы можете передать функцию, которая получает объект хуков, позволяя регистрировать их программно:
import { defineConfig } from 'tsdown'
export default defineConfig({
hooks(hooks) {
hooks.hook('build:prepare', () => {
console.log('Hello World')
})
},
})
Для получения дополнительной информации об использовании хуков обратитесь к документации hookable.
Доступные хуки
Подробные определения типов можно найти в src/features/hooks.ts
.
build:prepare
Вызывается перед началом каждой сборки tsdown. Используйте этот хук для выполнения подготовительных задач.
build:before
Вызывается перед каждой сборкой Rolldown. Для сборки в двух форматах (dual-format) этот хук вызывается для каждого формата. Полезен для настройки или модификации контекста сборки перед началом бандлинга.
build:done
Вызывается после завершения каждой сборки tsdown. Используйте этот хук для задач очистки или постобработки.