ankesu/dsh-client-url-shim

ankesu★ 0JavaScriptLast synced: 2026-08-16

Open on GitHub

Browser url shim for DeepSeek Harness client bundles: inlines a node:url polyfill (parse/resolve/format/URL) so dependencies like @pixi/utils build and run in the web module table. · DSH 客户端构建的 url 浏览器垫片

README excerpt

dsh-client-url-shim Browser url shim for DeepSeek Harness client bundles — a tsdown plugin that inlines a node:url polyfill so dependencies like @pixi/utils build and run inside the DSH web module table. DSH 客户端 bundle 的 url 浏览器垫片——把依赖里 node:url 的导入替换成浏览器安全实现, 解决 require("url") missed the module table 崩溃。 Problem / 问题 DSH client bundles are CJS artifacts executed by the harness's own module loader. The loader only answers requires from a frozen module table (platform seed modules). A dependency that imports Node builtins — e.g. @pixi/utils does import { parse } from 'url' — compiles to require("url") , which the table cannot answer: DSH 客户端 bundle 由 DSH 自己的模块加载器执行,只认冻结的模块表。依赖里 import node:url 会编译成 require("url") ,模块表没有 url → 整个插件加载失败。 Solution / 方案 A small tsdown/Rolldown plugin intercepts url / node:url imports at build time and replaces them with a virtual browser-safe module: - parse — Node-style URL decomposition (falls back to new URL ) - resolve — Node-style path resolution (absolute → URL, relative → join with .. handling) - format — best-effort href/pathname serialization - fileURLToPath / pathToFileURL — trivial browser equivalents - URL / URLSearchParams — the real browse…

View full README on GitHub →
Terminal / TUIbrowserdeepseek-harnessdshdsh-pluginpolyfillurl

Category