dsh-auto-open-web 0.1.11 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +24 -8
- package/README.md +22 -7
- package/cordis.patch.yml +2 -0
- package/host-publish/DshAppWindow.exe +0 -0
- package/host-publish/DshAppWindow.exe.config +6 -0
- package/host-publish/DshAppWindow.pdb +0 -0
- package/host-publish/Microsoft.Web.WebView2.WinForms.dll +0 -0
- package/host-publish/Microsoft.Web.WebView2.Wpf.dll +0 -0
- package/host-publish/WebView2Loader.dll +0 -0
- package/lib/client.js +4 -4
- package/lib/index.js +52 -5
- package/package.json +2 -2
- package/host-publish/DshAppWindow.deps.json +0 -94
- package/host-publish/DshAppWindow.dll +0 -0
- package/host-publish/DshAppWindow.runtimeconfig.json +0 -20
- package/host-publish/Microsoft.Web.WebView2.Core.xml +0 -6662
- package/host-publish/Microsoft.Web.WebView2.WinForms.xml +0 -504
- package/host-publish/Microsoft.Web.WebView2.Wpf.xml +0 -1902
package/README.en.md
CHANGED
|
@@ -39,6 +39,11 @@ selected by `windowKind`:
|
|
|
39
39
|
(win32 = `cmd /c start`, darwin = `open`, linux = `xdg-open`).
|
|
40
40
|
`appWindow: false` behaves **exactly like the official core**: the GUI is opened in the
|
|
41
41
|
system default browser (plain tab, official `open` method).
|
|
42
|
+
4. **`--no-open` / SSH sessions (official identical suppression)**: `dsh web --no-open`
|
|
43
|
+
(`webStartup.openBrowser === false`) or an SSH session (`SSH_CONNECTION`/`SSH_TTY`
|
|
44
|
+
environment variables, the same source as the official `launchedThroughSsh`) opens
|
|
45
|
+
**nothing** — the plugin reads the **same source** as the official core (the `webStartup`
|
|
46
|
+
service provided by web-startup) and suppresses opening the same way.
|
|
42
47
|
|
|
43
48
|
The port comes from the real listening value of the webServer service (`--port` overrides and
|
|
44
49
|
`--port 0` both work). **No waiting needed**: the plugin declares webServer as a hard dependency
|
|
@@ -54,15 +59,20 @@ cleanup.
|
|
|
54
59
|
> plugin's bundle patch, so the opening behavior is fully owned by the plugin: with
|
|
55
60
|
> `appWindow: true` the app-style window opens and no ordinary browser page pops up; with
|
|
56
61
|
> `appWindow: false` the plugin performs **the same default-browser handoff as the official core**
|
|
57
|
-
> (open package → native platform launch), matching the no-plugin behavior.
|
|
58
|
-
>
|
|
62
|
+
> (open package → native platform launch), matching the no-plugin behavior. With
|
|
63
|
+
> `dsh web --no-open` (or in an SSH session) the plugin, like the official core, opens
|
|
64
|
+
> nothing. Uninstalling the plugin restores the official default.
|
|
59
65
|
|
|
60
66
|
### WebView2 host requirements (webview2 mode only)
|
|
61
67
|
|
|
62
68
|
- Windows 10 1803+ / Windows 11 / Windows Server 2016+
|
|
63
69
|
(Win7/8.1 reached end of support in 2023-01, see Microsoft announcements)
|
|
64
70
|
- WebView2 Runtime (evergreen, usually preinstalled with Edge; verified with 151.x locally)
|
|
65
|
-
- .NET 10 runtime
|
|
71
|
+
- **No .NET 10 runtime required**: since 0.1.15 the host targets **.NET Framework 4.7.2**,
|
|
72
|
+
built into Windows 10 1803+ / Windows 11 (4.8.x on Win11) — no .NET Core/10 runtime or
|
|
73
|
+
self-contained publish is needed. The build machine needs a .NET SDK and the .NET
|
|
74
|
+
Framework 4.x targeting packs (installed with VS/SDK; without them add the
|
|
75
|
+
`Microsoft.NETFramework.ReferenceAssemblies` NuGet package to the csproj).
|
|
66
76
|
|
|
67
77
|
## Configuration
|
|
68
78
|
|
|
@@ -164,9 +174,10 @@ without touching the package.
|
|
|
164
174
|
|
|
165
175
|
- **Zero dependencies**: every runtime dependency is provided by the **DSH deployment** and
|
|
166
176
|
declared as an optional peer (no install warnings):
|
|
167
|
-
- `@deepseek-ai/dsh` (the host; declares the compatibility range `>=0.1.0-rc.
|
|
168
|
-
|
|
169
|
-
`
|
|
177
|
+
- `@deepseek-ai/dsh` (the host; declares the compatibility range `>=0.1.0-rc.8 <0.2.0` —
|
|
178
|
+
rc.8 removed `dsh-client-schema-form` from the client frozen table and introduced
|
|
179
|
+
`dsh-client-runtime`; the plugin's settings card and opening behavior depend on that
|
|
180
|
+
release; no runtime version check is performed)
|
|
170
181
|
- `@deepseek-ai/schemastery` (config schema validator; resolved at runtime: normal import
|
|
171
182
|
first, then the DSH deployment copy under the Windows global npm layout)
|
|
172
183
|
- `koffi` (Windows only: Job Object / process verification / native file dialog; same runtime
|
|
@@ -194,8 +205,13 @@ without touching the package.
|
|
|
194
205
|
plugin-generated DSH .ico (`~/.dsh/auto-open-web-icon.ico`), independent of browser taskbar
|
|
195
206
|
identity rules. The .ico is built by fetching the local `favicon.svg` and rasterizing it with
|
|
196
207
|
**sharp** (bundled with the deployment, resolved upward at runtime, not declared as a dependency)
|
|
197
|
-
into 16/32/48/64/128/256 PNGs
|
|
198
|
-
|
|
208
|
+
into 16/32/48/64/128/256 PNGs.
|
|
209
|
+
- **Fixed-icon policy (since 0.1.14)**: once written, the .ico is cached and reused — later
|
|
210
|
+
starts return the existing non-empty cache directly (no favicon fetch / rasterization, so the
|
|
211
|
+
icon cannot vanish on a transient favicon/sharp failure, and starts are faster); it is
|
|
212
|
+
generated only when the cache is missing. **Extra safety net**: `host/icon.ico` (same source as
|
|
213
|
+
the cache) is embedded into the host exe via `<ApplicationIcon>`, so even with a missing cache
|
|
214
|
+
the window/taskbar shows the DSH icon instead of the default one.
|
|
199
215
|
|
|
200
216
|
## Platform support
|
|
201
217
|
|
package/README.md
CHANGED
|
@@ -36,6 +36,11 @@ dsh web profile 启动后自动打开独立应用窗口(或网页标签页)
|
|
|
36
36
|
linux = `xdg-open`)。
|
|
37
37
|
`appWindow: false` 时**与官方相同**:默认浏览器打开(普通标签页,官方
|
|
38
38
|
open 方式)。
|
|
39
|
+
4. **`--no-open` / SSH 会话(与官方相同的不打开)**:`dsh web --no-open`
|
|
40
|
+
(webStartup 服务的 `openBrowser === false`)或 SSH 会话(`SSH_CONNECTION`/
|
|
41
|
+
`SSH_TTY` 环境变量,与官方 `launchedThroughSsh` 同源)时不打开任何
|
|
42
|
+
窗口/页面——插件读取与官方**同一来源**(web-startup 提供的 webStartup
|
|
43
|
+
服务)做同样的抑制。
|
|
39
44
|
|
|
40
45
|
端口取自 webServer 服务的真实监听值(`--port` 自定义、`--port 0` 均正确)。
|
|
41
46
|
**无需等待**:插件把 webServer 声明为硬依赖(`inject`),Cordis 会等
|
|
@@ -49,15 +54,20 @@ Job Object(强杀也生效)+ 退出清理结束进程树。
|
|
|
49
54
|
> 安装本插件后,插件的 bundle 补丁会把 `web-runtime.openBrowser` 置为 `false`,
|
|
50
55
|
> 打开行为完全由本插件接管:`appWindow: true` 时打开独立应用窗口,不弹出
|
|
51
56
|
> 普通浏览器页面;`appWindow: false` 时插件执行**与官方核心相同的默认浏览器
|
|
52
|
-
> 交接**(open 包 →
|
|
53
|
-
>
|
|
57
|
+
> 交接**(open 包 → 平台原生拉起),行为与未安装插件时一致;`dsh web
|
|
58
|
+
> --no-open`(或 SSH 会话)时与官方一致不打开任何窗口/页面。卸载插件后
|
|
59
|
+
> 恢复官方默认行为。
|
|
54
60
|
|
|
55
61
|
### WebView2 宿主要求(仅 webview2 模式)
|
|
56
62
|
|
|
57
63
|
- Windows 10 1803+ / Windows 11 / Windows Server 2016+
|
|
58
64
|
(Win7/8.1 已于 2023-01 终止支持,见微软公告)
|
|
59
65
|
- WebView2 Runtime(常青版,通常随 Edge 预装;本机已验证 151.x)
|
|
60
|
-
- .NET 10
|
|
66
|
+
- **无 .NET 10 运行时要求**:宿主自 0.1.15 起目标 **.NET Framework 4.7.2**,
|
|
67
|
+
由 Windows 10 1803+ / Windows 11 **操作系统自带**(Win11 为 4.8.x),
|
|
68
|
+
无需安装任何 .NET Core/10/自包含运行时。构建机需 .NET SDK 与 .NET
|
|
69
|
+
Framework 4.x 定位包(随 VS/SDK 安装;无定位包时给 csproj 加
|
|
70
|
+
`Microsoft.NETFramework.ReferenceAssemblies` NuGet 包)。
|
|
61
71
|
|
|
62
72
|
## 配置
|
|
63
73
|
|
|
@@ -154,8 +164,9 @@ dsh plugin --profile web remove dsh-auto-open-web # 同时移除依赖与对
|
|
|
154
164
|
|
|
155
165
|
- **本包零 dependencies**:所有运行时依赖均由 **DSH 部署提供**,以 optional
|
|
156
166
|
peer 声明(安装无警告):
|
|
157
|
-
- `@deepseek-ai/dsh`(宿主,声明兼容范围 `>=0.1.0-rc.
|
|
158
|
-
|
|
167
|
+
- `@deepseek-ai/dsh`(宿主,声明兼容范围 `>=0.1.0-rc.8 <0.2.0`:
|
|
168
|
+
自 rc.8 起客户端冻结表移除 `dsh-client-schema-form`、引入
|
|
169
|
+
`dsh-client-runtime`,本插件的设置卡片与打开行为均依赖该版本;
|
|
159
170
|
不做运行时版本检测)
|
|
160
171
|
- `@deepseek-ai/schemastery`(配置 schema 校验器;运行时解析:常规 import
|
|
161
172
|
优先,其次 Windows 全局 npm 布局下的 DSH 部署副本)
|
|
@@ -184,8 +195,12 @@ dsh plugin --profile web remove dsh-auto-open-web # 同时移除依赖与对
|
|
|
184
195
|
- **任务栏/窗口图标(WebView2 宿主)**:宿主进程直接设置 `Form.Icon` = 插件生成的
|
|
185
196
|
DSH .ico(`~/.dsh/auto-open-web-icon.ico`),与浏览器任务栏身份机制无关。
|
|
186
197
|
.ico 来源:抓取本机 `favicon.svg`,用 **sharp**(部署自带,运行时向上解析,
|
|
187
|
-
未声明为依赖)栅格化为 16/32/48/64/128/256 PNG
|
|
188
|
-
|
|
198
|
+
未声明为依赖)栅格化为 16/32/48/64/128/256 PNG 后组装。
|
|
199
|
+
- **图标固定策略(自 0.1.14)**:生成的 .ico 一经写盘即**缓存固定**——后续启动
|
|
200
|
+
检测到缓存存在且非空就直接复用,不再抓取 favicon/栅格化(图标不会因某次
|
|
201
|
+
favicon 或 sharp 瞬时失败而消失,启动也更快);仅缓存缺失时生成一次。
|
|
202
|
+
另有**兜底**:`host/icon.ico`(与缓存同源)已通过 `<ApplicationIcon>`
|
|
203
|
+
嵌入宿主 exe,即使缓存文件缺失,窗口/任务栏也显示 DSH 图标而非默认图标。
|
|
189
204
|
|
|
190
205
|
## 平台支持
|
|
191
206
|
|
package/cordis.patch.yml
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
# openBrowser 关闭后打开行为由插件全权接管:appWindow: true → 独立应用窗口;
|
|
13
13
|
# appWindow: false → 插件执行与官方核心相同的默认浏览器交接(open 包 →
|
|
14
14
|
# 平台原生拉起,普通标签页),行为与未安装本插件时一致。
|
|
15
|
+
# `dsh web --no-open`(webStartup.openBrowser === false)或 SSH 会话时,插件
|
|
16
|
+
# 读取**同一 webStartup 服务**判断,与官方一致不打开任何窗口/页面。
|
|
15
17
|
- id: web-runtime
|
|
16
18
|
config:
|
|
17
19
|
openBrowser: false
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/lib/client.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
// require 解析浏览器端模块表(react 为壳层静态模块,@deepseek-ai/dsh-client-runtime
|
|
4
4
|
// 为动态包)。**不** require @deepseek-ai/dsh-client-ui-primitives 等官方 UI 包。
|
|
5
5
|
//
|
|
6
|
-
// 依赖边界(
|
|
7
|
-
// - settingsScope:官方 settings 域(命名空间 `auto-open-web
|
|
8
|
-
//
|
|
9
|
-
// - slots:settings.plugin.item 插槽(keyed
|
|
6
|
+
// 依赖边界(与官方数据的对接面,均为公开接口;本插件声明 dsh ≥0.1.0-rc.8):
|
|
7
|
+
// - settingsScope:官方 settings 域(命名空间 `auto-open-web`;第三方命名空间
|
|
8
|
+
// 白名单自 rc.7 起已取消,rc.8 下无限制)
|
|
9
|
+
// - slots:settings.plugin.item 插槽(keyed 注册,rc.7 起要求 options.key)
|
|
10
10
|
// - locale:文案注册(zh/en/ja/ko/fr/de/ru,跟随界面语言)
|
|
11
11
|
// - dsh-client-runtime:createSnapshotStore 快照 store(缺失时内置兜底实现)
|
|
12
12
|
//
|
package/lib/index.js
CHANGED
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
* 作为最后的兜底;open 包不可用时平台原生 cmd start / open / xdg-open)。
|
|
18
18
|
* appWindow: false → **与官方相同**:同样执行默认浏览器交接(官方 open 方式),
|
|
19
19
|
* 替代被本插件补丁关闭的官方核心交接,行为与未安装本插件时一致。
|
|
20
|
+
* --no-open / SSH 会话 → **与官方相同**:不打开任何窗口/页面(读取官方
|
|
21
|
+
* webStartup 服务的 openBrowser 标志;SSH 会话按官方同源环境变量判定)。
|
|
20
22
|
*
|
|
21
23
|
* 配置来源:行配置(cordis.patch.yml)作为启动种子;设置页卡片(客户端 bundle,
|
|
22
24
|
* settings.plugin.item 插槽)经官方 settings 域(settingsScope)读写本命名
|
|
@@ -29,7 +31,7 @@
|
|
|
29
31
|
* (WebView2 宿主例外:随 DSH 退出而关闭)。
|
|
30
32
|
*/
|
|
31
33
|
import { spawn } from 'node:child_process';
|
|
32
|
-
import { existsSync, rmSync, writeFileSync } from 'node:fs';
|
|
34
|
+
import { existsSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
33
35
|
import { createRequire } from 'node:module';
|
|
34
36
|
import { join } from 'node:path';
|
|
35
37
|
import { pathToFileURL } from 'node:url';
|
|
@@ -296,6 +298,33 @@ async function openDefaultBrowser(url) {
|
|
|
296
298
|
return platform.openDefaultBrowser(url);
|
|
297
299
|
}
|
|
298
300
|
|
|
301
|
+
// ── 与官方相同的打开抑制(--no-open / SSH 会话) ────────────────────────────
|
|
302
|
+
//
|
|
303
|
+
// 官方(web-app)的默认浏览器交接条件是 handoffBrowser = config.openBrowser &&
|
|
304
|
+
// !launchedThroughSsh(ctx):config.openBrowser 来自 web-startup 插件提供的
|
|
305
|
+
// webStartup 服务(--no-open 时 openBrowser === false,即 commander 对
|
|
306
|
+
// --no-open 的反向选项 options.open);SSH 会话(SSH_CONNECTION/SSH_TTY 进程
|
|
307
|
+
// 环境变量)同样不自动打开。本插件的 bundle 补丁把官方 openBrowser 恒置为
|
|
308
|
+
// false、打开行为由本插件接管,故此处读取**同一来源**做同样的抑制,保证
|
|
309
|
+
// `dsh web --no-open`(及 SSH 会话)与官方行为一致:不打开任何窗口/页面。
|
|
310
|
+
/**
|
|
311
|
+
* --no-open 是否已传(webStartup.openBrowser === false)。
|
|
312
|
+
* webStartup 由 web-startup 插件提供(同一 isolate 的根服务表,ctx.get 可见);
|
|
313
|
+
* 非 web 组合(服务缺失)视为未传,不误伤。
|
|
314
|
+
*/
|
|
315
|
+
function noOpenRequested(ctx) {
|
|
316
|
+
const webStartup = ctx.get('webStartup');
|
|
317
|
+
return webStartup !== undefined && webStartup !== null && webStartup.openBrowser === false;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/** 是否 SSH 会话(与官方 launchedThroughSsh 同源:进程环境变量)。 */
|
|
321
|
+
function sshSessionDetected() {
|
|
322
|
+
return (
|
|
323
|
+
(process.env.SSH_CONNECTION !== undefined && process.env.SSH_CONNECTION !== '') ||
|
|
324
|
+
(process.env.SSH_TTY !== undefined && process.env.SSH_TTY !== '')
|
|
325
|
+
);
|
|
326
|
+
}
|
|
327
|
+
|
|
299
328
|
// ── 配置与历史迁移(共通) ─────────────────────────────────────────────────
|
|
300
329
|
|
|
301
330
|
/** 删除 v0.3 遗留的 state 文件(一次性清理,防孤儿数据)。 */
|
|
@@ -325,8 +354,13 @@ function normalizeState(next) {
|
|
|
325
354
|
// ── 图标栅格化(WebView2 宿主窗口图标需要 .ico;共通) ─────────────────────
|
|
326
355
|
//
|
|
327
356
|
// GUI 自带的 manifest 只有 SVG 图标(favicon.svg)。这里抓取本机 favicon.svg,
|
|
328
|
-
// 用 sharp(部署自带,运行时向上解析,未声明为依赖)栅格化为多尺寸 PNG
|
|
329
|
-
// 再组装成 .ico 供宿主窗口的 Form.Icon 使用;失败仅告警(
|
|
357
|
+
// 用 sharp(部署自带,运行时向上解析,未声明为依赖)栅格化为多尺寸 PNG,
|
|
358
|
+
// 再组装成 .ico 供宿主窗口的 Form.Icon 使用;失败仅告警(宿主退回内置图标)。
|
|
359
|
+
//
|
|
360
|
+
// **图标固定策略**(0.1.14):生成的 .ico 缓存于 `~/.dsh/auto-open-web-icon.ico`,
|
|
361
|
+
// 缓存存在且非空时**直接复用,不再每次启动抓取 favicon 并栅格化**——图标一经
|
|
362
|
+
// 生成即固定不变,也不会因某次启动的 favicon/sharp 瞬时失败而消失;
|
|
363
|
+
// 仅缓存缺失(首次运行/被删除)时生成一次,之后永不改写。
|
|
330
364
|
let iconCache = null;
|
|
331
365
|
let iconFetching = null;
|
|
332
366
|
|
|
@@ -385,13 +419,15 @@ function buildIco(pngs) {
|
|
|
385
419
|
return Buffer.concat([header, ...entries, ...sizes.map((s) => pngs.get(s))]);
|
|
386
420
|
}
|
|
387
421
|
|
|
388
|
-
/** 生成宿主窗口用的 DSH .ico(缓存于 ~/.dsh/auto-open-web-icon.ico),失败返回 null。
|
|
422
|
+
/** 生成宿主窗口用的 DSH .ico(缓存于 ~/.dsh/auto-open-web-icon.ico),失败返回 null。
|
|
423
|
+
* 缓存存在且非空时直接复用(固定图标,不再生成);仅在缓存缺失时生成并写盘。 */
|
|
389
424
|
async function ensureIconFile(server) {
|
|
425
|
+
const out = join(dshHome(), 'auto-open-web-icon.ico');
|
|
390
426
|
try {
|
|
427
|
+
if (existsSync(out) && statSync(out).size > 0) return out;
|
|
391
428
|
const icons = await getIcons(server);
|
|
392
429
|
if (icons === null) return null;
|
|
393
430
|
const ico = buildIco(icons.pngs);
|
|
394
|
-
const out = join(dshHome(), 'auto-open-web-icon.ico');
|
|
395
431
|
writeFileSync(out, ico);
|
|
396
432
|
return out;
|
|
397
433
|
} catch (error) {
|
|
@@ -421,6 +457,8 @@ export const internals = {
|
|
|
421
457
|
spawnHostWindow,
|
|
422
458
|
getOpenPackage,
|
|
423
459
|
openDefaultBrowser,
|
|
460
|
+
noOpenRequested,
|
|
461
|
+
sshSessionDetected,
|
|
424
462
|
/** 测试钩子:同步"窗口关闭时退出 DSH"生效标志(模拟设置保存)。 */
|
|
425
463
|
setExitWatcherEnabled(value) {
|
|
426
464
|
exitWatcherEnabled = value === true;
|
|
@@ -561,6 +599,15 @@ export function apply(ctx, config) {
|
|
|
561
599
|
}
|
|
562
600
|
const url = `http://127.0.0.1:${String(server.port)}`;
|
|
563
601
|
|
|
602
|
+
// 与官方相同的打开抑制:--no-open(webStartup.openBrowser === false)或
|
|
603
|
+
// SSH 会话时不打开任何窗口/页面(官方同样不交接)。
|
|
604
|
+
const noOpen = noOpenRequested(ctx);
|
|
605
|
+
const ssh = sshSessionDetected();
|
|
606
|
+
if (noOpen || ssh) {
|
|
607
|
+
console.log(`[auto-open-web] ${noOpen ? '--no-open given' : 'SSH session'}; not opening anything (official behavior)`);
|
|
608
|
+
return;
|
|
609
|
+
}
|
|
610
|
+
|
|
564
611
|
// 独立应用窗口:按 windowKind 显式选择(webview2 | browser),直接加载 GUI 根地址。
|
|
565
612
|
// 所选类型不可用时降级到最后兜底:默认浏览器打开(官方 dsh web 同款,
|
|
566
613
|
// 普通标签页),保证用户至少能打开 GUI。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-auto-open-web",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "Open the DSH Web GUI in an app-style WebView2 window on profile start, with a settings card for browser paths",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"README.en.md"
|
|
47
47
|
],
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@deepseek-ai/dsh": ">=0.1.0-rc.
|
|
49
|
+
"@deepseek-ai/dsh": ">=0.1.0-rc.8 <0.2.0",
|
|
50
50
|
"@deepseek-ai/schemastery": "^3.18.1"
|
|
51
51
|
},
|
|
52
52
|
"peerDependenciesMeta": {
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"runtimeTarget": {
|
|
3
|
-
"name": ".NETCoreApp,Version=v10.0",
|
|
4
|
-
"signature": ""
|
|
5
|
-
},
|
|
6
|
-
"compilationOptions": {},
|
|
7
|
-
"targets": {
|
|
8
|
-
".NETCoreApp,Version=v10.0": {
|
|
9
|
-
"DshAppWindow/0.1.5": {
|
|
10
|
-
"dependencies": {
|
|
11
|
-
"Microsoft.Web.WebView2": "1.0.3124.44",
|
|
12
|
-
"Microsoft.Web.WebView2.Core": "1.0.3124.44",
|
|
13
|
-
"Microsoft.Web.WebView2.WinForms": "1.0.3124.44",
|
|
14
|
-
"Microsoft.Web.WebView2.Wpf": "1.0.3124.44"
|
|
15
|
-
},
|
|
16
|
-
"runtime": {
|
|
17
|
-
"DshAppWindow.dll": {}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"Microsoft.Web.WebView2/1.0.3124.44": {
|
|
21
|
-
"runtimeTargets": {
|
|
22
|
-
"runtimes/win-arm64/native/WebView2Loader.dll": {
|
|
23
|
-
"rid": "win-arm64",
|
|
24
|
-
"assetType": "native",
|
|
25
|
-
"fileVersion": "1.0.3124.44"
|
|
26
|
-
},
|
|
27
|
-
"runtimes/win-x64/native/WebView2Loader.dll": {
|
|
28
|
-
"rid": "win-x64",
|
|
29
|
-
"assetType": "native",
|
|
30
|
-
"fileVersion": "1.0.3124.44"
|
|
31
|
-
},
|
|
32
|
-
"runtimes/win-x86/native/WebView2Loader.dll": {
|
|
33
|
-
"rid": "win-x86",
|
|
34
|
-
"assetType": "native",
|
|
35
|
-
"fileVersion": "1.0.3124.44"
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
"Microsoft.Web.WebView2.Core/1.0.3124.44": {
|
|
40
|
-
"runtime": {
|
|
41
|
-
"Microsoft.Web.WebView2.Core.dll": {
|
|
42
|
-
"assemblyVersion": "1.0.3124.44",
|
|
43
|
-
"fileVersion": "1.0.3124.44"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"Microsoft.Web.WebView2.WinForms/1.0.3124.44": {
|
|
48
|
-
"runtime": {
|
|
49
|
-
"Microsoft.Web.WebView2.WinForms.dll": {
|
|
50
|
-
"assemblyVersion": "1.0.3124.44",
|
|
51
|
-
"fileVersion": "1.0.3124.44"
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
"Microsoft.Web.WebView2.Wpf/1.0.3124.44": {
|
|
56
|
-
"runtime": {
|
|
57
|
-
"Microsoft.Web.WebView2.Wpf.dll": {
|
|
58
|
-
"assemblyVersion": "1.0.3124.44",
|
|
59
|
-
"fileVersion": "1.0.3124.44"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
"libraries": {
|
|
66
|
-
"DshAppWindow/0.1.5": {
|
|
67
|
-
"type": "project",
|
|
68
|
-
"serviceable": false,
|
|
69
|
-
"sha512": ""
|
|
70
|
-
},
|
|
71
|
-
"Microsoft.Web.WebView2/1.0.3124.44": {
|
|
72
|
-
"type": "package",
|
|
73
|
-
"serviceable": true,
|
|
74
|
-
"sha512": "sha512-sQb+ACD3ILvHxztxqCWLbhYmFNf5dH0HPhVKFYg020rpeQPkadH0nkVOSsgfSyBDMLypI9iMBeD6uVcVxsKLkg==",
|
|
75
|
-
"path": "microsoft.web.webview2/1.0.3124.44",
|
|
76
|
-
"hashPath": "microsoft.web.webview2.1.0.3124.44.nupkg.sha512"
|
|
77
|
-
},
|
|
78
|
-
"Microsoft.Web.WebView2.Core/1.0.3124.44": {
|
|
79
|
-
"type": "reference",
|
|
80
|
-
"serviceable": false,
|
|
81
|
-
"sha512": ""
|
|
82
|
-
},
|
|
83
|
-
"Microsoft.Web.WebView2.WinForms/1.0.3124.44": {
|
|
84
|
-
"type": "reference",
|
|
85
|
-
"serviceable": false,
|
|
86
|
-
"sha512": ""
|
|
87
|
-
},
|
|
88
|
-
"Microsoft.Web.WebView2.Wpf/1.0.3124.44": {
|
|
89
|
-
"type": "reference",
|
|
90
|
-
"serviceable": false,
|
|
91
|
-
"sha512": ""
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
Binary file
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"runtimeOptions": {
|
|
3
|
-
"tfm": "net10.0",
|
|
4
|
-
"frameworks": [
|
|
5
|
-
{
|
|
6
|
-
"name": "Microsoft.NETCore.App",
|
|
7
|
-
"version": "10.0.0"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"name": "Microsoft.WindowsDesktop.App",
|
|
11
|
-
"version": "10.0.0"
|
|
12
|
-
}
|
|
13
|
-
],
|
|
14
|
-
"configProperties": {
|
|
15
|
-
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
|
16
|
-
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
|
|
17
|
-
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|