typescriptnovedadescompiladortooling

TypeScript 7.1 Beta: Import Attributes, Content Mappers y la Nueva API

Por Binary Core

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.

bash
npm 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:

typescript
declare 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 pointPropósito
typescript/syncCliente síncrono: opciones de compilador, type-checker, program APIs
typescript/asyncEquivalente basado en Promises
typescript/fsFilesystems completos y por capas, con scope por request
typescript/astTipos de nodos del AST, SyntaxKind, ScriptTarget
typescript/ast/isType guards de nodos
typescript/ast/factoryCreació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 de JSON.parse() con texto original
  • Error.isError()
  • Map/WeakMap.getOrInsert() y getOrInsertComputed()
  • 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

← Volver al blog