AX Code を入手 · 無料ドキュメント

このページは英語版ドキュメントの翻訳です。コマンド、識別子、例はそのままです。ランタイム 7.24.4 · SDK 2.6.7。 英語版

TypeScript のネイティブ対応

状態: ソースでは有効。パッケージされたランタイムのリリースは未了

範囲: 現行状態のソースツールチェインと言語サービス

最終確認: 2026-09-14

担当: AX Code maintainers

AX Code は、ワークスペース検査、SDK の出力、組み込みの JavaScript/TypeScript 言語サーバーに、公式の Go ベース TypeScript 7.0.2 コンパイラを使います。言語サーバーは出荷されたネイティブ実行ファイルを、--lsp --stdio とともに直接実行します。レジストリのランナーは呼び出さず、流動する言語サーバー版もダウンロードしません。AX Code を使うために Go ツールチェインは不要です。

依存関係は pnpm install で入れ、任意依存も含めてください。ネイティブコンパイラには、一致する OS/CPU パッケージが必要です。スタンドアロンビルドは、配布の前にそのパッケージを配置し検証します。バイナリがない、または一致しないときは、JavaScript サーバーを黙って起動せず、対処できるエラーを出します。

コンパイラ API の互換性

ワークスペースは @typescript/native を npm:typescript@7.0.2 に固定し、レガシーの JavaScript Compiler API を取り込むツールのために typescript を npm:@typescript/typescript6@6.0.2 へのエイリアスとして保ちます。型検査と SDK の出力はネイティブコンパイラを使います。互換 API は既定の言語サーバーではありません。

Vue、Svelte、Astro のフレームワークツールは、独自のサーバー統合を使います。TypeScript ライブラリの互換性は、コンパイラプラグイン対応を確立しません。SolidJS の JSX 変換は Babel を通して続きます。ランタイムテストと出力された成果物は、型検査の成功とは別に合格しなければなりません。

診断とメモリ

ネイティブ TypeScript はプル診断を使います。AX Code は、呼び出し側が診断を待つよう求めたとき、または診断インベントリを集めるときに、それらを要求します。ファイルを同期するだけでは型検査を待ちません。編集は依存するキャッシュ結果を無効にします。古い、保留中、または失敗したインベントリは、集約診断 API によって部分的または劣化として報告されます。成功したプルはそのファイルを更新します。サーバーの更新要求はキャッシュ結果を古いと印付け、次の診断要求が要求時に更新します。バックグラウンドのサーバー通信はアイドル寿命を更新しません。ファイル編集は、以前に要求した文書をバックグラウンドでなお更新できます。生の記録 API は、限られた収集予算の中で古い結果を更新し、不完全なインベントリを拒否します。編集ツールはこの状態を開示し、成功したファイル編集は失いません。他の言語サーバーは、既存のプッシュ診断の振る舞いを保ちます。

同じファイルに対する重なる明示的な診断待機は、同じワークスペース世代の中でのみ要求を共有します。逐次の要求はなお更新します。ワークスペースの変更は、より古い飛行中の要求の再利用を防ぎます。バックグラウンドとインベントリの更新は、文書ロックを待ったあと鮮度を再確認します。

成功したパッチの削除と移動は、言語サービス内の取り除かれたソース文書を閉じます。失敗したパッチトランザクションは文書状態を保ちます。後始末には共有の 2 秒期限があり、同じパッチ内の後の操作で作り直されたパスは飛ばします。不完全な後始末は開示され、保存済み編集は取り消されません。サーバーへの配送が時間切れになると、そのクライアントが再起動するまで診断は不完全のままです。

アイドルな言語サーバーは、通常のメモリプロファイルでは 30 分後に回収されます。AX_CODE_MEMORY_PROFILE=low のときは 5 分です。回収は既存の 1 分間隔のヘルスチェックで動き、アクティブな要求と待ち行列の要求が落ち着くのを待ちます。サーバーは要求時に再起動します。AX_CODE_LSP_IDLE_MS はアイドル時間をミリ秒で上書きします。0 はアイドル回収を無効にします。不正な値はプロファイルの既定を使います。これらの設定はプロセスの RAM 上限も、マシン全体の予算も課しません。投機的な事前ウォームはオプトインのままです。

サーバーを回収すると、その診断インベントリは捨てられます。集約結果は、以前開いていた文書が再び開かれて検査されるか、明示的に取り除かれるまで、劣化と印付けられたままです。生のインベントリ API は不完全な網羅を拒否します。網羅台帳は 2,000 パスに制限されます。あふれは、プロジェクトインスタンスが破棄されるまで、保守的に不完全のままです。空のサーバーを回収しても網羅は失われません。編集ツールは保存した変更を保ち、診断が不完全であることを開示します。プロジェクトがきれいであるかを確立するには、プロジェクト全体の型検査を使ってください。

ネイティブコンパイルは、特定の常駐メモリ削減を保証しません。メモリの主張をする前に、同じプロジェクト、開いた文書、要求、プロセスツリーの RSS を比較してください。

明示的なサーバー上書き

既存の信頼された lsp.typescript.command 構成は、組み込みのネイティブサーバーをなお上書きします。レガシーサーバーでは、サーバーと互換 TypeScript SDK をプロジェクトにインストールしてピンし、そのインストール済み実行ファイルへ command を --stdio とともに設定してください。ピンされていない npx コマンドは避けてください。上書きは明示的です。ネイティブコンパイラが使えないとき、AX Code は自動ではフォールバックしません。

上流: TypeScript 7 の発表。

TypeScript 7.0.2 の保存済み文書の互換性

ネイティブ 7.0.2 サーバーは、ファイル監視の通信が保存済み編集と重なると、より早い診断スナップショットを返すことがあります。AX Code は、その正確なサーバー版について、診断を要求する前に変更された文書を閉じて開き直します。1 つの限られた文書クエリが、開き直す前に遅延したクローズを流します。他のクエリはこの置換を待ちます。これは変更された文書の全体を送ります。未変更の文書は、重なる要求をなお再利用します。他のサーバー版は、交渉した同期モードを保ちます。中断された置換は、言語サーバーが再起動するまで不完全のままです。