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

@wizeworks/silicaui-fonts

v0.19.0

Published

Silica UI fonts — publish-time Google Fonts self-hosting for sites built with @wizeworks/silicaui-builder.

Readme

@wizeworks/silicaui-fonts

Publish-time Google Fonts self-hosting for sites built with @wizeworks/silicaui-builder.

The site builder's Theme editor lets an author pick from ~1900 Google Fonts. For live editor preview, the builder loads the picked font straight from Google's CDN — fine, since that's an internal tool, not published output. But published sites must not hotlink Google's CDN: doing so leaks every visitor's IP to Google without consent, and EU courts have fined sites for exactly that. This package is the other half — a Node-only utility your own backend calls at publish/deploy time to fetch the real font files and self-host them from your own origin instead.

Usage

import { selfHostGoogleFonts } from "@wizeworks/silicaui-fonts";

// In your onPublish handler:
async function onPublish({ site, pages }) {
  const selections = [site.theme.fonts?.sans, site.theme.fonts?.head].filter(Boolean);
  const { css, files } = await selfHostGoogleFonts(selections, {
    // Store `bytes` wherever you like, then return the URL it'll be served from.
    mapUrl: (googleUrl, bytes) => uploadToYourCdn(bytes, googleUrl.split("/").pop()),
  });

  // `css` now contains @font-face rules pointing at YOUR URLs, not Google's.
  // Inject it into your document template's <head> alongside `pages[].html`.
}

selections with source: "system" are ignored (nothing to self-host — they're already a plain CSS stack with no webfont). Passing no Google selections returns {css: "", files: []} with zero network calls.

Why not just use mapUrl-less mode and hotlink Google directly?

You can — omit mapUrl and the returned css still points at Google's original file URLs — but that's the exact pattern this package exists to help you avoid for real published sites. It's a reasonable choice ONLY for a non-public preview/staging environment where the privacy consideration doesn't apply.