API Reference
Configuration Options

Configuration Options

TshipConfig

PropertyTypeDescription
formats("cjs" | "esm")[]Output formats (only when tship is active; default: ["esm"])
outDirs{ cjs?: string; esm?: string }Custom output directories per format
outDirstringSingle directory for all formats (overrides outDirs)
autoExportsboolean | AutoExportsOptionsAuto-generate package.json exports
pluginsTshipPlugin[]Build pipeline plugins
projectstringPath to tsconfig.json
cjsModulestringOverride module for CJS builds (must be "CommonJS")
cjsModuleResolutionstringOverride moduleResolution for CJS builds (must be "Node10")
esmModulestringOverride module for ESM builds (e.g. "ESNext", "NodeNext")
esmModuleResolutionstringOverride moduleResolution for ESM builds (e.g. "NodeNext")

AutoExportsOptions

PropertyTypeDescription
generatebooleanGenerate conditional exports for each format
typesVersionsbooleanAdd typesVersions for older TypeScript

Output directory priority

  1. tship.outDir (single directory for all formats)
  2. tship.outDirs (per-format, merged with defaults)
  3. compilerOptions.outDir from tsconfig (shared by all formats)
  4. dist/cjs and dist/esm (built-in default)