Skip to content

Плагины

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:

ts
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 добавить плагины невозможно.

Пример использования плагина:

tsdown.config.ts
ts
import SomePlugin from 'some-plugin'
import { defineConfig } from 'tsdown'

export default defineConfig({
  plugins: [SomePlugin()],
})

Для получения подробной информации по использованию конкретного плагина обращайтесь к его документации.

Создание собственных плагинов

Если вы хотите разработать собственный плагин для tsdown, следуйте руководству по созданию плагинов для Rolldown. API плагинов Rolldown очень гибкий и во многом похож на Rollup, что облегчает процесс разработки.

Подробную информацию вы найдёте в руководстве по разработке плагинов для Rolldown.

TIP

Плагины — отличный способ расширить функциональность tsdown. Используйте готовые решения или создавайте свои собственные, чтобы адаптировать процесс сборки под нужды вашего проекта.

Распространяется под лицензией MIT.