Deno 2.8: Audit Fix, CI-Subcommand und Native Pack-Tool

Deno 2.8: Audit Fix, CI-Subcommand und Native Pack-Tool

lschvn

Deno 2.8 ist da — und diesmal geht es nicht um ein einzelnes Killer-Feature, sondern um eine Sammlung von Quality-of-Life-Verbesserungen, die die Lücke zu Node.js schließen und gleichzeitig wirklich neue Tools hinzufügen. Die Version wurde am 22. Mai veröffentlicht, mit einem Patch (v2.8.1) fünf Tage später.

TLDR

  • deno audit fix behebt automatisch verwundbare npm-Pakete mit einem Befehl
  • deno ci bietet eine reproduzierbare Installations-Signatur für CI-Pipelines
  • deno pack erstellt npm-bereite Tarballs direkt aus Deno-Projekten
  • Node.js-Kompatibilität nähert sich den 75%, gemäß Deno's Roadmap-Zielen

deno audit fix — Ein-Befehl-Schwachstellenbehebung

deno audit wurde in Deno 2.6 als Sicherheits-Audit-Tool für npm-Pakete eingeführt. Deno 2.8 geht mit deno audit fix weiter und aktualisiert verwundbare Pakete automatisch auf die nächste gepatchte Version, die noch den Versionsbeschränkungen entspricht.

$ deno audit fix
 body-parser vulnerable to denial of service when url encoding is enabled
 Severity: high
 Package: body-parser
 Vulnerable: <1.20.3
 Info: https://github.com/advisories/GHSA-qwcr-r2fm-qrc7

Wenn ein Paket ein Major-Version-Upgrade benötigt, listet Deno es separat auf, damit Sie entscheiden können, ob Sie die Einschränkungen lockern. Alles innerhalb des semver-Bereichs wird stillschweigend behoben.


deno ci — Reproduzierbare CI-Installationen

Deno 2.8 führt deno ci ein, einen dedizierten Subcommand für CI-Umgebungen und Dockerfiles. Bisher bedeutete eine reproduzierbare Installation, sich an die richtige Kombination von Flags für deno install zu erinnern. Jetzt:

$ deno ci

Es gibt einen Fehler aus, wenn deno.lock fehlt, entfernt jedes vorhandene node_modules und führt die Installation mit --frozen aus, sodass die Lockfile genau zur Konfiguration passen muss. Einfach in einen CI-Schritt oder ein Dockerfile einfügen.


deno pack — npm-Tarballs ohne Deno-Verlassen Bauen

deno pack kombiniert das Verhalten von tsc und npm pack in einem einzigen Befehl. Ausgehend von einer deno.json:

{
  "name": "@scope/my-lib",
  "version": "1.0.0",
  "exports": "./mod.ts"
}

Erzeugt deno pack ein scope-my-lib-1.0.0.tgz, bereit für npm publish. Das Tarball enthält:

  • Eine generierte package.json mit type: "module", bedingte Exports und extrahierte Runtime-Abhängigkeiten
  • TypeScript nach JavaScript transpiliert
  • .d.ts-Deklarationsdateien, extrahiert über dieselbe Fast-Check-Pipeline wie bei deno publish
  • README- und LICENSE-Dateien

Specifiers werden umgeschrieben, damit Pakete im npm-Ökosystem funktionieren: jsr:@std/path wird zu @jsr/std__path, relative Imports erhalten .js-Erweiterungen, und node:-Builtins bleiben unberührt.


deno bump-version — Semver-Management für Workspaces

deno bump-version aktualisiert das Versionsfeld in Ihrer deno.json oder package.json mit standardmäßigen semver-Incrementen:

$ deno bump-version patch
$ deno bump-version minor
$ deno bump-version major
$ deno bump-version prerelease

In einem Workspace wendet das Ausführen von der Wurzel das gleiche Increment auf jedes Member-Paket an, überschreibt übereinstimmende jsr:-Versionseinschränkungen und aktualisiert die Import-Map, damit plattformübergreifende Referenzen synchron bleiben.


Node.js-Kompatibilität: Auf Dem Weg Zu 75%

Deno's erklärtes Ziel ist es, bis 2026 75% Node.js-Kompatibilität zu erreichen. Version 2.8 macht Fortschritte mit breiterer node:-Modulabdeckung, verbesserter TLS/SSL-Kontextbehandlung und besserer Kompatibilität mit npm-Paketen, die auf Node.js-Interna angewiesen sind. Das Changelog listet Dutzende von ext/node-Fixes auf.


FAQ

Wie aktualisiere ich? Führen Sie deno upgrade aus oder installieren Sie neu von deno.land/install.sh.

Ersetzt deno pack deno publish? Nein. deno publish veröffentlicht in JSR; deno pack zielt auf npm-Registries. Sie bedienen unterschiedliche Ökosysteme.

Ist diese Version rückwärtskompatibel? Ja. Deno 2.8 bleibt vollständig rückwärtskompatibel mit 2.x. Breaking Changes sind nicht vor einer zukünftigen Major-Version geplant.

Verwandte Artikel

Weitere Berichterstattung zu ähnlichen Themen und Tags.

Deno 2.7 Stabilisiert die Temporal API, Fügt Windows ARM Support und npm Overrides Hinzu
deno

Deno 2.7 Stabilisiert die Temporal API, Fügt Windows ARM Support und npm Overrides Hinzu

Deno 2.7 ist ein umfangreiches Release im 2.x-Zyklus: Die Temporal API ist nun produktionsreif, native Windows-on-ARM-Builds sind da, npm overrides funktionieren wie in Node, und Dutzende von Node.js-Kompatibilitätsverbesserungen landen.
Bun vs Node vs Deno 2026: Der Runtime-Showdown, Den Niemand Wollte (Aber Alle Haben)
javascript

Bun vs Node vs Deno 2026: Der Runtime-Showdown, Den Niemand Wollte (Aber Alle Haben)

Drei JavaScript-Runtimes. Drei verschiedene Philosophien. Unabhängige Benchmarks bei HTTP-Throughput, Cold Starts und asynchroner Performance erzählen eine klarere Geschichte als Marketing es je könnte. Hier ist der schonungslos ehrliche Breakdown für Entwickler, die ihre nächste serverseitige JS-Plattform wählen.
Bun v1.3.12 — Headless Browser-Automation und Native Explicit Resource Management
javascript

Bun v1.3.12 — Headless Browser-Automation und Native Explicit Resource Management

Buns neuestes Release fügt WebView für headless Browser-Automatisierung hinzu, landet TC39s using/await using in JavaScriptCore und liefert einen 2,3-fachen Speedup für URLPattern.

Kommentare

Anmelden Melden Sie sich an, um an der Diskussion teilzunehmen.

Noch keine Kommentare. Seien Sie der Erste, der seine Gedanken teilt.