Миграция с tsup
tsup - это мощный и широко используемый бандлер, который во многом похож на tsdown. В то время как tsup построен на базе esbuild, tsdown использует возможности Rolldown, обеспечивая более быструю и мощную сборку.
Руководство по миграции
Если вы сейчас используете tsup и хотите перейти на tsdown, процесс миграции очень прост благодаря специальной команде migrate:
npx tsdown migrateWARNING
Пожалуйста, сохраните все ваши изменения перед миграцией. В процессе миграции могут быть изменены ваши конфигурационные файлы, поэтому важно заранее зафиксировать или создать резервную копию всех изменений.
Параметры миграции
Команда 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
tsdown также предоставляет новые возможности, которых нет в tsup:
nodeProtocol: Управление обработкой импортов встроенных модулей Node.js:true: Добавляет префиксnode:к встроенным модулям (например,fs→node:fs)'strip': Удаляет префиксnode:из импортов (например,node:fs→fs)false: Оставляет импорты без изменений (по умолчанию)
Пожалуйста, проверьте вашу конфигурацию после миграции, чтобы убедиться, что она соответствует вашим ожиданиям.
Благодарности
tsdown не был бы возможен без вдохновения и вклада open-source сообщества. Мы выражаем искреннюю благодарность следующим проектам и людям:
tsup:
tsdownво многом вдохновлёнtsupи даже использует части его кода. Простота и эффективностьtsupбыли ориентиром при разработкеtsdown.@egoist: Автор
tsup, чья работа существенно повлияла на экосистему инструментов для JavaScript и TypeScript. Спасибо за вашу преданность делу и вклад в сообщество.