Файл конфигурации
По умолчанию tsdown будет искать файл конфигурации, просматривая текущий рабочий каталог и поднимаясь вверх по родительским директориям, пока не найдет один из них. Поддерживаются следующие имена файлов:
tsdown.config.tstsdown.config.mtstsdown.config.ctstsdown.config.jstsdown.config.mjstsdown.config.cjstsdown.config.jsontsdown.configКроме того, вы можете определить свою конфигурацию непосредственно в полеtsdownвашего файлаpackage.json.
Написание файла конфигурации
Файл конфигурации позволяет определять и настраивать параметры сборки централизованно и с возможностью повторного использования. Ниже приведен простой пример файла конфигурации tsdown:
import { defineConfig } from 'tsdown'
export default defineConfig({
entry: 'src/index.ts',
})Создание нескольких выходных файлов
tsdown также поддерживает возврат массива конфигураций из файла конфигурации. Это позволяет создавать несколько выходных файлов с разными настройками за один запуск. Например:
import { defineConfig } from 'tsdown'
export default defineConfig([
{
entry: 'src/entry1.ts',
platform: 'node',
},
{
entry: 'src/entry2.ts',
platform: 'browser',
},
])Указание пользовательского файла конфигурации
Если ваш файл конфигурации находится в другом месте или имеет другое имя, вы можете указать его путь с помощью опции --config (или -c):
tsdown --config ./path/to/configОтключение файла конфигурации
Чтобы полностью отключить загрузку файла конфигурации, используйте опцию --no-config:
tsdown --no-configЭто полезно, если вы хотите полагаться исключительно на параметры командной строки или настройки по умолчанию.
Загрузчики конфигурации
tsdown поддерживает несколько способов загрузки конфигурационных файлов, чтобы работать с разными форматами. Выбор загрузчика выполняется с помощью опции --config-loader. Доступны следующие варианты:
auto(по умолчанию): использует встроенную поддержку TypeScript в среде выполнения (если она есть), в противном случае переключается на загрузчикunconfig.native: загружает конфигурационные файлы TypeScript с помощью нативной поддержки среды (требуется современная среда, например, последние версии Node.js, Deno или Bun).unconfig: использует библиотекуunconfigдля загрузки конфигураций, что обеспечивает широкую совместимость с разными средами выполнения.unrun(экспериментально): загружает файлы конфигурации с помощью библиотекиunrun, обеспечивающей совместимость, схожую сunconfig, но с более высокой производительностью. Установите пакетunrun, чтобы использовать этот загрузчик.
TIP
Node.js по умолчанию не поддерживает импорт файлов TypeScript без указания расширения .ts. Если используется Node.js и нужно загрузить файл конфигурации TypeScript без расширения, рекомендуется применять загрузчик unconfig или unrun для удобства и совместимости.
Расширение конфигурации Vite или Vitest (экспериментально)
tsdown предоставляет экспериментальную функцию для расширения существующих файлов конфигурации Vite или Vitest. Это позволяет повторно использовать определенные параметры конфигурации, такие как resolve и plugins, игнорируя другие, не относящиеся к tsdown.
Чтобы включить эту функцию, используйте опцию --from-vite:
tsdown --from-vite # Загрузить vite.config.*
tsdown --from-vite vitest # Загрузить vitest.config.*Эта функция является **экспериментальной** и может не поддерживать все параметры конфигурации Vite или Vitest. Повторно используются только определенные опции, такие как `resolve` и `plugins`. Используйте с осторожностью и тщательно тестируйте в своем проекте.
Расширение конфигураций Vite или Vitest может сэкономить время и усилия, если ваш проект уже использует эти инструменты, позволяя строить на основе существующей настройки без дублирования конфигурации.
Справка
Полный список доступных параметров конфигурации см. в Справочнике по параметрам конфигурации. Это включает подробные объяснения всех поддерживаемых полей и их использования.