Начало работы
🚧 Бета-версия
Rolldown сейчас находится в бета-версии. Хотя он уже может обрабатывать большинство задач продакшн-уровня, в нём всё ещё могут быть ошибки и недоработки.
Установка
Существует несколько способов начать работу с tsdown:
- Установить вручную в качестве зависимости для разработки в вашем проекте.
- Использовать стартовые шаблоны для быстрого создания структуры нового проекта.
- Попробовать онлайн с помощью StackBlitz.
Ручная установка
Установите tsdown как зависимость разработки, используя ваш предпочитаемый менеджер пакетов:
npm install -D tsdownpnpm add -D tsdownyarn add -D tsdownbun add -D tsdownПри желании, если вы не используете isolatedDeclarations, вам также следует установить TypeScript в качестве зависимости для разработки:
npm install -D typescriptpnpm add -D typescriptyarn add -D typescriptbun add -D typescriptПримечание о совместимости
tsdown требует Node.js версии 20.19 или выше. Пожалуйста, убедитесь, что ваша среда разработки соответствует этому требованию перед установкой. Хотя tsdown в основном тестируется с Node.js, поддержка Deno и Bun является экспериментальной и может работать не так, как ожидается.
Cтартовые шаблоны
Для ещё более быстрого начала работы вы можете использовать CLI-инструмент create-tsdown, который предоставляет набор стартовых шаблонов для создания библиотек на чистом TypeScript, а также фронтенд-библиотек для React и Vue.
npm create tsdown@latestpnpm create tsdown@latestyarn create tsdown@latestbun create tsdown@latestЭти шаблоны включают готовые к использованию конфигурации и лучшие практики для сборки, тестирования и проверки кода TypeScript-проектов.
Попробуйте онлайн
Вы можете попробовать tsdown прямо в браузере с помощью StackBlitz:
Этот шаблон уже настроен для tsdown, поэтому вы можете экспериментировать и начать работу быстро — никакой локальной настройки не требуется.
Использование CLI
Чтобы убедиться, что tsdown установлен правильно, выполните следующую команду в директории вашего проекта:
./node_modules/.bin/tsdown --versionВы также можете изучить доступные параметры CLI и примеры с помощью:
./node_modules/.bin/tsdown --helpВаш первый бандл
Давайте создадим два исходных файла TypeScript:
import { hello } from './hello.ts'
hello()export function hello() {
console.log('Hello tsdown!')
}Затем создайте файл конфигурации tsdown:
import { defineConfig } from 'tsdown'
export default defineConfig({
entry: ['./src/index.ts'],
})Теперь выполните следующую команду, чтобы собрать ваш код:
./node_modules/.bin/tsdownВы должны увидеть собранный файл в dist/index.mjs. Чтобы убедиться, что всё работает, запустите этот файл:
node dist/index.mjsВы должны увидеть сообщение Hello tsdown!, выведенное в консоль.
Использование CLI в скриптах npm
Для упрощения команды вы можете добавить её в скрипты вашего package.json:
{
"name": "my-tsdown-project",
"type": "module",
"scripts": {
"build": "tsdown"
},
"devDependencies": {
"tsdown": "^0.9.0"
}
}Теперь вы можете собрать свой проект с помощью:
npm run buildИспользование файла конфигурации
Хотя вы можете использовать CLI напрямую, для более сложных проектов рекомендуется использовать конфигурационный файл. Это позволяет вам определять и управлять настройками сборки централизованно и многоразово.
Для получения более подробной информации обратитесь к документации по файлу конфигурации.
Использование плагинов
tsdown поддерживает плагины для расширения его функциональности. Вы можете использовать плагины Rolldown, Unplugin и большинство плагинов Rollup без проблем. Чтобы использовать плагины, добавьте их в массив plugins в вашем файле конфигурации. Например:
import SomePlugin from 'some-plugin'
import { defineConfig } from 'tsdown'
export default defineConfig({
plugins: [SomePlugin()],
})Для получения более подробной информации обратитесь к документации по плагинам.
Использование режима наблюдения (Watch Mode)
Вы можете включить режим наблюдения для автоматической пересборки вашего проекта при изменении файлов. Это особенно полезно во время разработки для оптимизации вашего рабочего процесса. Используйте параметр --watch (или -w):
tsdown --watchДля получения более подробной информации обратитесь к документации по режиму наблюдения.