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

@shulex/icons

v1.0.68

Published

Shulex 图标组件库

Downloads

1,555

Readme

@shulex/icons

Shulex 图标组件库,基于 React 的 SVG 图标组件。

安装

npm install @shulex/icons
# or
pnpm add @shulex/icons

使用

import { SearchOutlined } from '@shulex/icons';

function App() {
  return (
    <div>
      <SearchOutlined style={{ fontSize: 24, color: '#1890ff' }} />
    </div>
  );
}

预览图标

pnpm dev

启动 Playground 开发服务器,在浏览器中预览所有图标。支持实时搜索、调整大小颜色、点击复制 import 语句。

发布新图标(Figma 插件)

图标的添加和发布完全通过 Figma 插件完成,无需手动操作仓库。

前置准备

  1. 在 Figma 中安装 Shulex Icons 插件
  2. 打开插件 → 设置页,填入 GitHub Personal Access Token

发布流程

  1. 在 Figma 画布上创建图标组件 组件命名规则:{图标名}{样式},样式必须为 OutlinedFilledColored 之一 例如:ArrowRightOutlinedStarFilledLogoColored

  2. 打开插件 → 发布页 插件会自动扫描画布上所有符合命名规则的图标组件

  3. 勾选要发布的图标,点击「发布选中图标」 插件会依次完成:

    • 导出 SVG
    • 校验命名、尺寸(必须 24×24)、拼写、重复检测
    • 将所有 SVG 以单次 commit 提交到仓库
    • 等待 CI 执行完成(按钮保持 loading 状态,点击进度文字可跳转到 CI 日志)
  4. CI 完成后自动发布 GitHub Actions 会自动执行:生成 React 组件 → 构建 → 发布到 npm → 钉钉通知

图标命名规范

  • 格式:PascalCase + 样式后缀,如 ArrowRightOutlined
  • 仅含英文字母和数字,不含下划线、连字符、空格
  • SVG 尺寸必须为 24×24
  • 不能包含文字节点(需先轮廓化)

CI / 自动发布

每次向 master 分支的 static/ 目录推送变更时自动触发,执行步骤:

  1. pnpm generate — 将 SVG 转换为 React 组件
  2. pnpm build — 构建产物
  3. 自动 bump patch 版本号并提交
  4. npm publish — 发布到 npm(latest tag)
  5. 钉钉通知,附新增图标预览

脚本说明

| 命令 | 说明 | |------|------| | pnpm dev | 启动 Playground 预览所有图标 | | pnpm generate | 从 static/ 生成图标组件到 src/icons/ | | pnpm build | 构建生产版本 |