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

@harness-desktop/dsh-client-web

v1.0.0

Published

Web shell kernel: bootWebShell (module system holding + seed table + two-stage boot + AppRoot gate + app-shell assembly entry), consumed by the apps/web vite entry

Readme

@harness-desktop/dsh-client-web

English | 中文

Web 外壳内核:new AppWebEntry(el, seams?).run() 通过两阶段启动(web2)挂载整个客户端。第一阶段(模块侧):构建客户端模块系统(@harness-desktop/dsh-client-modules),以主机推送的配置项图(window.__DSH_BOOT__)为基础,并行预取 immediately 层级;执行组合包只会注册 factory。第二阶段(插件侧):挂载仓库内置的 Cordis Loader,并通过其 internal 约定注入模块系统;为每一行图数据创建一个 loader 配置项,另创建外壳自身的 app-shell 组装配置项(tree.import 会物化各模块);以 settle 作为 AppRoot 的门禁(loader 完全停稳 + 每个配置项 fiber 都为 ACTIVE → 一次切换显示完整 UI)。组合完全由主机图决定:花名册和 immediately 层级都位于负责组合的应用中;外壳不作任何组合决策。

外壳自给自足(web2 硬性规则):内核不对任何插件包执行值导入;启动状态 store 与信号在这里手写(loader-status.ts),因此即使插件失败,加载页面仍能工作,而此时这一点尤其重要。app-shell 组装(@harness-desktop/dsh-client-app-shell,由外壳拥有、背后没有 npm 包的伪配置项)是唯一通过 registerStatic 注册的模块;它与任何插件一样,通过 inject 等待 slots/sessions/layout。

PLATFORM_MODULES(src/platform.ts)是共享模块接口的唯一真源:种子表 key、tsdown 客户端 external 和 vite alias 集都是它的投影。

可选的覆盖参数 seams 会为外部 <script> 执行无法到达页面上下文的环境转发模块系统的 loadBundle 传输覆盖(BootSeams);普通浏览器调用方省略此参数。

外壳拥有浏览器标题投影。选中带有持久标题的会话时,它会渲染 <session title> — <existing HTML title> 并响应后续标题修订;未选择会话或选中无标题会话时,会保留现有标题;外壳卸载时恢复标题。现有 HTML 标题仍是可配置的产品后缀。

模型体验

无。入口外壳负责启动浏览器插件树;这里没有任何内容进入模型请求。

KV Cache 影响

无;该包既不组装也不发送提供方请求。

已知限制与暂缓事项

  • 有意采用一次性渲染:UI 等待启动 settle;只要一个配置项失败,加载页面就会保留并逐项显示醒目的报告,不提供部分可用性(渐进式渲染将作为独立项目恢复)。
  • 窄窗口外壳行为缺少组装后演练:ui-layout 已实现让步链,但该包没有外壳级窄视口验收用例。