mcpField
T
tsdown

tsdown

github.com/dobroslavradosavljevic開発339 回インストール2 日前に更新
リポジトリ

tsdown について

tsdown で TypeScript ライブラリをビルドする開発者向けのワークフロースキルです。ビルド、型宣言、エクスポート、依存関係、tsup からの移行を扱い、現行 API と成果物、パッケージ利用の確認を重視します。

主な機能

  1. 01ビルド設定と CLI の指針
  2. 02型宣言とエクスポートの設定指針
  3. 03依存関係のバンドル制御
  4. 04プラグイン、CSS、ワークスペースの指針
  5. 05tsup とバージョン移行の指針

活用シーン

  1. 01TypeScript ライブラリのビルド設定
  2. 02生成された型宣言とエクスポートの確認
  3. 03依存関係の外部化方法の調整
  4. 04プロジェクトの tsup からの移行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dobroslavradosavljevic/skills --skill tsdown

インストール後、Claude Code で/tsdownを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
config-cli.md
dts-exports-deps.md
migrate-from-tsup.md
plugins-css-workspace.md
source-map.md
usage-guide.md

詳細

tsdown

tsdown に関わる作業(ライブラリのビルド、tsdown.config、dts/exports、依存関係の外部化、watch/unbundle、CSS/プラグイン/ワークスペース、0.22 → 0.23 へのアップグレード、または tsup からの移行)では、このスキルを使用してください。

スナップショット:[email protected](2026-10-01)。バージョンが異なる場合は、source-map.md を参照して更新してください。

ワークフロー

  1. ローカルの tsdown の状況を確認します。
    • パッケージのバージョン([email protected] を推奨。スナップショットは 0.23.0)。ツールを実行するために必要な Node のバージョン:^22.18.0 || ^24.11.0 || >=26.0.0(Node 25 は 0.23 でサポート対象外になりました)。
    • 設定:tsdown.config.ts / package.json#tsdown、ピア依存関係(typescript、@tsdown/css、publint など)。
    • package.json の type、exports、types、engines.node(ターゲット/dts の自動検出に使用されます)。
    • tsup から移行するかどうか(external、entryPoints、bundle: false など)。
  2. 日常的な使い方については、まず usage-guide.md に従ってください。
  3. バージョンに差異がある場合はドキュメントを更新します。source-map.md から始めてください。
  4. 詳細については、次を参照してください。
  5. 現行の API を優先してください:entry、deps.neverBundle / alwaysBundle / onlyBundle、unbundle、copy、cjsDefault、dts.generator。CJS はメンテナンス用として扱い、新しいライブラリでは ESM のみを推奨します。
  6. bunx tsdown(またはプロジェクトの build)で検証し、dist と exports/types を確認してから、スモークインポートでパッケージを利用します。

基本的な判断基準

  • tsdown は Rolldown + Oxc を基盤とするライブラリバンドラーです。tsup の精神的な後継ですが、アプリ向けのバンドラーではありません。
  • デフォルト値は tsup と異なります:format: 'esm'、clean: true、dts は package.json の types/exports から自動判定されることが多く、ターゲットは engines.node から判定されます。
  • 非推奨の external / noExternal より deps.neverBundle / alwaysBundle を優先してください(0.23 でも引き続き使用できますが、両方の形式を設定するとエラーになります)。
  • 0.23 では tsup 互換オプション(bundle、outExtension、publicDir、removeNodeProtocol、injectStyle、inlineOnly、skipNodeModulesBundle、deps.onlyAllowBundle、dts.cjsReexport)が削除されました。これらは型チェックに失敗し、実行時には無視されます。
  • 依存関係のデフォルトポリシー:パッケージの dependencies/peers は外部化されます。使用される devDependencies はバンドルされる場合があります。想定と異なる場合は deps で上書きしてください。
  • dts を生成するには typescript をインストールしてください。ジェネレーターを選択する場合は dts.generator: 'oxc' | 'tsc' | 'tsgo' のみを使用してください(省略時は isolatedDeclarations の場合に oxc、TypeScript 7 がインストールされている場合に tsgo、それ以外では tsc が選択されます)。dts.oxc: true / dts.tsgo: true では、ジェネレーターを選択できなくなりました。
  • 0.23 では deps.resolveDepSubpath のデフォルトは false です。外部のサブパスは記述されたまま維持されます。
  • build() はハンドルを返します:const { bundles, watch } = await build(...)。
  • @tsdown/css / @tsdown/exe を使用する場合、tsdown とバージョンを一致させる必要があります。
  • スタブモードはありません。--watch および/または exports.devExports を使用してください。
  • コード分割は常に有効です。splitting: false はありません。
  • 0.22 または tsup からアップグレードする場合は、まず 0.22.14 で非推奨警告がゼロの状態で一度ビルドしてから、0.23 に移行してください(tsdown-migrate は最初の段階で 0.22.14 に固定します)。
  • コマンド例では bun / bunx を優先してください。

検証

リポジトリが提供するコマンドを優先してください。tsdown に関する重要な作業では、該当する項目を確認してください。

  • bunx tsdown --version を実行し、CLI の Node エンジン要件を確認します。
  • クリーンビルドを実行します:bunx tsdown / bun run build。dist のフォーマットと拡張子(.mjs/.cjs/.js)を確認します。
  • 型:依存パッケージから .d.ts / exports.types を利用するか、tsc を実行します。
  • デュアルフォーマット:format に両方が含まれる場合は、require と import のスモークテストを行います。
  • exports: true の設定後:有効になっている場合は publint/attw で package.json を検証します。
  • 移行:アップグレード前に 0.22.14 で非推奨警告がゼロであることを確認します。0.23 へのアップグレード後は、削除されたオプションが残っておらず、attw が引き続き合格することを確認します(デフォルトのプロファイルは esm-only になりました)。

実施した確認と実施しなかった確認、および未解決のバージョンに関する前提を報告してください。

コメント