baosfeng/my-dsh-plugins--plugins-dsh-shared5

dsh-shared

DSH 插件共享工具包:Host-header 信任围栏、HTTP JSON 读写、配置持久化(cordis.patch.yml)、项目根解析、异步与消息工具、原子写。多插件共用实现,消除复制粘贴(issue #45)。

AI 分析

适合DSH插件开发者,用于简化安全围栏、读写和配置持久化开发。

パッケージ
dsh-shared
バージョン
0.1.3
最終更新
2026/09/12

インストール

検証済み bundle がないか、互換性チェックに失敗しています。先にリポジトリの説明を読んでください。 README 全文を読む ↗

ドキュメント

README 全文を読む ↗

使用

import { isTrustedApiRequest, readJsonBody, writeJson, createWriteScheduler, atomicWriteJson } from 'dsh-shared'

// 路由注册时用信任围栏过滤非可信来源
const fence = (request) => isTrustedApiRequest(request, ctx.webRuntime.trustedHosts)

// 状态快照落盘:调度器保证节奏,护栏兜底
const scheduler = createWriteScheduler({
  logger: ctx.logger,
  write: ({ force }) => atomicWriteJson(file, state, ctx.logger, '[my-plugin]', { force, maxBytes: 4 * 1024 * 1024 }),
})
scheduler.schedule() // 变更后调度(防抖合并)
await scheduler.drain() // 就绪信号:确定已落盘(测试用它替掉 sleep)
await scheduler.flush() // teardown:立即强写