概要
tsgo(Go 移植後のコンパイラ、tsc/internal/checker など)の型チェッカーまわりでは、細かな正しさの修正とパフォーマンス改善が続いている。制約(extends)付きジェネリック関数を再帰的に呼び出すコード(Zod のようなライブラリが依存するパターン)で誤って報告されていた循環参照エラーを抑制し、オブジェクトの分割代入パターンのデフォルト値の扱いを配列と揃え、as const のタプルが never 型のコンテキストで誤って readonly を失う不具合を修正した。算出プロパティ名(computed property name)の再構築処理をシンボル追跡から分離するバグ修正や、シンボルリンクの重複ルックアップの削除・シンボルテーブルの事前確保といった内部的なパフォーマンス改善も入っている。composite project のルートチェックでは、正規化済み(canonical)のソースファイルパスを常に使うよう修正された。lib.es5.d.ts の RegExp.source の JSDoc に残っていた誤記も削除された。グローバル診断の集め方は Strada(旧 TypeScript)のやり方に戻し、エディタでは診断を出さないチェッカーからのグローバル診断を返さないようにした。target / lib には es2026 も指定できるようになった。テンプレートリテラル型の大きさに上限(5,000 万文字・プレースホルダー 10 万)が設けられて TS2589 を報告するようになり、resolveObjectTypeMembers の冪等性の回復で無限循環するインスタンス化を示す新しいエラーが出るようになった。Zod などの再帰スキーマ向けの交差型の扱いの変更、never 簡約の最適化、宣言出力(宣言マップ・isolatedDeclarations・打ち切り後の複製)の修正、JSX 出力や JS の TS2565 のリグレッション修正なども入っている。
主な API・オプション
target/libのes2026— 新たに指定可能に
変更履歴
- 2026-09-30 — 型の無いモジュールの import で宣言出力が付け加える診断が不安定だったのを修正(#64479)⏳ 未リリース · 変更
- 2026-09-30 —
export default <式>/export = <式>の宣言マップが空になる問題を修正(#64460)⏳ 未リリース · 変更 - 2026-09-30 — 宣言出力の打ち切り後にキャッシュ済みの型を複製しないようにし、TS7056 のケースを高速化(#63969)⏳ 未リリース · 変更
- 2026-09-30 —
ProgramOptionsをProgramConfig/ProgramHosts/ProgramFactoriesに分け、古い状態を保持しないように(#64519)⏳ 未リリース · 変更 - 2026-09-30 — 入れ子の rest 束縛を代入先に正しく変換するよう修正(#64422)⏳ 未リリース · 変更
- 2026-09-30 — JS で継承したクラスフィールドへの再代入に TS2565 が出るリグレッションを修正(#64523)⏳ 未リリース · 変更
- 2026-09-30 — 交差型の
never簡約チェックを安定した順序で行うように(#64521)⏳ 未リリース · 変更 - 2026-09-30 — JSX 属性内の復元された
BinaryExpressionの出力でのクラッシュを修正(#64470)⏳ 未リリース · 変更 - 2026-09-30 —
resolveObjectTypeMembersの冪等性を回復し、無限循環するインスタンス化を示すエラーを追加(#64372)⏳ 未リリース · 変更 - 2026-09-30 —
isolatedDeclarationsでthis.x = …の代入があるとクラッシュする不具合を修正(#64471)⏳ 未リリース · 変更 - 2026-09-30 — 同じオブジェクト型のマップの交差を簡約しないようにし、Zod などの再帰スキーマを作りやすく(#64481)⏳ 未リリース · 変更
- 2026-09-30 — テンプレートリテラル型のサイズに上限を設け、超えたら TS2589 を報告(#64194)⏳ 未リリース · 変更
- 2026-09-30 —
neverへの簡約チェックを複数の構成要素で宣言されたプロパティだけに(#64499)⏳ 未リリース · 変更 - 2026-09-30 — クラスの static ブロック内の未使用ローカル変数を報告(#64485)⏳ 未リリース · 変更
- 2026-09-30 —
es2026をtargetとlibに追加(#64096)⏳ 未リリース · 変更 - 2026-09-28 — グローバル診断の集め方を Strada に合わせ、エディタではホバーなどで生じた診断以外のグローバルエラーを出さないよう修正(#64452)⏳ 未リリース · 変更
- 2026-09-24 — composite project のルートチェックで正規化済みソースファイルパスを常に使うよう修正(#64407)⏳ 未リリース · 変更
- 2026-09-24 —
neverを可変な配列風の型と誤判定していたのを修正し、as constのreadonlyタプルが失われる問題を解消(#64389)⏳ 未リリース · 変更 - 2026-09-24 — オブジェクトの分割代入パターンのデフォルト値の扱いを配列と揃えた(#64043)⏳ 未リリース · 変更
- 2026-09-24 —
lib.es5.d.tsのRegExp.sourceの JSDoc から誤って混入した引数の説明を削除(#64352)⏳ 未リリース · 変更 - 2026-09-24 — インスタンス化されたシンボルテーブルを事前確保しパフォーマンスを改善(#64306)⏳ 未リリース · 変更
- 2026-09-24 — 制約付きジェネリックの再帰呼び出しで誤って報告されていた循環参照エラーを抑制(#64311)⏳ 未リリース · 変更
- 2026-09-24 — 算出プロパティ名の再構築をシンボル追跡から分離しバグを修正(#64208)⏳ 未リリース · 変更
- 2026-09-24 —
GetNameTypeOfSymbolの重複したシンボルリンク参照を削除(#64305)⏳ 未リリース · 変更
関連
- リポジトリ: TypeScript