3min Devops

Nieuwe npm-browser npmx pakt tekortkomingen npmjs aan

Nieuwe npm-browser npmx pakt tekortkomingen npmjs aan

Een initiatief binnen de JavaScript-gemeenschap probeert een alternatief te bieden voor de manier waarop ontwikkelaars npm-pakketten via het web bekijken. Het project heet npmx en is onlangs als alpha-versie uitgebracht.

Dit schrijft DevClass. Npmx dient als alternatieve interface voor het bestaande npm-register en is ontstaan uit onvrede over de huidige gebruikerservaring van de officiële npmjs-site.

De opkomst van npmx roept ook vragen op over de ontwikkeling van de officiële npm-interface. Het npm-register vormt een van de belangrijkste onderdelen van het JavaScript-ecosysteem, maar de webomgeving waarin ontwikkelaars pakketten verkennen heeft de afgelopen jaren relatief weinig zichtbare vernieuwing gekregen. Daardoor ontstaat de opmerkelijke situatie dat een klein open-sourceproject in korte tijd functies toevoegt die door veel ontwikkelaars als duidelijke verbetering worden gezien.

Het open-sourceproject werd gestart door Daniel Roe, die het Nuxt-team bij Vercel leidt. Eind januari verscheen de eerste code op GitHub. Rond dezelfde tijd startte Roe op het sociale netwerk Bluesky een discussie over de problemen die ontwikkelaars ervaren met npmjs. Uit de reacties bleek dat veel gebruikers ontevreden zijn over verschillende onderdelen van de huidige website.

Npmx verandert publicatieproces niet

Een deel van de kritiek richt zich op het publiceren van pakketten, een proces dat volgens sommige ontwikkelaars complex en weinig gebruiksvriendelijk is. Omdat npmx alleen een andere manier biedt om het bestaande npm-register te bekijken, verandert het niets aan dat publicatieproces. De nieuwe interface richt zich vooral op de manier waarop informatie over pakketten wordt gepresenteerd.

Daar ligt volgens de initiatiefnemers ook de grootste kans voor verbetering. De huidige npmjs-site bevat bijvoorbeeld een tabblad waarmee broncode van pakketten kan worden bekeken, maar dat onderdeel werkt volgens gebruikers niet optimaal. Zo wordt de browsergeschiedenis niet ondersteund, waardoor navigeren met de terugknop lastig is. Ook wordt gewezen op het ontbreken van een donkere modus, een beperkte weergave van afhankelijkheden en het gebrek aan duidelijke informatie over ondersteuning voor TypeScript en EcmaScript-modules. Daarnaast functioneren sommige links naar GitHub-repositories niet goed wanneer ze naar specifieke mappen binnen een project verwijzen.

Nadruk op snelheid en eenvoud

Roe besloot daarop zelf een alternatieve browser te bouwen met het Nuxt-framework. Dat project is nu beschikbaar als alpha. Volgens de ontwikkelaars achter npmx ligt de nadruk op snelheid en eenvoud. De interface moet ontwikkelaars snel inzicht geven in relevante gegevens zoals de grootte van een installatie, het gebruikte moduleformaat en eventuele verouderde afhankelijkheden. Tegelijkertijd wordt gewerkt aan functies die het makkelijker moeten maken om in contact te komen met de mensen achter open-sourcepakketten.

De belangstelling voor het project bleek direct groot. Binnen twee weken na publicatie op GitHub verzamelden zich volgens de initiatiefnemers al ongeveer duizend meldingen, suggesties en bijdragen van ontwikkelaars.

Het npm-register is uitgegroeid tot het grootste softwarepakketregister ter wereld. Dat komt door de enorme populariteit van JavaScript en TypeScript. Oorspronkelijk werd npm beheerd door een zelfstandig bedrijf, maar in maart 2020 nam GitHub het platform over. GitHub, dat onderdeel is van Microsoft, richt zich sindsdien onder meer op het bestrijden van malware binnen het register. Daarbij zijn extra beveiligingsmaatregelen ingevoerd, wat volgens sommige ontwikkelaars het publiceren van pakketten ingewikkelder heeft gemaakt.