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

sindrejs

v0.1.1

Published

Modular TypeScript utilities for browser, Node.js, and Bun

Readme

SindreJS

面向浏览器、Node.js 和 Bun 的 TypeScript 工具库。Bun 用于开发和测试;general 根据扩展名和运行环境选择读写器。

| 入口 | 用途 | | --- | --- | | sindrejs | load_module() 全局惰性加载器、lazy_module() 与 lazy_keyed() 包装器 | | sindrejs/general | 自动读写(含 .env)、Axios 请求与传输、Pino 日志、ZIP、加解密、SSE、流式任务生命周期与异步工具 | | sindrejs/utils2d | Canvas 2D 标注几何与绘制 | | sindrejs/utils3d | Three.js 模型/场景工具、样条、表面路径与局部塑形 | | sindrejs/utils3d/react | React Three Fiber 场景和 Drei 模型、控制器、辅助组件 | | sindrejs/ai | AI 后端统一入口,调用创建器时才加载后端 | | sindrejs/ai/mediapipe | MediaPipe Tasks Vision | | sindrejs/ai/mediapipe/audio | MediaPipe Tasks Audio | | sindrejs/ai/mediapipe/text | MediaPipe Tasks Text | | sindrejs/ai/mediapipe/genai | MediaPipe Tasks GenAI | | sindrejs/ai/tfjs | TensorFlow.js 推理 | | sindrejs/ai/onnx/web、sindrejs/ai/onnx/node | ONNX Runtime Web / Node | | sindrejs/utilsui/react | shadcn/ui Provider、React 通知与状态组件 | | sindrejs/utilsui/toast | Sonner 操作通知 | | sindrejs/utilsui/progress | NProgress 顶部进度条与异步任务跟踪 | | sindrejs/utilsui/video | Vidstack 统一视频播放器,字幕、封面和流媒体 | | sindrejs/utilsui/widgets | 对话框、圆形容错头像、复制按钮与状态 hooks | | sindrejs/utilsui/dialog | 复用对话框的确认与输入请求队列 | | sindrejs/utilsui/canvas | Canvas/WebGL 容器尺寸、像素比例和指针坐标 | | sindrejs/utilsui/panel | 桌面侧栏与窄屏对话框切换 | | sindrejs/utilsui/list | 分页请求、无限滚动与分页控件 | | sindrejs/utilsui/markdown | Tailwind Markdown、代码块与空状态组件 | | sindrejs/utilsui/dnd | dnd-kit 可排序列表和底层拖放 API | | sindrejs/utilsui/swiper | Swiper React 轮播、导航、分页与响应式布局 | | sindrejs/utilsagent | LangChain 消息、多模态 Agent、流式与 SSE |

先读 docs/README.md 了解目录分工、运行环境和限制。安装并检查:

可运行的 Next.js 前后端官网示例见 examples/official-site。

bun install
bun run check
bun test
bun run build

当前最小安装有 6 个运行时直接依赖:axios、clsx、fflate、pino、pino-roll、tailwind-merge。React、Lucide、Three.js、Sonner、Vidstack、AI 引擎等是可选 peer dependency,只安装实际使用的入口。例如使用常规 React UI 组件安装 lucide-react,使用 3D 入口安装 three,浏览器 ONNX 安装 onnxruntime-web。

安装:

npm install sindrejs
import { load_module } from "sindrejs";
const { get_canvas_point } = await load_module("utils2d");
const { get_face_detector } = await load_module("ai");