JavaScript-Runtime: Deno 1.27 bietet Inlay Hints für informativeren Code

Das Feature Inlay Hints aus TypeScript 4.4 lässt sich nun in der Runtime nutzen, und die Arbeit an der verbesserten npm-Anbindung zeigt weitere Fortschritte.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen

(Bild: Trismegist san/Shutterstock.com)

Von
  • Maika Möbus

Das Entwicklungsteam hinter der JavaScript- und TypeScript-Runtime Deno hat Version 1.27 veröffentlicht. Zu den neuen Features zählen Inlay Hints, die im Code Informationen anzeigen, Bug Fixes für den Language Server und eine erweiterte Kompatibilität mit npm. Die JavaScript-Engine V8 ist nun in der Version 10.8 enthalten und Deno kann mit Node.js in der neuesten Version 18.12.0 umgehen. Für den Node.js-Kompatibilitäts-Layer ist allerdings weiterhin das --unstable-Flag erforderlich.

In TypeScript 4.4 eingeführt, sind Inlay Hints nun auch in Denos Language Server Protocol vertreten. Microsoft beschreibt das Feature als eine Art von "freundlichem Ghost-Text", der hilfreiche Informationen wie Parameternamen und Return Types im Code anzeigen kann. Zur Veranschaulichung zeigt das Deno-Team ein Listing ohne Inlay Hints

Code ohne Inlay Hints

(Bild: Deno Land)

und mit aktivierten Inlay Hints

Code mit Inlay Hints

(Bild: Deno Land)

Laut dem Deno-Team sollen sich Inlay Hints insbesondere bei der Arbeit mit TypeScript oder type-checked JavaScript aufgrund der dort häufig vorkommenden Typinferenz als nützlich erweisen. Inlay Hints machen demnach versteckte Inferred Types ohne ein Hovern über der Variable sichtbar und reduzieren die Anzahl der expliziten Typannotationen, ohne die Lesbarkeit zu beeinträchtigen. Für den Einsatz von Inlay Hints bietet Deno eine Vielzahl an Konfigurationsmöglichkeiten, um sie für bestimmte Fälle zu aktivieren beziehungsweise zu deaktivieren. So lassen sie sich unter anderem für Enum-Werte, Parameternamen oder implizite Parametertypen ein- und ausschalten.

Auch Microsofts Sourcecode-Editor Visual Studio Code kann mit Inlay Hints umgehen, ebenso wie die aktuelle Version der dafür entwickelten Deno Extension. Sie steht im Visual Studio Marketplace zum Download bereit und hat über 295 000 Installationen vorzuweisen.

Heise-Konferenz: enterJS Web-Performance Day

Die Veranstalter heise Developer und dpunkt.verlag richten am am 1. Dezember 2022 den enterJS Web-Performance Day aus. Die Themen reichen von kontextbezogenen Template States mit Angular über das Verringern der Bundle Size bis hin zu State-of-the-Art Tools für mehr Geschwindigkeit. Performance-Expertinnen und -Experten zeigen in sieben Online-Vorträgen, wie sich Webanwendungen beschleunigen lassen.

Deep Dives gibt es in zwei 2-Tages-Workshops, die ebenfalls online stattfinden:

Im August dieses Jahres hatte das Deno-Team bekanntgegeben, eine erhöhte Interoperabilität mit npm anzustreben, um innerhalb der kommenden Monate 80 bis 90 Prozent aller npm-Pakete in Deno verwenden zu können. Die Anbindung an npm schreitet nun weiter voran: Mit Version 1.27 zieht Deno nun automatisch TypeScript-Typen von npm-Packages, die Typen verteilen. Für solche, die keine Typen verteilen, lässt sich eine @deno-types-Direktive über dem Import verwenden, um das entsprechende @types-Paket zu spezifizieren, falls vorhanden:

// @deno-types="npm:@types/chalk@4"
import chalk from "npm:chalk@4";

Auch der Umgang mit Packages, die @types/node erfordern, ist möglich.

Zudem behebt Deno 1.27 verschiedene Schwierigkeiten in Bezug auf dem Language Server. Unter anderem konnten automatische Importe und Codevervollständigung in JSX laut dem Entwicklungsteam zu "merkwürdigem Verhalten" führen, was nun behoben sein soll.

Alle weiteren Details zum neuen Release bietet der Deno-Blog.

(mai)