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

@fontize/vite

v0.1.3

Published

fontize 的 Vite 装配层:构建期静态提取 useText 字面量与子集产物输出、dev 文本收集中间件(不依赖 Nuxt)

Readme

@fontize/vite

fontize 的框架无关 Vite 装配层:构建期静态提取 useText 字面量、dev 实时文本收集中间件与字体 HMR、构建产物输出(hash woff2 + 固定名 fonts.css)。纯 Vite 项目无需 Nuxt 即可使用 fontize;@fontize/nuxt 亦由本包的低阶部件组装。

// vite.config.ts
import { fontizeVite } from '@fontize/vite'
import vue from '@vitejs/plugin-vue'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [
    vue(),
    fontizeVite({ fonts: [{ alias: 'noto-serif', src: './fonts/NotoSansSC.ttf' }] }),
  ],
})
// main.ts
import { createFontizeClient } from '@fontize/vite/client'
import { createApp } from 'vue'
import App from './App.vue'

createApp(App).use(createFontizeClient()).mount('#app')
  • dev:connect 中间件收集文本、实时重建子集,fontize:updated ws 事件驱动字体热替换
  • build:静态提取字面量(省略 alias 的调用回退注册表首字体)→ transformIndexHtml 注入 /fonts.css link → closeBundle 落盘产物
  • 自定义 SSR:createDirectTransport(state) 提供进程内直写 transport(缺省 alias 同规则回退)
  • 装配辅助:再导出 getDefaultAlias / resolveCollectAlias(默认字体规则与 alias 归一化的单一出处,来自 @fontize/core

限制:dev 限 base: '/'(build 支持任意 base);纯 SPA 的运行时动态文本不入子集,用 include 配置兜底;as 重命名导入 × 非生产构建(非 inline 编译)的模板内联调用不参与静态提取(已知边界)。

完整文档与在线演示见仓库:github.com/Lionad-Morotar/fontize

License

MIT