Startseite / Artikel / Warum die Go-Portierung von TypeScript 7 Linter und Framework-Tools kaputtgemacht hat

Warum die Go-Portierung von TypeScript 7 Linter und Framework-Tools kaputtgemacht hat

Es wird erklärt, warum der schnellere, auf Go basierende Compiler von TypeScript 7 eine inkompatible API mitliefert, wodurch Linter, Installationen sowie Updates für Vue/Svelte im gesamten Ökosystem beeinträchtigt werden.

3041 Wörter

Der Compiler wurde veröffentlicht. Die API, die eigentlich mitgeliefert werden sollte, nicht.

Microsoft veröffentlichte TypeScript 7.0 am 8. Juli 2026, und die Schlagzeile ergab sich praktisch von selbst: zehnmal schneller. Der Compiler wechselte von JavaScript zu Go, läuft auf mehreren Threads und bearbeitet Codebasen, die früher zwei volle Minuten benötigten, nun jedoch bereits bevor man in ein anderes Fenster wechseln kann, fertig sind. Fast jede Newsletter über die Veröffentlichung begann mit derselben Leistungsvergleichstabelle.

Dann führten die Entwickler tatsächlich npm install aus.

Viele von ihnen erhielten ein schnelles Binärprogramm, das auf einer kaputten Toolchain basierte. Die Störungen waren dabei keineswegs subtil: Lint-Tools stürzten bereits bei der einfachen Auslesung einer Eigenschaft ab. Paketmanager lehnten die Installation aufgrund von Unstimmigkeiten im Abhängigkeitsbereich kategorisch ab. Vue- und Svelte-Projekte konnten überhaupt nicht aktualisiert werden. Ein Monat später ist die Situation in den meisten Fällen noch immer unverändert, und es gibt für keine der derzeit geplanten Veröffentlichungen ein Datum für eine Lösung.

Das ist der Teil der Geschichte, der in den Hintergrund geraten ist – und genau dieser Teil entscheidet letztendlich darüber, ob Sie jetzt eine Aktualisierung vornehmen sollten.

Die Zahl, die alle nennen

Zuerst muss man denjenigen Anerkennung zollen, denn die Leistungsverbesserungen sind keine bloßen Marketingversprechen. Microsoft veröffentlichte in der Veröffentlichungsmitteilung eigene Benchmark-Zahlen, die detailliert genug sind, um überprüft zu werden.

Das Team berichtet von Beschleunigungen im Bereich von 8x bis 12x bei vollständigen Builds, wobei der Speicherverbrauch tatsächlich zurückging anstatt anzusteigen – das ist das Gegenteil des üblichen Kompromisses, den man erwarten würde. Slack teilte Microsoft mit, dass die Typüberprüfung in ihrem CI-Pipeline von etwa sieben Minuten und einer halben auf etwas über eine Minute zurückgegangen ist, und dass die Benutzererfahrung in ihrem Editor von kaum nutzbar bei dieser Skala auf Ladezeiten innerhalb weniger Sekunden verbessert wurde. Canva gab an, dass die Zeit bis zum Auftreten des ersten Fehlers im Editor von etwa 58 Sekunden auf unter 5 Sekunden gesunken ist.

Das sind echte ingenieurtechnische Leistungen, das Ergebnis eines Jahres an kontinuierlicher Arbeit. Nichts von dem Folgenden schmälert das.

Es handelte sich um eine Portierung, nicht um einen Neuschreibprozess

Hier sind die technischen Details, die in den meisten Berichten übersehen wurden – und genau diese Details erklären alles Weitere.

TypeScript 7 ist eine Portierung, keine völlige Neuschreibung. Das Team übersetzte die bestehenden Compilerdateien Datei für Datei von TypeScript in Go und bewahrte dabei absichtlich die ursprüngliche Struktur sowie Logik, damit sich das Verhalten der Typüberprüfung unverändert zeigt. Alles, was unter Version 6.0 einwandfrei kompilierte, soll auch unter Version 7.0 genauso kompilieren. Genau so gelang es Microsoft, einen Compiler dieser Größenordnung ohne zahlreiche Verhaltensrückfälle zu veröffentlichen – was die echte Disziplin bei der Durchführung der Portierung widerspiegelt.

