Перейти к содержимому

Плагины ​

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.