//npmx.devbyBobbieGoede

npmx.dev

a fast, modern browser for the npm registry

0
0
0

npmx.dev

A fast, modern browser for the npm registry.

Screenshot of npmx.dev showing the nuxt package

Vision

The aim of npmx.dev is to provide a better browser for the npm registry – fast, modern, and accessible. We don’t aim to replace the npmjs.com registry, just provide a better UI and DX.

  • undefinedSpeed first – Layout shift, flakiness, slowness is The Worst. Fast searching, filtering, and navigation.
  • undefinedURL compatible – Replace npmjs.com with xnpmjs.com or npmx.dev in any URL and it just works.
  • undefinedSimplicity – No noise, cluttered display, or confusing UI. If in doubt: choose simplicity.

Shortcuts

[!IMPORTANT]
We’re keeping the website, repository, and our discord community low-profile until the browser is polished enough. We’ll do a formal announcement at that point. Please avoid sharing the website or the invite link to discord on social media directly. The repo is public, so people who care about the project can easily find it and join us. Anyone who wants to help is more than welcome to join the community. If you know others who would be interested, please invite them too!

Features

Package browsing

  • undefinedDark mode by default – easier on the eyes
  • undefinedFast search – quick package search with instant results
  • undefinedPackage details – READMEs, versions, dependencies, and metadata
  • undefinedCode viewer – browse package source code with syntax highlighting and permalink to specific lines
  • undefinedProvenance indicators – verified build badges for packages with npm provenance
  • undefinedMulti-provider repository support – stars/forks from GitHub, GitLab, Bitbucket, Codeberg, Gitee, and Sourcehut
  • undefinedJSR availability – see if scoped packages are also available on JSR
  • undefinedPackage badges – module format (ESM/CJS/dual), TypeScript types (with @types/* links), and engine constraints
  • undefinedOutdated dependency indicators – visual cues showing which dependencies are behind
  • undefinedVulnerability warnings – security advisories from the OSV database
  • undefinedDownload statistics – weekly download counts with sparkline charts
  • undefinedInstall size – total install size (including transitive dependencies)
  • undefinedPlayground links – quick access to StackBlitz, CodeSandbox, and other demo environments from READMEs
  • undefinedInfinite search – auto-load additional search pages as you scroll
  • undefinedKeyboard navigation – press / to focus search, . to open code viewer, arrow keys to navigate results
  • undefinedDeprecation notices – clear warnings for deprecated packages and versions
  • undefinedVersion range resolution – dependency ranges (e.g., ^1.0.0) resolve to actual installed versions
  • undefinedClaim new packages – register new package names directly from search results (via local connector)
  • undefinedClickable version tags – navigate directly to any version from the versions list

User & org pages

  • undefinedUser profiles – view any npm user’s public packages at /~username
  • undefinedOrganization pages – browse org packages at /@orgname
  • undefinedSearch, filter & sort – find packages within user/org lists
  • undefinedInfinite scroll – paginated lists that load as you scroll

Comparison with npmjs.com

Feature npmjs.com npmx.dev
Package search βœ… βœ…
Package details & README βœ… βœ…
Version history βœ… βœ…
Dependencies list βœ… βœ…
User profiles βœ… βœ…
Organization pages βœ… βœ…
Provenance indicators βœ… βœ…
Code browser βœ… βœ…
Dark mode ❌ βœ…
Outdated dependency warnings ❌ βœ…
Module format badges (ESM/CJS) ❌ βœ…
TypeScript types indicator βœ… βœ…
Install size calculation ❌ βœ…
JSR cross-reference ❌ βœ…
Vulnerability warnings βœ… βœ…
Deprecation notices βœ… βœ…
Download charts βœ… βœ…
Playground links ❌ βœ…
Keyboard navigation ❌ βœ…
Multi-provider repo support ❌ βœ…
Version range resolution ❌ βœ…
Dependents list βœ… 🚧
Package admin (access/owners) βœ… 🚧
Org/team management βœ… 🚧
2FA/account settings βœ… ❌
Claim new package names βœ… βœ…

🚧 = coming soon

URL structure

npm compatibility

npmx.dev supports npm permalinks – just replace npmjs.com with npmx.dev or xnpmjs.com and it works:

npm URL npmx.dev equivalent
npmjs.com/package/nuxt npmx.dev/package/nuxt
npmjs.com/package/@nuxt/kit npmx.dev/package/@nuxt/kit
npmjs.com/package/vue/v/3.4.0 npmx.dev/package/vue/v/3.4.0
npmjs.com/search?q=vue npmx.dev/search?q=vue
npmjs.com/~sindresorhus npmx.dev/~sindresorhus
npmjs.com/org/nuxt npmx.dev/org/nuxt

[!TIP]
Want automatic redirects? Try the npmx-replace browser extension.

Not yet supported

  • /package/<name>/access – package access settings
  • /package/<name>/dependents – dependent packages list
  • /settings/* – account settings pages

Simpler URLs

npmx.dev also supports shorter, cleaner URLs:

Pattern Example
/<package> /nuxt
/<pkg>@<version> /vue@3.4.0
/@scope/name /@nuxt/kit
/@org /@nuxt
/~username /~sindresorhus

Tech stack

Contributing

We welcome contributions – please do feel free to poke around and improve things. See CONTRIBUTING.md for guidelines on how to get up and running!

  • npmx-replace-extension – Browser extension to redirect npmjs.com to npmx.dev
  • JSR – The open-source package registry for modern JavaScript and TypeScript
  • npm-userscript – Browser userscript with various improvements and fixes for npmjs.com
  • npm-alt – An alternative npm package browser
  • npkg.lorypelli.dev – An alternative frontend to npm made with as little client-side JavaScript as possible

If you’re building something cool, let us know! πŸ™

License

Made with ❀️

Published under MIT License.

[beta]v0.14.0