TypeScript 7.1 Beta: Import Attributes, Content Mappers y la Nueva API
Microsoft publicó el 20 de octubre de 2026 la beta de TypeScript 7.1, la primera menor sobre el compilador nativo en Go. La noticia principal no es una feature del lenguaje sino algo que el ecosistema llevaba meses esperando: la nueva API del compilador, ausente en 7.0 y necesaria para que el tooling moderno deje de depender de TypeScript 6.
bashnpm install -D typescript@beta
Import attributes en módulos ambient
Los import attributes (with { type: "css" }, por ejemplo) le dicen al runtime o bundler cómo interpretar un import. Hasta ahora TypeScript no podía distinguirlos en declaraciones de módulos ambient. La 7.1 corrige esto:
typescriptdeclare module "*.css" with { type: "css" } { const sheet: CSSStyleSheet; export default sheet; }
Esto permite tipar correctamente imports de recursos no-JS — CSS modules, texto, assets — según el atributo con el que se importan, algo cada vez más común en bundlers modernos.
Content mappers: Volar pasa a ser first-class
La feature más significativa para el ecosistema de frameworks es los content mappers: un mecanismo de plugins que permite presentar código embebido en otros formatos — el bloque <script> de un Single File Component de Vue es el ejemplo canónico — a los servicios de lenguaje de TypeScript.
En palabras del equipo de TypeScript, el modelo central de Volar (la herramienta que hoy hace posible el soporte de Vue, Astro y otros en editores) se convierte en ciudadano de primera clase. Las implicaciones prácticas:
- El soporte de frameworks con formatos de fichero propios deja de depender de hacks a nivel de language server.
- Las herramientas de análisis ven el código embebido como TypeScript real.
- Potencialmente, mejor rendimiento y menos bugs en la experiencia de edición de SFCs.
La nueva API del compilador
En lugar de una API monolítica como la de TypeScript 6, la 7.1 se organiza en entry points con propósito específico:
| Entry point | Propósito |
|---|---|
typescript/sync | Cliente síncrono: opciones de compilador, type-checker, program APIs |
typescript/async | Equivalente basado en Promises |
typescript/fs | Filesystems completos y por capas, con scope por request |
typescript/ast | Tipos de nodos del AST, SyntaxKind, ScriptTarget |
typescript/ast/is | Type guards de nodos |
typescript/ast/factory | Creación y transformación de nodos |
Junto a esto llegan snapshot-based compiler APIs y capacidades de filesystem virtual: analizar o actualizar código sin depender de ficheros en disco. Es el diseño pensado para la era de los agentes de código y los editores en la nube, donde el "proyecto" puede no existir como directorio físico.
Target es2026 y nuevos métodos de librería
--target es2026 y --lib es2026 ya son estables, estabilizando features como:
Math.sumPrecise(),Iterator.concat(),Array.fromAsync()JSON.rawJSON()y un overload deJSON.parse()con texto originalError.isError()Map/WeakMap.getOrInsert()ygetOrInsertComputed()Uint8Array:toBase64(),toHex(),fromHex(),fromBase64()y compañía
En esnext se asoman propuestas interesantes: Promise.allKeyed, Promise.allSettledKeyed, Iterator.zip, Iterator.prototype.chunks.
Qué significa para tu toolchain
Esta es la pieza que faltaba para completar la migración a TypeScript 7 que describimos en nuestra guía de migración desde 6.x. Herramientas como typescript-eslint podrán empezar a portarse a la nueva API y abandonar el paquete de compatibilidad tsc6. No ocurrirá de un día para otro — es una API distinta, no un drop-in replacement — pero el camino ya existe.
Conclusión
TypeScript 7.1 convierte al compilador nativo en una plataforma completa: API modular, soporte de primer nivel para frameworks de ficheros embebidos y las últimas features de ECMAScript. Si mantienes tooling sobre el compilador, empieza a explorar la beta ahora; si solo escribes aplicaciones, la noticia es que el último bloqueo para el ecosistema ya tiene fecha de caducidad.
Binary Core
Equipo Binary Core