Skip to content

Миграция с tsup

tsup - это мощный и широко используемый бандлер, который во многом похож на tsdown. В то время как tsup построен на базе esbuild, tsdown использует возможности Rolldown, обеспечивая более быструю и мощную сборку.

Руководство по миграции

Если вы сейчас используете tsup и хотите перейти на tsdown, процесс миграции очень прост благодаря специальной команде migrate:

bash
npx tsdown migrate

WARNING

Пожалуйста, сохраните все ваши изменения перед миграцией. В процессе миграции могут быть изменены ваши конфигурационные файлы, поэтому важно заранее зафиксировать или создать резервную копию всех изменений.

Параметры миграции

Команда migrate поддерживает следующие параметры для настройки процесса миграции:

  • --cwd <dir> (или -c): Указывает рабочую директорию для миграции.
  • --dry-run (или -d): Выполняет пробный запуск миграции без внесения изменений.

С помощью этих опций вы легко сможете адаптировать процесс миграции под нужды вашего проекта.

Отличия от tsup

Хотя tsdown стремится быть максимально совместимым с tsup, есть некоторые различия, о которых стоит знать:

Значения по умолчанию

  • format: По умолчанию используется esm.
  • clean: Включено по умолчанию, и директория вывода (outDir) будет очищаться перед каждой сборкой.
  • dts: Автоматически включается, если в вашем package.json есть поле typings или types.
  • target: По умолчанию считывается из поля engines.node в вашем файле package.json, если оно доступно.

Различия в функциональности

Некоторые функции, доступные в tsup, пока ещё не реализованы в tsdown. Если вы обнаружите, что какой-то опции не хватает, пожалуйста, создайте issue, чтобы сообщить нам о ваших требованиях.

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

Благодарности

tsdown не был бы возможен без вдохновения и вклада open-source сообщества. Мы выражаем искреннюю благодарность следующим проектам и людям:

  • tsup: tsdown во многом вдохновлён tsup и даже использует части его кода. Простота и эффективность tsup были ориентиром при разработке tsdown.

  • @egoist: Автор tsup, чья работа существенно повлияла на экосистему инструментов для JavaScript и TypeScript. Спасибо за вашу преданность делу и вклад в сообщество.

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