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

@dsh-dock/node-map

v0.0.1

Published

Signed Node runtime version map consumed by DSH Dock (ed25519). Update Node without shipping a new shell.

Downloads

149

Readme

@dsh-dock/node-map —— 签名的 Node 版本映射包

DSH Dock 的 Node 运行时版本映射,发布为 scoped npm 包(需要先创建 dsh-dock 这个 npm org,或在 package.json 里改用你自己的 scope 并同步 src-tauri/src/updates.rsNODE_MAP_PACKAGE)。壳启动时从 registry 镜像链 (npmmirror → npmjs)拉取 latest 的 tarball,取出 package/map.jsonpackage/map.json.sig,用编译进壳的 ed25519 公钥验签后采纳;任何失败 (拉不到 / 验签不过 / 内容不合法)都回退壳内置基线——fail-closed

目的:升级 Node 版本不需要重新发壳。改 map.json → 签名 → npm publish 即可。

信任模型

签名不证明 Node 工件本身的正确性(SHA-256 值取自 nodejs.org 官方 SHASUMS256.txt),签名证明的是 「DSH Dock 维护方背书这份映射」—— 防的是映射文件在分发链路上被篡改(指向恶意下载、伪哈希)。

更新流程

cd node-map
# 0. 首次:npm login + 创建 npm org `dsh-dock`(或把包名换成自己的 scope)
# 1. 改 map.json:nodeVersion + 六平台 sha256(抄 nodejs.org/dist/<v>/SHASUMS256.txt)
#    同时升 package.json 的 version,并确认 minShellVersion 覆盖存量壳
# 2. 签名(本地私钥或 CI 的 NODE_MAP_SIGNING_KEY)
node scripts/sign.mjs
# 3. 发布
npm publish --access public

密钥管理

  • 首次:node scripts/gen-key.mjs → 私钥落 node-map-private.key(gitignore), 公钥 hex 粘贴到 src-tauri/src/updates.rsNODE_MAP_PUBKEY_HEX
  • 私钥只应存在于:本地密钥文件(不提交)与 GitHub Secret NODE_MAP_SIGNING_KEY(CI 发布用)。任何机器不得长期持有。
  • 轮换:生成新对 → 壳内更新公钥并发版 → 旧密钥销毁。轮换窗口内新旧映射 同时有效(旧壳认旧公钥,直到它们升级)。