dsh-life-pack 0.2.0 → 0.2.2
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/dist/client.js +820 -13
- package/dist/client.js.map +1 -1
- package/dist/dsh-ctx.d.ts +18 -2
- package/dist/dsh-ctx.d.ts.map +1 -1
- package/dist/index.d.ts +4 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +63 -7
- package/dist/index.js.map +1 -1
- package/dist/nav.d.ts +34 -1
- package/dist/nav.d.ts.map +1 -1
- package/dist/nav.js +43 -1
- package/dist/nav.js.map +1 -1
- package/dist/update-client.d.ts +40 -0
- package/dist/update-client.d.ts.map +1 -0
- package/dist/update-client.js +121 -0
- package/dist/update-client.js.map +1 -0
- package/dist/update-contract.d.ts +47 -0
- package/dist/update-contract.d.ts.map +1 -0
- package/dist/update-contract.js +69 -0
- package/dist/update-contract.js.map +1 -0
- package/dist/update-env.d.ts +36 -0
- package/dist/update-env.d.ts.map +1 -0
- package/dist/update-env.js +242 -0
- package/dist/update-env.js.map +1 -0
- package/dist/update-host.d.ts +18 -0
- package/dist/update-host.d.ts.map +1 -0
- package/dist/update-host.js +161 -0
- package/dist/update-host.js.map +1 -0
- package/dist/update-panel.d.ts +63 -0
- package/dist/update-panel.d.ts.map +1 -0
- package/dist/update-panel.js +231 -0
- package/dist/update-panel.js.map +1 -0
- package/dist/update-targets.d.ts +17 -0
- package/dist/update-targets.d.ts.map +1 -0
- package/dist/update-targets.js +29 -0
- package/dist/update-targets.js.map +1 -0
- package/dist/update-view.d.ts +55 -0
- package/dist/update-view.d.ts.map +1 -0
- package/dist/update-view.js +65 -0
- package/dist/update-view.js.map +1 -0
- package/package.json +5 -2
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { dualInstallCmd } from './nav.js';
|
|
2
|
+
import { reasonText } from './update-contract.js';
|
|
3
|
+
/** 缺席:宿主启动时没装、现在磁盘上也没有(`runningVersion`/`installedVersion` 都是 null)。 */
|
|
4
|
+
export function isAbsent(target) {
|
|
5
|
+
return target.runningVersion === null && target.installedVersion === null;
|
|
6
|
+
}
|
|
7
|
+
/** 把快照翻成一行结论:还没查 / 已是最新 / 有新版 / 装不了(附人话原因)。 */
|
|
8
|
+
export function verdictOf(target, snapshot) {
|
|
9
|
+
const absent = isAbsent(target);
|
|
10
|
+
const latest = snapshot.latestVersion;
|
|
11
|
+
if (absent && latest === null) {
|
|
12
|
+
return { kind: 'unknown', text: '未安装;点「检查更新」查最新版本后装上。', action: null };
|
|
13
|
+
}
|
|
14
|
+
if (absent) {
|
|
15
|
+
return { kind: 'update-available', text: '未安装;最新版本 ' + String(latest) + '。', action: 'install' };
|
|
16
|
+
}
|
|
17
|
+
if (snapshot.blockedReason !== null) {
|
|
18
|
+
const blocked = snapshot.blockedReason;
|
|
19
|
+
if (blocked === 'pending-restart') {
|
|
20
|
+
return { kind: 'blocked', text: reasonText(blocked), action: null };
|
|
21
|
+
}
|
|
22
|
+
return { kind: 'blocked', text: reasonText(blocked), action: null };
|
|
23
|
+
}
|
|
24
|
+
if (latest === null) {
|
|
25
|
+
return { kind: 'unknown', text: '还没查过最新版本;点「检查更新」。', action: null };
|
|
26
|
+
}
|
|
27
|
+
if (snapshot.canInstall) {
|
|
28
|
+
return { kind: 'update-available', text: '有新版:' + String(latest) + ',点「装上更新」。', action: 'update' };
|
|
29
|
+
}
|
|
30
|
+
return { kind: 'up-to-date', text: '已是最新(' + String(latest) + ')。', action: null };
|
|
31
|
+
}
|
|
32
|
+
/** 待重启横幅文案(更新包 README 第 10 节:说清新版号与「重启后才生效」两件事)。 */
|
|
33
|
+
export function pendingRestartText(target, snapshot) {
|
|
34
|
+
if (snapshot.blockedReason !== 'pending-restart')
|
|
35
|
+
return null;
|
|
36
|
+
const installed = snapshot.installedVersion ?? snapshot.job?.targetVersion ?? null;
|
|
37
|
+
const running = snapshot.runningVersion;
|
|
38
|
+
if (installed === null)
|
|
39
|
+
return '⚠️ 新版已装好,重启宿主后生效。';
|
|
40
|
+
if (installed === running)
|
|
41
|
+
return '⚠️ 新版 ' + installed + ' 已装好,重启宿主后生效。';
|
|
42
|
+
return '⚠️ 新版 ' + installed + ' 已装好,正在跑的还是 ' + running + ',重启宿主后生效。';
|
|
43
|
+
}
|
|
44
|
+
/** 面板展示的那条可复制命令(用户会照着敲的那一条)。
|
|
45
|
+
*
|
|
46
|
+
* 缺席包给人人都会用的**单命令双包**口径(#674 冻结的装入口径:不带版本号、不带任何开关);
|
|
47
|
+
* 已装包给更新包回包里那条(`--save-exact ... --registry=` 是它 README 第 9 节的冻结合同,
|
|
48
|
+
* 本仓不动它——要改只能提上游)。规范词见 docs/plugins/plugin-manager/t678-缺席即装与检查更新.md。 */
|
|
49
|
+
export function manualForDisplay(target, manual) {
|
|
50
|
+
if (isAbsent(target))
|
|
51
|
+
return dualInstallCmd(target.packageName);
|
|
52
|
+
return manual;
|
|
53
|
+
}
|
|
54
|
+
/** 版本行两行文字:插件包(本家) + 技能包(随插件,不单独查更新)。 */
|
|
55
|
+
export function versionLines(target, snapshot) {
|
|
56
|
+
const running = snapshot?.runningVersion ?? target.runningVersion ?? 'unknown';
|
|
57
|
+
const installed = snapshot?.installedVersion ?? target.installedVersion;
|
|
58
|
+
const lines = [target.packageName + ' ' + running + (installed && installed !== running ? '(磁盘已装 ' + installed + ')' : '')];
|
|
59
|
+
if (target.skill)
|
|
60
|
+
lines.push(target.skill.packageName + ' ' + target.skill.version + '(随插件,不单独查更新)');
|
|
61
|
+
else
|
|
62
|
+
lines.push('技能包随插件(不单独查更新)');
|
|
63
|
+
return lines;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=update-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-view.js","sourceRoot":"","sources":["../src/update-view.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-life-pack",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "爱生活总管插件:单 DSH设置面板槽(爱生活卡)+ 爱生活页签槽 children,技能设置页动态聚合,不依赖单品、不 import 单品页",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -40,7 +40,10 @@
|
|
|
40
40
|
"build:host": "tsc -b",
|
|
41
41
|
"build:client": "tsdown",
|
|
42
42
|
"typecheck": "tsc -p tsconfig.client.json",
|
|
43
|
-
"test": "node --test test
|
|
43
|
+
"test": "node --test test/*.test.mjs"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"dsh-plugin-update": "^0.1.1"
|
|
44
47
|
},
|
|
45
48
|
"devDependencies": {
|
|
46
49
|
"@types/react": "19.2.18",
|