Aber ein Compiler ist eigentlich zwei getrennte Produkte, die denselben Namen teilen. Es gibt das Binärprogramm, das man aufruft, tsc. Und es gibt die Bibliothek, die von anderen Tools als Abhängigkeit verwendet wird. Linter, Testumwandler, auf AST basierende Codemods sowie Vorlagenprüfer rufen nicht tsc auf und analysieren den von ihm ausgegebenen Text. Stattdessen importieren sie TypeScript direkt, durchlaufen damit den Syntaxbaum und beziehen die Typinformationen direkt aus dem Prüfer.

Die Portierung übernahm das erste Produkt getreu. Das zweite wurde überhaupt nicht übernommen.

Der Compiler selbst blieb unverändert. Die API, von der alle umgebenden Tools abhängen, folgte ihm nicht.

Die Zeile ganz am Ende der Veröffentlichungshinweise

Um Microsoft Gerechtigkeit zu widerfahren, wurde dies nicht verschwiegen. Wenn man die Ankündigung zur Version 7.0 bis etwa zwei Drittel durchliest, unter dem Abschnitt, der erläutert, wie man 7.0 neben 6.0 ausführen kann, findet sich ein Satz, über den im gesamten Ökosystem im Juli viel diskutiert wurde: TypeScript 7.0 wird ohne API ausgeliefert.

Das ist eine erhebliche Lücke. Microsoft gibt an, eine neue API zu entwickeln und plant, sie in Version 7.1 verfügbar zu machen. Laut dem Team konzentrieren sie sich nun, da die Portierungsarbeiten abgeschlossen sind, wieder auf die Einführung neuer Funktionen.

Das angestrebte Tempo sieht eine neue Veröffentlichung alle drei bis vier Monate vor. Wenn sich dieser Zeitplan hält, würde Version 7.1 etwa im Oktober erscheinen. Das ist der Stand der Dinge – es gibt noch keinen bestätigten Termin dafür, wann die Ersatz-API selbst tatsächlich fertig sein wird.

Lesen Sie die Ankündigung von oben nach unten, dann wird das Muster klar. Zuerst kommt eine Tabelle, die zeigt, wie viel schneller 7.0 performt. Danach folgen beeindruckende Zitate großer Unternehmen. Erst danach weist Microsoft fast beiläufig darauf hin, dass ein erheblicher Teil des Tooling-Ecosystems noch nicht auf dieser Version laufen kann.

Diese Reihenfolge war eine bewusste redaktionelle Entscheidung und kein Versuch, jemanden zu täuschen. Doch genau deshalb entdeckten so viele Teams die API-Lücke aus einem Absturzprotokoll in ihrer Konsole und nicht direkt aus dem Ankündigungsbeitrag selbst.

Problem 12518

Das nützlichste Ergebnis der Veröffentlichungswoche war kein Benchmark, sondern ein Fehlerbericht.

An dem Tag, an dem der neue Compiler öffentlich verfügbar wurde, erstellte jemand, der ein Vite-Plus-Reakt-Projekt von 6.0.3 auf 7.0.2 aktualisierte, Issue 12518 gegen typescript-eslint zusammen mit einer Nachvollführung. Darin wurden zwei separate Fehler dokumentiert.

Der erste bestand darin, dass npm ci die Installation überhaupt verweigerte, da die Paketmetadaten von typescript-eslint einen Bereich für Peer-Abhängigkeiten festlegten, außerhalb dessen sich 7.0.2 befand. Der zweite Fehler trat bei denen auf, die die Installation dennoch durchführten: ESLint funktionierte während des Kompilierens innerhalb von typescript-estree nicht mehr, weil der Code auf eine Eigenschaft in der Compiler-API zugriff, die in dieser Version nicht mehr existierte.

Die Betreuer schlossen das Issue. Nicht, weil es ihnen egal gewesen wäre, sondern weil es nichts Handhabbares gab.

Im Isolierungsmodus wirkt das ablehnend. Das ist es jedoch nicht. Die Betreiber von typescript-eslint haben keinen Weg, dies selbst zu beheben – der Baustein, auf den sie sich stützen müssten, ist noch nicht verfügbar. Die Schließung des Issues war lediglich eine ehrliche Feststellung der Tatsachen: Die eigentliche Arbeit liegt bei TypeScript 7.1 und nicht im Linter. Das bedeutet, dass das am weitesten verbreitete TypeScript-Tool im Ökosystem derzeit nichts gegen seine eigene Kompatibilität ausrichten kann.

