期間: 2026-09-24 〜 2026-09-27 · PR 6 件(新機能 2 / 変更・修正 2 / その他 2)

新機能

ビルドオーケストレーター API(createBuildOrchestrator)を追加(#64158)

何ができるようになったか

TS 6 より前で SolutionBuilder と呼ばれていた機能を、プログラム的 API として実装した(#63875 の一部)。TS 7.1 では BuildOrchestrator という名前になる。

  • 使い方: await using orchestrator = api.createBuildOrchestrator(["/c/tsconfig.json"], { cwd: "/" }); として orchestrator.build() を呼ぶ。メソッドは build(project?) / buildReferences(project) / clean(project?) / cleanReferences(project?)
  • 戻り値: BuildResponse(status・diagnostics?・statistics)。clean 系は CleanBuildResponse で、削除したファイルの filesDeleted? も返す
  • オプション: BuildOrchestratorOptions の cwd・dry・force・verbose・stopBuildOnErrors・overrideCompilerOptions(incremental・declaration・declarationMap・emitDeclarationOnly などを上書き)

⏳ 未リリース · トピック: プログラム的API、ビルドとファイル監視

api-extractor が使う AST ヘルパーを追加(#64439)

何ができるようになったか

api-extractor が使う AST のヘルパー関数が API に追加された。

  • 追加された関数: isExternalModule(sourceFile)、getCombinedModifierFlags(declaration)、getNameOfDeclaration(declaration)

⏳ 未リリース · トピック: プログラム的API

変更・修正

createSourceFile で作ったファイルを parse キャッシュに載せ、破棄可能な lease を返すように(#64434)

Before

api.createSourceFile / api.createSourceFileFromFile は、単独のソースファイルをそのまま返していた。

After

クライアント・サーバーの両方でグローバルな parse キャッシュから取得し、破棄可能な lease(lease.sourceFile でファイルを取得)を返すようになった。同じファイル名・テキストで作ったソースファイルは同一のオブジェクトになり、同じファイルとオプションを見る createProgram の getSourceFile とも一致する(host の readFile が同じテキストを返す場合)。既に parse 済みのファイルを使うプログラム作成では parse のコストが減る。

移行が必要

戻り値がソースファイルから lease に変わった。const sourceFile = api.createSourceFile(fileName, text); は using lease = api.createSourceFile(fileName, text); として lease.sourceFile を使う形に書き換える。

⏳ 未リリース · トピック: プログラム的API

グローバル診断の集め方を Strada(旧 TypeScript)に合わせ、エディタでは診断以外のグローバルエラーを出さないように(#64452)

Before

エディタでのホバーなど、診断を出す目的ではないチェッカーでも、位置を持たない循環参照エラーがグローバル診断になり、どのファイルにも結び付かない診断が出ていた(#64405)。

After

特定のファイルのチェック中に出たグローバル診断を追跡する Strada のコードを移植し、インクリメンタルモードでも正しく扱えるようにした。エディタでは、診断を出さないチェッカーからのグローバル診断を返さない。

⏳ 未リリース · トピック: 型チェッカー・コンパイラ

その他

  • restack の名前を McFly に変更(#64441)⏳ 未リリース
  • McFly の手順の説明を明確化(#64446)⏳ 未リリース