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

@xneog/dsh-client-ui-settings

v0.1.0

Published

Settings domain base plugin: the settings-namespace scope service and the canonical settings slot-type contract

Readme

@xneog/dsh-client-ui-settings

English | 中文

设置领域的底座,承担两项职责,本身不含任何呈现内容。它提供 ctx.settingsScope——每个偏好设置行绑定自己那份持久化命名空间分区所用的宿主传输层;并声明由注册方填充的设置 slot 类型:settings.triggersettings.headersettings.close(界面框架内容)、settings.action(内容标题栏中的有序操作)、settings.section(每项功能一页)、settings.plugins.tab(“插件”分区内由各功能持有的页面)和 settings.onboarding(由各功能持有的有序页面)。它不依赖任何 ui-* 呈现包,因此任何持有偏好设置的功能都能够到它;设置外壳——sidebar.settings 占位方、它的导航与界面框架——位于 ui-settings-general,因为外壳一旦依赖 ui-sidebar,就会经 ui-layout 与 ui-theme 闭合出一条引用图环路。外壳自身的契约类型出于同一原因与外壳放在一起。

该插件不注入任何服务、也不等待任何服务:ctx.settingsScope.bind(spec) 在调用时经调用方的 context 解析线路面,因此绑定所得 scope 的 disposer 归调用方 fiber 所有,而由调用方注入 connection 取得传输层、注入 remote 取得失效通知。监听器在首次后台读取启动之前就已存在,因此某一行的激活绝不会阻塞在设置传输层上。已绑定的 scope 会在收到属于自己命名空间的转发 settings/document-updated 事件时、以及在 connection/reset 时重新读取。写入携带单一字段路径以及最近已知的命名空间 revision 作为 expectedRevision;被拒绝或失败的写入会重新读取,除非已有更新的写入取代了它,而过期的读取绝不会覆盖发布更新的结果。若 spec 未提供 decode,则分区不是普通对象、未通过其重建后的 schema 校验、或携带本客户端无法重建的 schema 信封时,一律不发布任何值,于是行渲染自己的缺失状态,而不是一份半解码的值。

模型体验

无。设置领域底座为浏览器提供偏好设置存储与 slot 声明;这里没有任何内容进入模型请求。

KV Cache 影响

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

已知限制与暂缓事项

  • 远程浏览器没有持久化设置:设置 RPC 仅限 loopback,因此在非 loopback 浏览器中绑定的 scope 以 unavailable 起步且从不跨线路,它支撑的每一行在那里都是无效的。
  • 每次写入仅一个字段set 只发送单个 set op,因此需要同时改动两个字段的行没有事务可用,会发布两个 revision。