npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fuzor

v0.5.3

Published

HTML-first framework for SPA or MPA builds with static or server delivery

Readme

Fuzor

One source app. SPA or MPA. Static or server-backed. Fuzor compiles HTML and Markdown pages, layouts, components and interactive islands into finished documents at build time, then ships them as a single-page or multi-page app, as static files or with a generated Node server.

| Navigation | Static output | Server output | | --- | --- | --- | | SPA | One document with every page as a template, plus lazy island chunks | The same document, API endpoints and server data from a Node server | | MPA | One HTML file per page | The same files, API endpoints and server data from a Node server |

Pages are static by default. HTML route policies can opt subtrees into SPA navigation or request-time HTML rendering. A server is added automatically when the app has an api/ folder or a server.ts next to a page.

npm create fuzor@latest my-app
cd my-app
pnpm install
pnpm dev
fuzor build --target spa          # or --target mpa, --inline, --server
fuzor preview --target spa        # serve the build
fuzor routes                      # inspect routes and endpoints

Platform-specific markup stays in the shared page source and is removed at compile time:

<!--fuzor:platform --desktop-->
<desktop-toolbar></desktop-toolbar>
<!--/fuzor:platform-->

<!--fuzor:platform --native-->
<native-toolbar></native-toolbar>
<!--/fuzor:platform-->

The same blocks may wrap the shared index.html shell. They are resolved before the Vite entrypoint is rendered, so each platform build receives only its shell markup:

<!--fuzor:platform --desktop-->
<desktop-window-chrome></desktop-window-chrome>
<!--/fuzor:platform-->

Build or develop a platform explicitly with --platform (Electron selects desktop by default; other targets select web):

fuzor dev --target electron
fuzor build --target spa --platform mobile
fuzor build --target spa --platform browser-extension-popup

The compiler records every platform selector found in the source, so one app can expose multiple target-specific entry points without duplicating its pages.

Documentation: fuzor.dev/docs · Examples · Changelog

UI components, native DOM behavior and styling drivers ship in fuzor/ui. See the UI guide.

Native DOM logic uses <script type="module">, inline JavaScript/TypeScript or an external JS/TS module. Scripts receive scoped host access, an abort signal and cleanup registration. Reserve islands for third-party UI runtime adapters. Fuzor UI Web Components and compiled resumable handlers remain native features. See the HTML module script guide.