Плагины
tsdown
использует Rolldown в качестве основного движка, что обеспечивает полную совместимость с плагинами Rolldown. Плагины — это мощный инструмент для расширения и настройки процесса сборки: с их помощью можно реализовать трансформацию кода, работу с ассетами и многое другое.
Поддерживаемые экосистемы плагинов
Плагины Rolldown
Поскольку tsdown
построен на базе Rolldown, поддерживаются все плагины, разработанные для Rolldown. Вы можете использовать любые такие плагины для расширения возможностей сборки.
Unplugin
Unplugin — современная система плагинов, поддерживающая различные сборщики, включая Rolldown. Большинство плагинов Unplugin (обычно с префиксом unplugin-
) работают с tsdown
без дополнительных настроек.
Плагины Rollup
Rolldown во многом совместим с API плагинов Rollup, поэтому tsdown
поддерживает большинство плагинов из экосистемы Rollup без необходимости их доработки. Это открывает доступ к большому количеству уже существующих решений.
NOTE
Плагины Rollup иногда могут вызывать ошибки типов TypeScript, поскольку API плагинов Rollup и Rolldown не на 100% совместимы. Если вы столкнулись с ошибками типов при использовании плагинов Rollup, вы можете безопасно игнорировать их, используя комментарий // @ts-expect-error
или приведение плагина к типу any
:
import SomeRollupPlugin from 'some-rollup-plugin'
export default defineConfig({
plugins: [SomeRollupPlugin() as any],
})
Плагины Vite
Некоторые плагины Vite могут работать с tsdown
, если они не зависят от внутренних API или особенностей Vite. Однако плагины, тесно связанные с внутренней архитектурой Vite, скорее всего, не будут совместимы. В будущем планируется улучшить поддержку плагинов Vite.
NOTE
Аналогично, плагины Vite также могут вызывать ошибки типов из-за различий в API. При необходимости вы можете использовать // @ts-expect-error
или as any
для подавления этих ошибок.
Как использовать плагины
Чтобы использовать плагины в tsdown
, добавьте их в массив plugins
в вашем конфигурационном файле. Через CLI добавить плагины невозможно.
Пример использования плагина:
import SomePlugin from 'some-plugin'
import { defineConfig } from 'tsdown'
export default defineConfig({
plugins: [SomePlugin()],
})
Для получения подробной информации по использованию конкретного плагина обращайтесь к его документации.
Создание собственных плагинов
Если вы хотите разработать собственный плагин для tsdown
, следуйте руководству по созданию плагинов для Rolldown. API плагинов Rolldown очень гибкий и во многом похож на Rollup, что облегчает процесс разработки.
Подробную информацию вы найдёте в руководстве по разработке плагинов для Rolldown.
TIP
Плагины — отличный способ расширить функциональность tsdown
. Используйте готовые решения или создавайте свои собственные, чтобы адаптировать процесс сборки под нужды вашего проекта.