JavaScript Registry startet als moderne Ergänzung zu npm

Das Deno-Projekt hat die öffentliche Beta der JavaScript Registry veröffentlicht. Sie ist für TypeScript optimiert und auf ECMAScript-Module begrenzt.

In Pocket speichern vorlesen Druckansicht

(Bild: Nice to meet you / Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Maika Möbus

Wie das Team hinter der Node.js-Alternative Deno verkündet, hat es die öffentliche Betaphase der JavaScript Registry (JSR) eingeläutet. Das neue Paketverzeichnis soll moderner sein als die Package Registry npm, ist dabei jedoch nicht als Ersatz gedacht, sondern soll sich ergänzend verwenden lassen.

Der Entwicklung der neuen JavaScript Registry, einem Superset von npm, liegen laut dem Deno-Team mehrere Überlegungen zugrunde. So bleibe npm zwar eine grundlegende Komponente der heutigen Webentwicklung, sei aber in einigen Punkten nicht mehr zeitgemäß: ECMAScript Modules (ESM) haben laut dem Deno-Team CommonJS als Webstandard für das Schreiben wiederverwendbaren JavaScript-Codes überholt. TypeScript sei unterdessen nicht mehr bloß eine Art, JavaScript mit Kompilierungszeit-Type-Checking zu schreiben, sondern habe sich als Testfeld für neue JavaScript-Sprachfeatures, die dem technischen Komitee TC39 entspringen, herauskristallisiert.

Diesen Gegebenheiten trägt die JavaScript Registry Rechnung, indem sie ECMAScript Modules (ESM) als den Webstandard für JavaScript-Module annimmt – und ausschließlich mit ESM umgehen kann – sowie von Grund auf für TypeScript optimiert ist. Sie ist Open Source verfügbar und lässt sich mit der JavaScript- und TypeScript-Runtime Deno sowie npm-basierten Projekten wie Node.js, Bun oder Coudflare Workers verwenden. Zu ihren weiteren Eigenschaften sollen Geschwindigkeit, Einfachheit und eine gute Developer-Experience zählen.

Heise-Konferenz zu Enterprise-JavaScript: enterJS 2024

Die Enterprise-JavaScript-Konferenz enterJS findet am 7. und 8. Mai in Mainz statt. Die Veranstalter dpunkt.verlag und iX präsentieren über 35 Vorträge und drei Workshops zu Themen wie JavaScript im Allgemeinen, Frameworks im Speziellen sowie Tools und Techniken rund um die Programmiersprache.

Auszug aus dem Programm:

Die JavaScript Registry lässt sich nun als öffentliche Beta verwenden. Auf der Website lassen sich Module nach ihrem Namen oder ihrer Paketbeschreibung suchen. Jedes Paket besitzt einen Quality Score, der einen Höchstwert von 100 Prozent aufweisen kann. Der Quality Score basiert auf einer wachsenden Anzahl von Faktoren, wie Vollständigkeit der Dokumentation, optimalen Typdeklarationen für schnelles Type Checking oder der Kompatibilität mit multiplen Runtimes. Installations- und Verwendungshinweise finden sich im oberen Teil der Seite in der automatisch generierten API-Referenz-Dokumentation des jeweiligen Moduls.

Anhand des HTTP-Middleware-Frameworks oak von deno.land/x, das bereits auf JSR verfügbar ist, zeigt das Deno-Team eine beispielhafte Verwendung in einem Node.js-Projekt mit npm. Dazu ist zunächst im Terminal ein neues Node.js-Projekt zu initialisieren und dann oak wie folgt zu installieren:

npm init --yes
npx jsr i @oak/oak

Im gleichen Verzeichnis ist dann eine Datei namens index.mjs zu erstellen und der nachfolgende Code einzufügen, der das zuvor installierte oak-Modul verwendet:

import { Application, Router } from "@oak/oak";

const router = new Router();
router.get("/", (ctx) => {
  ctx.response.body = `<!DOCTYPE html>
    <html>
      <head><title>Hello oak!</title><head>
      <body>
        <h1>Hello oak!</h1>
      </body>
    </html>
  `;
});

const app = new Application();
app.use(router.routes());
app.use(router.allowedMethods());

app.listen({ port: 8080 });

Diese Anwendung lässt sich mit node index.mjs ausführen und die "Hello, World"-oak-Anwendung unter http://localhost:8080 aufsuchen.

Wie Entwicklerinnen und Entwickler Pakete auf JSR hochladen können, ist ebenfalls im Deno-Blog aufgeführt.

Neben der Ankündigung im Deno-Blog stehen weitere Informationen zu JSR in der Dokumentation bereit.

(mai)