NPMX – a fast, modern browser for the NPM registry

(npmx.dev)

126 points | by slymax 13 hours ago ago

53 comments

  • skybrian 10 hours ago ago

    Here's one feature they have that seems important:

    > It's good npmx.dev shows git and https dependencies. I still think it's crazy npmjs.org doesn't.

    https://bsky.app/profile/dsherret.bsky.social/post/3mer2diwj...

    • insin 2 hours ago ago

      A clear miss from npmjs.org on that, but I'm trying to think of when I've ever used it as a primary source for what dependencies a package has, or really even... anything at all. I only end up on it if I'm in a hurry and accidentally click an npmjs link instead of (usually) a GitHub link after using a search engine.

  • danielroe 9 hours ago ago

    npmx maintainer here! a few answers to questions i see:

    we haven’t launched yet! we’re building openly but aiming for march 3. as is par for the course, hn gets the scoop.

    i made the first commit two weeks ago, so it’s very new. but we’ve had 900+ PRs and 170+ contributors in the last fortnight… because this is something we care about.

    having said that, i’m taking notes about what is and isn’t intuitive

    npmjs remains the source of truth for the registry, which is why we get our data from there

    but along the way we add a lot of features, like: - claiming new packages from the ui - batch admin operations for your orgs, teams and packages - total install size, vulnerabilities and deprecations for your transitive dependencies - generated docs for packages - linkable package contents - and more

    • Sammi 2 hours ago ago

      The visual hierarchy seems very flat and inaccessible to me. Everything is monochrome and looks too similar. I have a hard time differentiating between sections.

      There are many ways to get more visual hierarchy and I wish you make use of them.

    • tcper 9 hours ago ago

      Do you have your own dependency resolution algorithm? Can we have the most lightweight node_modules directory?

      • danielroe 8 hours ago ago

        we do have an algorithm to calculate total install size

        it’s not _exactly_ the same as if you install with npm and check the size of your node_modules but it’s a pretty good proxy

        having said that, there’s room to make it better

  • hdjrudni 12 hours ago ago

    But why?

    npmjs.com is not slow and not something I need to interact with very often.

    And npmjs.com is still the authority when it comes to publishing packages, no? So I'd still have to use it.

    • xhcuvuvyc 9 hours ago ago

      Because they wanted to and Claude didn't tell them not to. Why even ask questions like this at this point.

      • wartijn_ 2 hours ago ago

        The website has an about page that explains some of the reasons why this project exists. The first heading in the readme of their repo is "Vision". The creators of this project are people with a track record of creating popular, high quality, useful Javascript projects.

        I'd say the probability that some thought has gone into this project it pretty high. Your reply stating that this was created without any though or effort is, ironically the least thoughtful, laziest and least useful response possible.

      • indemnity 9 hours ago ago

        In the age of LLMs I think we are going to see a Cambrian explosion of software.

        Me personally, I’m writing tools for myself wouldn’t have bothered with before due the the time investment needed.

      • port11 7 hours ago ago

        The prolific inventor’s dilemma. But to be fair developers have been making whatever they want since the beginning. Sometimes there doesn’t have to be a ‘why?’.

      • isodev 7 hours ago ago

        Haha this. I understand the appeal of "but I can probably roll my own" and "Oh that's a good idea, let's jump into coding" but pre-vibe bots, the effort required would make folks stop and think before jumping into it - is it really a good idea? should I do it just because I can? what problem is it really solving? Who will use this? etc.

    • abejfehr 17 minutes ago ago

      A valid use case I can think of is if npmjs.com is blackholed by your company to prevent supply chain attacks

    • atfzl an hour ago ago

      npmjs.com search input doesn't even have proper throttling/debounce. If you type fast, there is a high chance that you get result of the partial input that you entered than the complete one. Ideally they should discard the response for the old partial search if there is a new one.

    • pier25 11 hours ago ago

      I almost never use npmjs.com.

      When I do it’s just to click on the repo link.

      • tmvnty 5 hours ago ago

        I just do ghub.io/<package-name>

    • riedel 6 hours ago ago
    • brycelarkin 12 hours ago ago

      npmjs search is very slow

      • DeepYogurt 12 hours ago ago

        how often does anyone use it though?

      • 65 11 hours ago ago

        I mean are we really arguing over milliseconds here? I have never in my life had the thought "NPM search is too slow, I need a faster solution"

        I have had the thought "NPM search sorted by downloads this week is giving me irrelevant packages" - but I'm not sure this tool solves that.

        • blue_pants 10 hours ago ago

          It can load for a couple of seconds (!) for me

        • skydhash 11 hours ago ago

          My only pain point, that I solved with a few lines of elisp, was to go to npmjs, to find the repo link for my dependencies. What's in `node_modules` may be compiled to an inscrutable blob and it's rare to find good library docs.

          • ricardobeat 7 hours ago ago

            Life-changing: ghub.io/<package>

            No idea where I found this but I’ve been using for many, many years.

    • nickradford 11 hours ago ago

      It is really annoying if you have a package that is relatively new to the platform, and you type in the exact package name, that package is not reliably the first result.

      Minor edge case, but infuriating if you want to check your own packages quickly (without needing to navigate menu > packages > YOUR_PACKAGE).

      Still agree with you though, who is npmx actually for?

      • ireadmevs 9 hours ago ago

        Whenever I know the name of the package I want to see, I always type in the URL directly: npm.im/[package-name]

    • jauntywundrkind 9 hours ago ago

      It sparks more joy than the old one and buddy, that's for frelling enough damn it. Whinge out!

      Awful comment. Your comment is bad and should be ashamed.

      Use it and disagree! Tell me it in fact does not spark more joy! This just seems pretty clear, ya'll.

      It's just generally vastly nicer. I love that file exploration of packages doesn't feel like a last afterthought before leaving the solar system forever.

    • jasonjmcghee 11 hours ago ago

      Cynically, if you can attract a representative sample, you could aggregate and sell analytics data.

      Another could be to have an "alternatives" section based on semantic similarity and / or some other features that have signal.

  • networkcat 6 hours ago ago

    I don't think npmx has better UI/UX than npmjs.com. It could even be said to be worse. The npmx page doesn't have any other colors, it's all gray, and the page has too many elements that are too cluttered. You can compare these two pages:

    https://npmx.dev/package/vue

    https://www.npmjs.com/package/vue

    Decide for yourself which UX is better.

    • smarx007 6 hours ago ago

      I think that npmjs uses colors too much to the point of irrelevance. Why are links in the README red? Why is the code tab red? Why is the download graph purple?

      Compare your npmx link to vue to https://npmx.dev/package/node-red-contrib-rtc-alert-node . This package uses deprecated and vulnerable deps and npmx correctly uses color to draw attention to it. And because the npmx page is normally monotone, the use of color actually draws your attention.

      Regarding clutter - I agree.

  • pveierland 11 hours ago ago

    - Certain pages load but are not able to load content, e.g. https://npmx.dev/package/@storybook/addon-docs fails to load content with:

    > `[nuxt] Cannot load payload /package/@storybook/addon-docs/_payload.json?c459501f-8eb7-49c9-be9c-4a197fa35a39 Error: Invalid input`

    - Scrolling fast on Firefox + Chrome is broken and resets the search results page to start.

    - Pressing up/down arrows should navigate search item results instead of focusing individual tag elements.

  • isodev 10 hours ago ago

    I don’t get it. What does it do? How can I trust it over simply visiting https://www.npmjs.com/ (which is perfectly fine to browse)?

    Edit: it wants me to connect to the “atmosphere” - is this the Bluesky App Store thing? I really don’t see how linking my socials to npm search makes sense.

    • iamkonstantin 10 hours ago ago

      The word “browser” in the title also tripped me to think about an actual browser

      • phildenhoff 9 hours ago ago

        But it is a browser -- just not a web browser

        • swyx 8 hours ago ago

          directory perhaps less confusing.

          • vinnymac an hour ago ago

            “NPM registry directory” sounds terribly confusing in my opinion, reads like a grammatical mishap

  • meetpateltech 10 hours ago ago

    There’s also https://v1.run/ (packrun.dev) experimenting with an npm registry for agents that adds package scoring and MCP integration for AI coding assistants.

  • adithyareddy 10 hours ago ago

    Really fun / cool project!

    I've always defaulted to using https://yarnpkg.com/ to search for packages cause the npmjs.com search is so slow, but while the yarnpkg.com search is super fast, actually clicking on a package and seeing the details page takes forever.

    This is super fast for both search and the details page, and it's super keyboard friendly which makes it even faster to use in practice. Definitely going to become my go-to search now. Love it, thanks for building it!

  • wellf 10 hours ago ago

    Confusing name as npx exists (exexutes npm package without install)

  • skybrian 12 hours ago ago

    I'm not sure what features I'm supposed to notice that are better, but having built-in API docs and source code browsing is nice. (Though slightly laggy.)

    Nit: there are distracting animations, such as on the weekly download graph.

  • tl2do 10 hours ago ago

    The typeahead search speed is genuinely impressive. I was typing package names and the results were appearing before I'd finished the keystroke—that's the kind of responsiveness you usually only see with native applications.

    As someone who spent a year obsessing over performance in a .NET MAUI app (IMAP processing, background execution, API latency), I know how hard it is to shave milliseconds off search. The npm registry is massive, and you're clearly doing something right on the indexing or caching side.

    Are you using client-side filtering with a pre-built index? Server-side with some clever caching strategy? I'm genuinely curious about the architecture choices that got you to "uncannily fast" territory—especially compared to the official npmjs.com search.

    Whatever you're doing under the hood, it shows. Performance is a feature.

    • freakynit 9 hours ago ago

      Whats even crazier is if you click on thr author link, there other packages are listed almost instantly. Crazy damn speed. Beautiful to look at too.

      • tl2do 26 minutes ago ago

        I agree. I agree.

  • Retr0id 10 hours ago ago

    If I scroll too far down the search results it snaps back to the top. The typeahead search is almost uncannily fast though.

  • lewissheridan an hour ago ago

    Nice job

  • djdnndj 11 hours ago ago

    I like it, don't get the negativity in this thread

    • oenton 10 hours ago ago

      I think it looks cool. I like the mouseover effects. I still echo others concerns e.g. npmjs.com is the ultimate authority of what NPM packages exist.

      Did you create this? If not how did you come across it?

  • boltzmann64 9 hours ago ago

    I hate the trend of moving away from being able to search packages from the command line to searching inside a bloated web browser. It had a happened with PyPI. And now npm. Please stop this madness.

    • beart 9 hours ago ago

      What has moved away? You can still use `npm search` just fine.

    • Mikhail_Edoshin 7 hours ago ago

      Browsing is not search though. But I must say that modern browsing is not browsing either, it's search-centered. It would be great to be able to actually browse things like in a store or a library.

  • spiderice 11 hours ago ago

    Aaaand, it's down. Is it's inability to handle light load what makes it modern?

  • cdaringe 12 hours ago ago

    it’s modern, i heard

  • khelavastr 10 hours ago ago

    cool