Obtener AX Code · GratisDocumentación

Esta página es una traducción de la documentación en inglés. Los comandos, identificadores y ejemplos no cambian. Runtime 7.24.4 · SDK 2.6.7. Original en inglés

Soporte nativo de TypeScript

Estado: activo en el código fuente; la versión empaquetada del entorno de ejecución está pendiente Alcance: cadena de herramientas de código fuente y servicio de lenguaje del estado actual Última revisión: 2026-09-14 Responsable: mantenedores de AX Code

AX Code usa el compilador oficial de TypeScript 7.0.2 basado en Go para las comprobaciones del espacio de trabajo, la emisión del SDK y su servidor de lenguaje integrado de JavaScript y TypeScript. El servidor de lenguaje ejecuta directamente el ejecutable nativo distribuido con --lsp --stdio. No invoca un ejecutor de registro ni descarga una versión flotante del servidor de lenguaje. No hace falta una cadena de herramientas de Go para usar AX Code.

Instala las dependencias con pnpm install, incluidas las opcionales. El compilador nativo necesita su paquete coincidente de sistema y de CPU. Las compilaciones autónomas preparan y verifican ese paquete antes de la entrega. Un binario ausente o que no coincide produce un error accionable en lugar de iniciar en silencio un servidor JavaScript.

Compatibilidad de la API del compilador

El espacio de trabajo fija @typescript/native en npm:typescript@7.0.2 y mantiene typescript como alias de npm:@typescript/typescript6@6.0.2 para las herramientas que importan la API heredada del compilador JavaScript. Las comprobaciones de tipos y la emisión del SDK usan el compilador nativo. La API de compatibilidad no es el servidor de lenguaje predeterminado.

Las herramientas de marco de Vue, Svelte y Astro usan su propia integración de servidor; la compatibilidad de la biblioteca de TypeScript no establece soporte de plugins del compilador. La transformación JSX de SolidJS sigue pasando por Babel. Las pruebas del entorno de ejecución y los artefactos emitidos deben pasar con independencia de una comprobación de tipos correcta.

Diagnósticos y memoria

TypeScript nativo usa diagnósticos por extracción. AX Code los pide cuando quien llama pide esperar a los diagnósticos o recoge el inventario de diagnósticos. Sincronizar un archivo por sí solo no espera a la comprobación de tipos. Las ediciones invalidan los resultados en caché dependientes; los inventarios obsoletos, pendientes o fallidos se informan como parciales o degradados por la API agregada de diagnósticos. Una extracción correcta refresca ese archivo. Las solicitudes de refresco del servidor marcan los resultados en caché como obsoletos; la siguiente solicitud de diagnóstico los refresca bajo demanda. El tráfico de fondo del servidor no renueva el tiempo de vida en inactividad. Las ediciones de archivo aún pueden refrescar en segundo plano documentos pedidos antes. La API de registro en bruto refresca los resultados obsoletos dentro de un presupuesto de recogida acotado y rechaza los inventarios incompletos; las herramientas de edición revelan esta condición sin perder la edición de archivo correcta. Los demás servidores de lenguaje conservan su comportamiento existente de diagnósticos por empuje.

Las esperas explícitas de diagnóstico que se solapan para el mismo archivo comparten una solicitud solo dentro de la misma generación del espacio de trabajo. Las solicitudes secuenciales siguen refrescando; un cambio del espacio de trabajo impide reutilizar una solicitud más antigua aún en curso. Los refrescos de fondo y de inventario vuelven a comprobar la frescura después de esperar un bloqueo del documento.

Los borrados y los movimientos de parche correctos cierran los documentos de fuente quitados en el servicio de lenguaje. Las transacciones de parche fallidas conservan el estado de sus documentos. La limpieza tiene un plazo compartido de dos segundos y omite las rutas recreadas por una operación posterior del mismo parche. La limpieza incompleta se revela sin deshacer las ediciones guardadas. Si la entrega al servidor agota el tiempo, los diagnósticos permanecen incompletos hasta que ese cliente se reinicie.

Los servidores de lenguaje inactivos se reclaman después de 30 minutos en el perfil de memoria normal, o a los cinco minutos con AX_CODE_MEMORY_PROFILE=low. La reclamación se ejecuta en el intervalo existente de comprobación de salud de un minuto y espera a que se asienten las solicitudes activas y en cola. Los servidores se reinician bajo demanda. AX_CODE_LSP_IDLE_MS anula la duración de inactividad en milisegundos; 0 desactiva la reclamación por inactividad. Los valores no válidos usan el valor predeterminado del perfil. Estos ajustes no imponen un techo de RAM del proceso ni un presupuesto de toda la máquina. El precalentamiento especulativo sigue siendo optativo.

Reclamar un servidor descarta su inventario de diagnósticos. Los resultados agregados permanecen marcados como degradados hasta que los documentos que estaban abiertos se hayan reabierto y comprobado, o se hayan quitado de forma explícita. La API de inventario en bruto rechaza la cobertura incompleta. El libro de cobertura se limita a 2,000 rutas; el desbordamiento permanece de forma conservadora incompleto hasta que se deseche la instancia del proyecto. Reclamar un servidor vacío no pierde cobertura. Las herramientas de edición conservan los cambios guardados y revelan que los diagnósticos están incompletos. Usa una comprobación de tipos de todo el proyecto para establecer si el proyecto está limpio.

La compilación nativa no garantiza una reducción concreta de la memoria residente. Compara el mismo proyecto, los documentos abiertos, las solicitudes y el RSS del árbol de procesos antes de afirmar algo sobre la memoria.

Anulación explícita del servidor

Una configuración de confianza ya existente lsp.typescript.command sigue anulando el servidor nativo integrado. Para un servidor heredado, instala y fija el servidor y su SDK de TypeScript compatible en el proyecto, y luego define command como ese ejecutable instalado con --stdio. Evita comandos npx sin fijar. La anulación es explícita; AX Code no vuelve atrás de forma automática cuando el compilador nativo no está disponible.

Origen: anuncio de TypeScript 7.

Compatibilidad de documentos guardados de TypeScript 7.0.2

El servidor nativo 7.0.2 puede devolver una instantánea de diagnóstico anterior cuando el tráfico de vigilancia de archivos se solapa con ediciones guardadas. AX Code cierra y vuelve a abrir los documentos cambiados para esa versión exacta del servidor antes de pedir diagnósticos. Una consulta de documento acotada vacía el cierre diferido antes de reabrir; las demás consultas esperan a esta sustitución. Esto envía el documento cambiado completo; los documentos sin cambios siguen reutilizando solicitudes solapadas. Las demás versiones del servidor conservan su modo de sincronización negociado. Una sustitución interrumpida permanece incompleta hasta que el servidor de lenguaje se reinicia.