{"id":5223,"date":"2024-03-04T10:53:49","date_gmt":"2024-03-04T10:53:49","guid":{"rendered":"https:\/\/byte-bucket.com\/2024\/03\/04\/deno-alternative-zur-javascript-registry-npm-startet-oeffentliche-betaphase\/"},"modified":"2024-03-04T10:53:49","modified_gmt":"2024-03-04T10:53:49","slug":"deno-alternative-zur-javascript-registry-npm-startet-oeffentliche-betaphase","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=5223","title":{"rendered":"Deno-Alternative zur JavaScript-Registry npm startet \u00f6ffentliche Betaphase"},"content":{"rendered":"<p>Das Team hinter der Node.js-Alternative Deno hat bekannt gegeben, dass die \u00f6ffentliche Betaphase der JavaScript-Registry (JSR) gestartet wurde. Das neue Paketverzeichnis strebt an, moderner als die Package Registry npm zu sein, jedoch ist es nicht als Ersatz gedacht, sondern soll sich als erg\u00e4nzende Option verwenden lassen.  Das Deno-Team gibt an, dass bei der Entwicklung der neuen JavaScript Registry, die als Superset von npm fungiert, mehrere \u00dcberlegungen ber\u00fccksichtigt wurden. Obwohl npm nach wie vor eine grundlegende Komponente in der heutigen Webentwicklung ist, wird es laut dem Deno-Team in einigen Aspekten als nicht mehr zeitgem\u00e4\u00df angesehen.  Die Einf\u00fchrung von ECMAScript Modules (ESM) hat den Webstandard CommonJS beim Schreiben wiederverwendbaren JavaScript-Codes laut dem Deno-Team \u00fcberholt. Inzwischen hat sich TypeScript von einer reinen M\u00f6glichkeit, JavaScript mit Kompilierungszeit-Type-Checking zu schreiben, zu einem Testfeld f\u00fcr neue JavaScript-Sprachfeatures entwickelt, die vom technischen Komitee TC39 stammen.  Die JavaScript Registry ber\u00fccksichtigt diese Faktoren, indem sie ECMAScript Modules (ESM) als den Webstandard f\u00fcr JavaScript-Module annimmt und ausschlie\u00dflich mit ESM arbeiten kann. Au\u00dferdem ist sie von Grund auf f\u00fcr TypeScript optimiert.  Die JavaScript Registry ist Open Source und kann mit der JavaScript- und TypeScript-Runtime Deno sowie npm-basierten Projekten wie Node.js, Bun oder Cloudflare Workers verwendet werden. Zu den weiteren Merkmalen geh\u00f6ren Schnelligkeit, Benutzerfreundlichkeit und eine positive Entwicklererfahrung.  Ab sofort steht die JavaScript Registry als \u00f6ffentliche Beta-Version zur Verf\u00fcgung. Man kann auf der Website nach Modulen entweder nach ihrem Namen oder ihrer Paketbeschreibung suchen. Jedes Paket verf\u00fcgt \u00fcber einen Quality Score, der bis zu 100 Prozent erreichen kann. Der Quality Score wird anhand einer wachsenden Anzahl von Faktoren berechnet, wie der Vollst\u00e4ndigkeit der Dokumentation, optimalen Typdeklarationen f\u00fcr schnelles Type Checking und der Kompatibilit\u00e4t mit verschiedenen Runtimes.  Im oberen Abschnitt der Seite finden sich in der automatisch generierten API-Referenz-Dokumentation des entsprechenden Moduls Installations- und Verwendungshinweise.  Das Deno-Team demonstriert die Verwendung des HTTP-Middleware-Frameworks oak von deno.land\/x auf JSR, indem es ein Beispielprojekt in Node.js mit npm erstellt. Dazu muss zuerst ein neues Node.js-Projekt im Terminal initialisiert werden. Anschlie\u00dfend wird oak wie folgt installiert: npm init &#8211;yes npx jsr i @oak\/oak.  Danach muss im gleichen Verzeichnis eine Datei namens index.mjs erstellt werden, in die der folgende Code eingef\u00fcgt wird, 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         titleHello oak!\/title       \/head       body       \/body     \/html;  );  const app  new Application(); app.use(router.routes()); app.use(router.allowedMethods()); app.listen(  port: 8080  );   Dieses Beispielprojekt kann mit dem Befehl node index.mjs ausgef\u00fchrt werden und die  Hello, World -oak-Anwendung kann unter http:\/\/localhost:8080 aufgerufen werden.  Im Deno-Blog gibt es auch Informationen dazu, wie Entwickler ihre Pakete auf JSR hochladen k\u00f6nnen. Zus\u00e4tzliche Informationen zur JSR sind neben der Ank\u00fcndigung im Deno-Blog auch in der Dokumentation verf\u00fcgbar.<\/p>\n<p>Schlagw\u00f6rter: JavaScript + JSR + ESM<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Team hinter der Node.js-Alternative Deno hat bekannt gegeben, dass die \u00f6ffentliche Betaphase der JavaScript-Registry (JSR) gestartet wurde. Das neue Paketverzeichnis strebt an, moderner als die Package Registry npm zu sein, jedoch ist es nicht als Ersatz gedacht, sondern soll sich als erg\u00e4nzende Option verwenden lassen. Das Deno-Team gibt an,&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":5222,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5223","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/5223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5223"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/5223\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/5222"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}