Das Kern-ESLint-Team eröffnete am folgenden Tag ein entsprechendes Issue, bestätigte, dass es beabsichtigt ist, das Problem anzugehen, und befindet sich ebenfalls in der gleichen Situation, da es auf denselben noch fehlenden Baustein wartet. Die Betreiber der Vue-Tooling-Lösungen sind in derselben Lage. Alle nachgelagerten Projekte sind aufgrund derselben noch nicht veröffentlichten Abhängigkeit blockiert.

Der Ausstrahlungsbereich

Jedes Paket, das typescript importiert und auf seine internen Funktionen zugreift, ist diesem Problem ausgesetzt. Konkret:

  • typescript-eslint sowie alle darauf basierenden lint-Regeln, die Typinformationen berücksichtigen. Dies führt zu einem deutlichen Fehler entweder beim Installieren oder bereits bei der ersten Ausführung – man wird ihn nicht übersehen.
  • ts-jest sowie alle darauf basierenden Transformer, die auf internen Compileraufrufen beruhen. Im Vergleich dazu tritt ein Fehler eher leise auf, indem verwirrende Transformationsfehler auftreten anstelle eines Installationsfehlers, was vermutlich noch schlimmer ist, da es so aussieht, als läge das Problem in der Testkonfiguration und nicht in einer Versionskonflikte.
  • ts-morph sowie alle darauf basierenden benutzerdefinierten Codemods. Dies ist die riskanteste Kategorie. Tiefgehende Typuntersuchungen können sich leise verschlechtern und anstelle eines offensichtlichen Absturzes fehlerhafte Ausgaben liefern. Prüfen Sie sorgfältig, bevor Sie etwas Destruktives auf einer Codebasis ausführen.
  • Template-Prüfung basierend auf Volar, die Vue, Svelte, Astro und MDX abdeckt. Microsoft gibt in den Veröffentlichungshinweisen ausdrücklich an, dass diese Workflows derzeit wahrscheinlich nicht unter TypeScript 7 laufen können, und empfiehlt, weiterhin Version 6.0 zu verwenden, um Editor-Unterstützung zu erhalten.
  • Die Template-Prüfung bei Angular unterliegt derselben Einschränkung, es gibt jedoch eine offiziell dokumentierte Workaround-Lösung: Version 7.0 wird über die Kommandozeile gestartet, um eine schnelle Fehlerprüfung im gesamten Projekt durchzuführen, während in dem Editor weiterhin Version 6.0 verwendet wird.
  • Webpack-Loader. Ältere Versionen von ts-loader rufen weiterhin die veraltete API auf. Ein Kommentator zum Announcement fasste die allgemeine Stimmung zusammen: Man möchte gerne upgraden, doch da die meisten Projekte auf Webpack setzen und es noch keine kompatible API für Loader gibt, wartet jeder auf Version 7.1.
  • Betrachten Sie genau, was auf dieser Liste steht. Nichts davon sind Nischen- oder exotische Werkzeuge – es handelt sich um das Standard-Werkzeugset eines typischen Frontend-Teams von heute.

    Der Compiler selbst ist stabil. Das um ihn herum bestehende Ökosystem hingegen nicht. Das sind zwei unterschiedliche Veröffentlichungszustände, die dieselbe Versionnummer teilen.

    Microsofts Lösung: Zwei Compiler gleichzeitig installieren

    Microsoft hat diese Probleme vorausgesehen und anstelle dessen, dass die Teams selbst Lösungen erfinden mussten, eine Workaround-Lösung entwickelt. Sie veröffentlichten @typescript/typescript6, ein Kompatibilitätspaket, das eine tsc6-Ausführbardatei enthält und den Zugriff auf die API von Version 6.0 wiederherstellt. Dadurch können der alte Compiler und der neue gemeinsam genutzt werden, ohne dass einer die Binärnamen des anderen überschreibt.

    Der Grund, warum diese Workaround-Lösung notwendig ist, liegt darin, dass Tools wie typescript-eslint TypeScript über den Paketnamen durch eine Peer-Dependency auflöst. Daher ist die empfohlene Lösung, einen npm-Alias zu verwenden, um diesen Namen umzuleiten.

    Die vollständige Einrichtung mit zwei Kompilern sieht wie folgt aus:

    {
      "devDependencies": {
        "@typescript/native": "npm:typescript@^7.0.2",
        "typescript": "npm:@typescript/typescript6@^6.0.2"
      }
    }
    

    Mit dieser Lösung importieren Ihr Linter, Ihr Test-Transformer sowie Ihre Codemods weiterhin wie gewohnt typescript und erhalten im Hintergrund transparent Version 6.0. Gleichzeitig führt das Ausführen von npx tsc zur Verwendung von Version 7.0, sodass Sie weiterhin den Geschwindigkeitsvorteil dort erhalten, wo es am wichtigsten ist – in Ihrem Editor und im CI.

    Es funktioniert, und dafür gebührt Anerkennung: Es handelt sich um eine gut durchdachte Notlösung, die in der offiziellen Ankündigung detailliert beschrieben wurde und nicht etwas ist, was die Community erst selbst entschlüsseln musste.

    Trotzdem handelt es sich um zwei separate Compiler-Installationen, die in einem node_modules untergebracht sind und über einen Alias miteinander verbunden werden – ein Konzept, das jedem neuen Teammitglied erläutert werden muss. Zudem gibt es eine Konfiguration, die Sie letztendlich aufheben müssen, sobald 7.1 tatsächlich veröffentlicht wird. Nennen Sie es, wie es ist: technischen Schulden ohne festgelegten Fälligkeitsdatum.

    Die zweite Falle für alle, die 6.0 übersprungen haben

    Neben dem fehlenden API wartet eine weitere Herausforderung auf Teams, die direkt von einer 5.x-Version ohne Zwischenstopp bei 6.0 weitergegangen sind.

    TypeScript 7.0 setzt vollständig auf die Standards, die 6.0 eingeführt hat, und jede in 6.0 ausgelöste Deprecation-Warnung wird in 7.0 zu einem harten Fehler. All das tritt auf einmal ein:

    • strict ist nun standardmäßig aktiv.
    • module hat nun standardmäßig den Wert esnext.
  • rootDir hat standardmäßig den Wert ./ anstelle einer automatischen Bestimmung, sodass Sie diesen Wert explizit einstellen müssen, wenn Ihre tsconfig.json-Datei sich außerhalb von src befindet – andernfalls wird der Compiler die Struktur Ihrer Quelldateien falsch einordnen.
  • types verwendet standardmäßig ein leeres Array anstelle aller verfügbaren Typen. Wenn Ihr Code auf globale Variablen aus installierten @types-Paketen angewiesen ist, müssen Sie diese Pakete entweder explizit nennen oder das alte Verhalten mit ["*"] wiederherstellen.
  • Mehrere Optionen wurden ganz entfernt anstatt nur abgeraten zu werden: target: es5, downlevelIteration, moduleResolution: node, baseUrl sowie die Module-Modi amd, umd und systemjs. Der Einsatz dieser Optionen führt nun zu einem Kompilierfehler, Punkt.
  • Aus dieser Liste hebt das Team rootDir und types als die beiden Änderungen hervor, die am ehesten zu Überraschungen führen können – und das entspricht dem, was man in der Praxis erwarten würde. Beide Fehlermuster überfluten den Terminal mit Fehlern, die so aussehen, als wäre der Compiler selbst kaputt, anstatt klar zu signalisieren, dass „eine Standardeinstellung geändert wurde“. Genau diese Art von Verwirrung führt dazu, dass das Problem als Compilerfehler registriert wird, anstatt durch eine einzeilige Anpassung der Konfiguration behoben zu werden.

    Es gibt außerdem eine weniger auffällige Änderung, die sich an alle richtet, die auf Typebene mit Zeichenketten arbeiten. Die Typableitung von Template-Literals zählt nun ein Zeichen wie ein Emoji als eine Einheit, anstatt es in seine beiden UTF-16-Code-Einheiten aufzuteilen. Das ist ein intuitiveres Modell für die meisten Anwendungsfälle, stellt jedoch eine Bruchänderung dar für alle benutzerdefinierten Hilfertypen im Stil von Length, die absichtlich UTF-16-Code-Einheiten statt sichtbarer Zeichen zählten.

    Die praktische Erkenntnis: Wenn Sie noch auf einer Version 5.x sind, springen Sie nicht direkt zu 7.0 – nutzen Sie zunächst 6.0. Diese Zwischenversion existiert speziell dafür, diese Reihe von Bruchänderungen über zwei kleinere Updates zu verteilen, anstatt sie alle auf einmal auf Sie abzuwälzen.

    Für wen diese Version tatsächlich entwickelt wurde

    Das ist ein Detail, das es wert ist, sich kurz damit auseinanderzusetzen.

    Betrachten Sie die Liste der Organisationen, die TypeScript 7 bereits vor der allgemeinen Verfügbarkeit getestet und Kommentare zur Ankündigung beigesteuert haben: das VS Code-Team, Microsofts eigene Office-, Teams-, Power BI-, Loop- und Xbox-Gruppen sowie Bloomberg, Canva, Figma, Google, Linear, Miro, Notion, Sentry, Slack und Vercel. Dabei handelt es sich um Codebasen mit Millionen von Zeilen, die von speziellen Teams für die Build-Infrastruktur unterstützt werden; diese haben monatelang Vorab-Versionen erstellt und Probleme vor dem Release an die Entwickler zurückgemeldet.

    Für Organisationen in diesem Umfang verändert die Veröffentlichung tatsächlich die Arbeitsweise, und die Zahlen bestätigen das. Microsofts eigenes News Services-Team berichtet von einer Ersparnis von 400 Stunden pro Monat, die früher mit dem Warten auf CI-Prozesse verbracht wurden. Wenn zuvor eine einzige Typüberprüfung sieben Minuten in Anspruch nahm, verändert eine Reduzierung um etwa das Achtfache erheblich den täglichen Arbeitsrhythmus eines Entwicklers.

    Vergleichen Sie das nun mit einem fünfköpfigen Startup, das Nuxt mit einer typsicheren Lint-Einrichtung nutzt. Ihre Typüberprüfung dauerte bereits nur noch 9 Sekunden. Die Aktualisierung bringt ihnen etwa eine Ersparnis von 8 Sekunden, erfordert im Gegenzug jedoch einen kaputten Lint-Pipeline, einen Vue-Template-Checker, der einfach nicht laufen kann, sowie eine Workaround-Lösung mit Alias in package.json, die der nächste Teammitglied ihnen erklären muss.

    Der Geschwindigkeitsvorteil steigt mit der Größe Ihrer Codebasis. Die Störungen hingegen nehmen überhaupt nicht zu – es handelt sich dabei um eine feste Kostenstelle, die unabhängig davon anfällt, ob Ihr Projekt zehn oder zehn Millionen Dateien enthält.

    Nichts davon deutet auf böse Absichten hin. Es ist einfach das, was passiert, wenn ein Projekt sich nach den Rückmeldungen optimiert, die es tatsächlich beobachten kann. Die großen Unternehmenscodebasen befanden sich im Vorab-Programm, sodass ihre Probleme bereits lange vor dem Release sichtbar und messbar waren. Die Betreuer des Ökosystems – größtenteils Freiwillige, die an Lintern, IDE-Integrationen und Build-Tools arbeiteten – saßen am Ende einer Entscheidungsfindung, an der sie keinen Anteil hatten, und erhielten im Gegenzug nur einen Kompatibilitätsadapter sowie die Zusicherung, dass die Probleme in Version 7.1 behoben werden würden.

    Eine riesige Codebasis macht diesen Upgrade-Prozess zu einem Glücksfall. Eine kleine hingegen zahlt denselben festen Aufwand für eine weitaus geringere Gegenleistung. Dieses Ungleichgewicht ist das Kernproblem hier.

    Die Bereitschaftsprüfung – Stand heute

    Ein Monat nach der allgemeinen Verfügbarkeit sieht die Situation ungefähr so aus.

    Falls Sie über einen Umstieg nachdenken, ist der risikominimierendste Weg, 7.0 als zweite, nicht blockierende Typüberprüfung in CI zu nutzen – zusätzlich zur bereits vorhandenen. Dadurch erhalten Sie genaue Zeitangaben und mehr Sicherheit, ohne dass 7.0 der entscheidende Faktor für Ihren Build wird. Sobald beide Aufgaben etwa eine Woche lang erfolgreich laufen, können Sie umsteigen.

    Als Early Adopter gibt es hier keine Vorteile, daher lohnt es sich dennoch, die verfügbaren Einstellmöglichkeiten zu kennen: Die Flagge --checkers steuert, wie viele parallele Typüberprüfungskomponenten genutzt werden, standardmäßig sind es 4. Auf einem CI-Server mit begrenzten Ressourcen ist es in der Regel klüger, diese Zahl auf 1 oder 2 zu senken, anstatt den Standardwert beizubehalten.

    Den Fehler in etwa fünf Minuten nachstellen

    Nichts davon muss einfach so geglaubt werden – und das sollte es auch nicht. Der Fehler tritt schnell und in geringem Ausmaß auf, sodass er absichtlich in einem temporären Testprojekt ausgelöst werden kann, bevor man etwas berührt, was wirklich wichtig ist.

    Fangen Sie mit einem neuen Vite React-TypeScript-Scaffold an, fügen Sie eine typbewusste ESLint-Einrichtung hinzu und versuchen Sie anschließend, den neueren Compiler vorher einzusetzen:

    npm create vite@latest ts7-probe -- --template react-ts
    cd ts7-probe
    npm install
    npm install -D typescript-eslint eslint
    npm install -D typescript@7
    

    Die meisten Menschen stoßen bereits bei der Installation auf Probleme. Das veröffentlichtetypescript-eslint-Paket definiert einen Peer-Dependency-Bereich, der bei Version 6.1.0 endet; daher lehnt npm die Installation kategorisch ab und gibt stattdessen einen ERESOLVE-Fehler an, anstatt nur eine leichte Warnung auszugeben. Tatsächlich ist das der nachsichtigere Fehlermodus.

    Das problematischere Ergebnis tritt auf, wenn man den Konflikt ignoriert und die Installation dennoch erzwingt. Mit den nicht übereinstimmenden Paketen führt das Ausführen von lint zu einem Absturz in typescript-estree während des Programmbuilds – ausgelöst durch einen Eigenschaftszugriff, der nicht mehr auf etwas verweist:

    TypeError: Cannot read properties of undefined (reading 'Cjs')
        at .../@typescript-eslint/typescript-estree/dist/create-program/shared.js
    

    Achten Sie darauf, was in dieser Meldung nicht erwähnt wird. Es wird weder TypeScript 7 genannt, noch wird ein Versionsunterschied angezeigt, und es heißt auch nicht „ungestützte Konfiguration“. Es handelt sich um einen reinen internen Absturz – genau wie in Anfrage 12518 beschwert: Der Berichterstatter bat um einen klaren, für Menschen lesbaren Kompatibilitätsfehler anstelle eines Stack-Traces, und dieser Wunsch ist bis heute noch offen.

    Wenden Sie nun die zuvor beschriebene Workaround-Lösung mit dem Alias an und führen Sie die gleichen Befehle erneut aus. Lint funktioniert wieder, weil es im Hintergrund unauffällig mit TypeScript 6.0 kommuniziert, während npx tsc allein weiterhin auf die schnellere Version 7.0 verweist.

    Sobald Sie es so eingerichtet haben, lohnt es sich, den Build unter beiden Versionen zu messen. Genau diese Zahl – und nicht die Benchmarks anderer – sollte Ihre Entscheidung beeinflussen – und sie wird fast sicherlich viel weniger dramatisch aussehen als die Werte von VS Code, einfach weil Ihre Codebasis nicht zwei Millionen Zeilen lang ist.

    Meine Schlussfolgerungen

    Was TypeScript 7 zu einem besonderen Fall macht, ist, dass zwei widersprüchliche Interpretationen davon beide korrekt sind, während die meisten Überprüfungen nur eine davon berücksichtigt haben.

    Es handelt sich um eine wichtige Leistung der Compiler-Entwicklung, die Teams jede Woche echte Arbeitsstunden zurückgibt, die sie durch langsame Build-Prozesse verloren hatten. Es handelt sich außerdem um eine Version, die nur die Hälfte dessen enthielt, was benötigt wurde; diese Tatsache wurde tief im Ankündigungstext offenbart, wodurch die Folgen den Wartern zufielen, die keinen Einfluss auf den Veröffentlichungstermin hatten.

    Was nützlich gewesen wäre – und was bei der Veröffentlichung nicht klar zum Ausdruck kam –, ist ein einfacher Satz ganz oben: Diese Version ist für Ihren Build-Pipeline geeignet, nicht für Ihre Tools, und hier ist genau erklärt, was das für Sie bedeutet. Dieser Satz war technisch gesehen vorhanden; er war nur mehrere Abschnitte hinter dem Benchmark-Chart versteckt.

    Die Version 7.1 soll diese Lücke tatsächlich schließen. Bis dahin bleibt der vernünftige Ansatz eng gefasst: Nutzen Sie die Geschwindigkeitsvorteile dort, wo es keinen Aufwand kostet – in Ihrem Editor und im CI – und lassen Sie alle Tools, die weiterhin den Compiler direkt importieren, genau so, wie sie sind.

    Verwandte Artikel

  • TypeScript 6 und 7: Intelligentere Inferenz, anschließend eine in Go basierende Neuimplementierung — Erfahren Sie, wie TypeScript 6 wichtige Mängel bei der Inferenz behob und Standardwerte modernisierte, wodurch die Grundlage für die vollständige Neuimplementierung des Compilers in Go bei TypeScript 7 geschaffen wurde.