@linkdesk/plugin-sdk 0.1.34 → 0.1.36
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/dev-real.d.ts +50 -0
- package/dist/dev-real.d.ts.map +1 -1
- package/dist/dev-real.js +174 -20
- package/dist/dev-real.js.map +1 -1
- package/package.json +68 -68
package/dist/dev-real.d.ts
CHANGED
|
@@ -3,6 +3,56 @@ export declare const CDP_PORT: number;
|
|
|
3
3
|
/** 作者当前平台 LinkDesk userData/plugins 代码根(Electron 默认 userData = appData/<appName>,dev/打包同名 "linkdesk")。
|
|
4
4
|
* LINKDESK_USER_PLUGINS_DIR 环境变量可覆盖(自定义安装布局 / CI 隔离 userData 的逃生门)。 */
|
|
5
5
|
export declare function resolveUserPluginsDir(): string;
|
|
6
|
+
/** 锁文件内容——`pid` 是唯一的**活体判据**;其余三个字段只为「谁的实例在跑」这句人话提示 */
|
|
7
|
+
export interface DevRealLock {
|
|
8
|
+
pid: number;
|
|
9
|
+
pluginId: string;
|
|
10
|
+
/** 发起实例的工程根(同一插件 id 可能来自不同工程) */
|
|
11
|
+
root: string;
|
|
12
|
+
startedAt: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 锁文件路径 = **直写目标所在的那一根 plugins 目录**下的 `.dev-real-<id>.lock`。
|
|
16
|
+
*
|
|
17
|
+
* 🔴 为什么锁在目标根而不是工程根:两实例抢的是**同一个** `{userData}/plugins/<id>` 直写目标——
|
|
18
|
+
* 同工程双开 ⇒ 同 dist + 同目标;**不同工程同 pluginId ⇒ 同目标**。锁在工程根只挡得住前者。
|
|
19
|
+
* ⚠️ 该目录里放文件对壳无害:`listPluginDirs()` 只认**含 plugin.json 的目录**,且跳过 `.` 开头的条目。
|
|
20
|
+
*/
|
|
21
|
+
export declare function devRealLockPath(pluginsRoot: string, pluginId: string): string;
|
|
22
|
+
/** pid 是否活着——`process.kill(pid, 0)` 不发信号只探存在;EPERM = 存在但不属于当前用户(仍算活) */
|
|
23
|
+
export declare function isProcessAlive(pid: number): boolean;
|
|
24
|
+
export interface LockAcquireResult {
|
|
25
|
+
/** false ⇒ 已有**活**实例占着(调用方必须退出,不许继续 build/直写) */
|
|
26
|
+
ok: boolean;
|
|
27
|
+
/** ok=false 时 = 占锁的那个实例 */
|
|
28
|
+
holder: DevRealLock | null;
|
|
29
|
+
/** 处置说明(陈旧锁覆盖 / 锁文件损坏 / 本进程残留)——调用方打印 */
|
|
30
|
+
notes: string[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 取锁:无锁 → 写;有锁但 **pid 已死 / 读不出来 / 是本进程自己** → 按陈旧锁覆盖;有活实例 → 拒绝。
|
|
34
|
+
* `isAlive` 可注入(自测模拟「另一个活进程」用——真判据就是 `isProcessAlive`)。
|
|
35
|
+
*/
|
|
36
|
+
export declare function acquireDevRealLock(lockPath: string, info: {
|
|
37
|
+
pluginId: string;
|
|
38
|
+
root: string;
|
|
39
|
+
}, isAlive?: (pid: number) => boolean): LockAcquireResult;
|
|
40
|
+
/** 释放锁——**只删自己的**(`pid` 不是本进程 ⇒ 不动,免得替别人的实例解锁);失败静默(退出路径不添噪音) */
|
|
41
|
+
export declare function releaseDevRealLock(lockPath: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* 这个文档 URL 是否由**源码树 dev 宿主**(dev server)供给。判据两条,任一命中即算:
|
|
44
|
+
* ① 文档是 `http(s)://…`——壳的 dev 分支就是 `loadURL(${DEV_SERVER_URL}/pool.html)`
|
|
45
|
+
* (`electron/windows/window-manager.ts:218`),也就是 `http://localhost:1420/pool.html`;
|
|
46
|
+
* **生产分支是 `loadFile(.../dist/pool.html)`(:222)⇒ 文档恒为 `file://`** ⇒ 不误报。
|
|
47
|
+
* 判「scheme 是 http」而不是「端口是 1420」:dev server 端口被占时会漂(1421/1422…),
|
|
48
|
+
* 按端口判会在漂移时静默漏报——而判据要的恰恰是「这页是不是 dev server 供的」。
|
|
49
|
+
* ② 含 `/@fs/`——Vite 外挂磁盘模块的路径前缀(dev server 供页的第二特征)。
|
|
50
|
+
*/
|
|
51
|
+
export declare function isViteSourceHost(url: string | undefined | null): boolean;
|
|
52
|
+
/** 自测用:复位「已提示过」旗标。生产路径不需要——一次提示足够。 */
|
|
53
|
+
export declare function resetViteSourceHostWarning(): void;
|
|
54
|
+
/** 宿主是源码树 dev 时的醒目告警正文(**一次**顶到眼前;纯函数,自测直接断言文本) */
|
|
55
|
+
export declare function renderViteSourceHostWarning(port: number, url: string): string;
|
|
6
56
|
/**
|
|
7
57
|
* 经 CDP 刷新「LinkDesk Pool」窗口——renderer 重 import = 直写产物生效。返回是否找到并刷新成功。
|
|
8
58
|
*
|
package/dist/dev-real.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-real.d.ts","sourceRoot":"","sources":["../src/dev-real.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev-real.d.ts","sourceRoot":"","sources":["../src/dev-real.ts"],"names":[],"mappings":"AAqCA,wGAAwG;AACxG,eAAO,MAAM,QAAQ,QAAgD,CAAC;AAEtE;wEACwE;AACxE,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C;AASD,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD;AAsBD,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,EAAE,EAAE,OAAO,CAAC;IACZ,2BAA2B;IAC3B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,yCAAyC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACxC,OAAO,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAwB,GACjD,iBAAiB,CAqBnB;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQzD;AAwED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAIxE;AAKD,sCAAsC;AACtC,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,mDAAmD;AACnD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAa7E;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,IAAI,SAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCrE;AAkBD,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+JlE"}
|
package/dist/dev-real.js
CHANGED
|
@@ -17,8 +17,17 @@
|
|
|
17
17
|
* 边界(04 档案 §六):作用域 = 作者自研 dev 插件——目标目录若已有同 id 安装(市场装发布版)会被**覆盖且不备份**;
|
|
18
18
|
* 多插件工程并行 dev 需各自独立工程;CSS 等热更走整窗口 reload(秒级,非亚秒 HMR——那是 E6#28.7 B 的候选卖点)。
|
|
19
19
|
* 作者仍不碰壳源码/构建(插件独立铁律),不造第二壳。
|
|
20
|
+
*
|
|
21
|
+
* 🔴 E6#28.5e(2026-09-18):**并发互斥锁**——第二个 `dev --real` 启动即明确退出并报 pid。
|
|
22
|
+
* 出处 04 档案 §8.2:两实例抢同一目标时第二个 `dist/` 上 EPERM,**报错后旧产物原样不动** ⇒
|
|
23
|
+
* 作者看到的现象仍是「改了没反应」,与「源码树宿主发旧代码」(§8.1)症状完全重合,现场骗过 AI 两轮。
|
|
24
|
+
*
|
|
25
|
+
* 🔴 E6#28.5d(2026-09-18):**源码树宿主告警**——reload 时若池窗口文档出自 dev server(`http(s)://`
|
|
26
|
+
* 或 `/@fs/`;生产分支恒为 `loadFile` ⇒ `file://`),打一条醒目的一次性告警。出处 04 档案 §8.1 坑 1:
|
|
27
|
+
* 源码树宿主(`electron:dev`)的模块图在内存里,直写磁盘的新产物它看不见 ⇒「重启后第一下生效、
|
|
28
|
+
* 之后每次都不动」。同一症状的第二个来源。
|
|
20
29
|
*/
|
|
21
|
-
import { copyFileSync, existsSync, mkdirSync, readdirSync, rmSync, watch } from "node:fs";
|
|
30
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, watch, writeFileSync } from "node:fs";
|
|
22
31
|
import { dirname, join, resolve } from "node:path";
|
|
23
32
|
import { homedir } from "node:os";
|
|
24
33
|
import { get as httpGet } from "node:http";
|
|
@@ -47,6 +56,84 @@ export function resolveUserPluginsDir() {
|
|
|
47
56
|
function userPluginsDirExists() {
|
|
48
57
|
return existsSync(resolveUserPluginsDir());
|
|
49
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* 锁文件路径 = **直写目标所在的那一根 plugins 目录**下的 `.dev-real-<id>.lock`。
|
|
61
|
+
*
|
|
62
|
+
* 🔴 为什么锁在目标根而不是工程根:两实例抢的是**同一个** `{userData}/plugins/<id>` 直写目标——
|
|
63
|
+
* 同工程双开 ⇒ 同 dist + 同目标;**不同工程同 pluginId ⇒ 同目标**。锁在工程根只挡得住前者。
|
|
64
|
+
* ⚠️ 该目录里放文件对壳无害:`listPluginDirs()` 只认**含 plugin.json 的目录**,且跳过 `.` 开头的条目。
|
|
65
|
+
*/
|
|
66
|
+
export function devRealLockPath(pluginsRoot, pluginId) {
|
|
67
|
+
return join(pluginsRoot, `.dev-real-${pluginId.replace(/[^a-zA-Z0-9._-]/g, "_")}.lock`);
|
|
68
|
+
}
|
|
69
|
+
/** pid 是否活着——`process.kill(pid, 0)` 不发信号只探存在;EPERM = 存在但不属于当前用户(仍算活) */
|
|
70
|
+
export function isProcessAlive(pid) {
|
|
71
|
+
if (!Number.isInteger(pid) || pid <= 0)
|
|
72
|
+
return false;
|
|
73
|
+
try {
|
|
74
|
+
process.kill(pid, 0);
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
return e.code === "EPERM";
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/** 读锁文件:`lock` = 内容认得出来;`corrupt` = 文件在但读不出 pid(当陈旧锁处置,⛔ 不许让它永久锁死) */
|
|
82
|
+
function readDevRealLock(lockPath) {
|
|
83
|
+
if (!existsSync(lockPath))
|
|
84
|
+
return { lock: null, corrupt: false };
|
|
85
|
+
try {
|
|
86
|
+
const raw = JSON.parse(readFileSync(lockPath, "utf8"));
|
|
87
|
+
if (typeof raw?.pid !== "number" || !Number.isInteger(raw.pid))
|
|
88
|
+
return { lock: null, corrupt: true };
|
|
89
|
+
return {
|
|
90
|
+
lock: {
|
|
91
|
+
pid: raw.pid,
|
|
92
|
+
pluginId: String(raw.pluginId ?? "?"),
|
|
93
|
+
root: String(raw.root ?? "?"),
|
|
94
|
+
startedAt: String(raw.startedAt ?? "?"),
|
|
95
|
+
},
|
|
96
|
+
corrupt: false,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return { lock: null, corrupt: true };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* 取锁:无锁 → 写;有锁但 **pid 已死 / 读不出来 / 是本进程自己** → 按陈旧锁覆盖;有活实例 → 拒绝。
|
|
105
|
+
* `isAlive` 可注入(自测模拟「另一个活进程」用——真判据就是 `isProcessAlive`)。
|
|
106
|
+
*/
|
|
107
|
+
export function acquireDevRealLock(lockPath, info, isAlive = isProcessAlive) {
|
|
108
|
+
const notes = [];
|
|
109
|
+
const { lock, corrupt } = readDevRealLock(lockPath);
|
|
110
|
+
if (corrupt) {
|
|
111
|
+
notes.push(`锁文件读不出来(${lockPath})——按陈旧锁覆盖`);
|
|
112
|
+
}
|
|
113
|
+
else if (lock && lock.pid !== process.pid && isAlive(lock.pid)) {
|
|
114
|
+
return { ok: false, holder: lock, notes };
|
|
115
|
+
}
|
|
116
|
+
else if (lock) {
|
|
117
|
+
notes.push(lock.pid === process.pid
|
|
118
|
+
? `发现本进程自己的残留锁(上一次没清干净)——覆盖`
|
|
119
|
+
: `发现陈旧锁(pid ${lock.pid} 已不在)——覆盖`);
|
|
120
|
+
}
|
|
121
|
+
mkdirSync(dirname(lockPath), { recursive: true });
|
|
122
|
+
writeFileSync(lockPath, `${JSON.stringify({ pid: process.pid, pluginId: info.pluginId, root: info.root, startedAt: new Date().toISOString() }, null, 2)}\n`, "utf8");
|
|
123
|
+
return { ok: true, holder: null, notes };
|
|
124
|
+
}
|
|
125
|
+
/** 释放锁——**只删自己的**(`pid` 不是本进程 ⇒ 不动,免得替别人的实例解锁);失败静默(退出路径不添噪音) */
|
|
126
|
+
export function releaseDevRealLock(lockPath) {
|
|
127
|
+
const { lock } = readDevRealLock(lockPath);
|
|
128
|
+
if (!lock || lock.pid !== process.pid)
|
|
129
|
+
return;
|
|
130
|
+
try {
|
|
131
|
+
rmSync(lockPath, { force: true });
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// 忽略:退出路径上删不掉锁文件不阻断进程收尾(陈旧锁下次会被覆盖)
|
|
135
|
+
}
|
|
136
|
+
}
|
|
50
137
|
/* ── 物化目录直写 ─────────────────────────────────────────────── */
|
|
51
138
|
/** 覆盖式深拷贝(dev 覆盖语义——rm 目标后再拷,不残留本 build 已不产出的陈旧文件)。
|
|
52
139
|
* 插件私有数据在 <appData>/linkdesk/plugins/<id>/data(另一根),删代码根不碰数据。 */
|
|
@@ -97,6 +184,44 @@ function cdpListTargets(port) {
|
|
|
97
184
|
});
|
|
98
185
|
});
|
|
99
186
|
}
|
|
187
|
+
/* ── 宿主溯源:这页是「源码树 dev」还是「安装版」?(E6#28.5d · 04 档案 §8.1 坑 1) ── */
|
|
188
|
+
/**
|
|
189
|
+
* 这个文档 URL 是否由**源码树 dev 宿主**(dev server)供给。判据两条,任一命中即算:
|
|
190
|
+
* ① 文档是 `http(s)://…`——壳的 dev 分支就是 `loadURL(${DEV_SERVER_URL}/pool.html)`
|
|
191
|
+
* (`electron/windows/window-manager.ts:218`),也就是 `http://localhost:1420/pool.html`;
|
|
192
|
+
* **生产分支是 `loadFile(.../dist/pool.html)`(:222)⇒ 文档恒为 `file://`** ⇒ 不误报。
|
|
193
|
+
* 判「scheme 是 http」而不是「端口是 1420」:dev server 端口被占时会漂(1421/1422…),
|
|
194
|
+
* 按端口判会在漂移时静默漏报——而判据要的恰恰是「这页是不是 dev server 供的」。
|
|
195
|
+
* ② 含 `/@fs/`——Vite 外挂磁盘模块的路径前缀(dev server 供页的第二特征)。
|
|
196
|
+
*/
|
|
197
|
+
export function isViteSourceHost(url) {
|
|
198
|
+
if (!url)
|
|
199
|
+
return false;
|
|
200
|
+
if (url.includes("/@fs/"))
|
|
201
|
+
return true;
|
|
202
|
+
return /^https?:\/\//i.test(url);
|
|
203
|
+
}
|
|
204
|
+
/** 本进程是否已经提示过(一个环里每轮 reload 都刷一遍 = 噪音,盖掉真正的日志) */
|
|
205
|
+
let viteHostWarned = false;
|
|
206
|
+
/** 自测用:复位「已提示过」旗标。生产路径不需要——一次提示足够。 */
|
|
207
|
+
export function resetViteSourceHostWarning() {
|
|
208
|
+
viteHostWarned = false;
|
|
209
|
+
}
|
|
210
|
+
/** 宿主是源码树 dev 时的醒目告警正文(**一次**顶到眼前;纯函数,自测直接断言文本) */
|
|
211
|
+
export function renderViteSourceHostWarning(port, url) {
|
|
212
|
+
return [
|
|
213
|
+
" ╔══════════════════════════════════════════════════════════════════════════════",
|
|
214
|
+
` ║ ⚠ 宿主是【源码树 dev】(${url})——真机环在这里会**发旧代码**,别拿它判断「改没改生效」`,
|
|
215
|
+
" ╠══════════════════════════════════════════════════════════════════════════════",
|
|
216
|
+
" ║ 机制:源码树宿主经 Vite 供模块 ⇒ 模块图**在内存里**;SDK 直写磁盘的新产物它看不见,",
|
|
217
|
+
" ║ 重导入拿到的还是那份旧模块(04 档案 §8.1:重启后**第一下生效、之后每次都不动**,",
|
|
218
|
+
" ║ 现场骗过 AI 两轮)。",
|
|
219
|
+
" ║ 反直觉:**安装版宿主反而比源码树宿主新鲜**——`linkdesk://` 逐请求 readFileSync,每次现读磁盘。",
|
|
220
|
+
` ║ 怎么办:换**安装版 / win-unpacked** 当宿主,启动照旧加 --remote-debugging-port=${port}。`,
|
|
221
|
+
" ║ **真机环的质量 = 安装版宿主的质量**(04 §四 四形态表:安装版是唯一合法宿主)。",
|
|
222
|
+
" ╚══════════════════════════════════════════════════════════════════════════════",
|
|
223
|
+
].join("\n");
|
|
224
|
+
}
|
|
100
225
|
/**
|
|
101
226
|
* 经 CDP 刷新「LinkDesk Pool」窗口——renderer 重 import = 直写产物生效。返回是否找到并刷新成功。
|
|
102
227
|
*
|
|
@@ -117,6 +242,11 @@ export async function cdpReloadPool(port = CDP_PORT) {
|
|
|
117
242
|
const url = pool?.webSocketDebuggerUrl;
|
|
118
243
|
if (!pool || !url)
|
|
119
244
|
return false;
|
|
245
|
+
const pageUrl = pool.url;
|
|
246
|
+
if (!viteHostWarned && pageUrl && isViteSourceHost(pageUrl)) {
|
|
247
|
+
viteHostWarned = true; // 只提示一次:本环后续每轮 reload 都刷 = 噪音
|
|
248
|
+
console.warn(renderViteSourceHostWarning(port, pageUrl));
|
|
249
|
+
}
|
|
120
250
|
const Ws = globalThis.WebSocket;
|
|
121
251
|
if (!Ws) {
|
|
122
252
|
return false; // 全局 WebSocket 不可用(Node 太旧)——视为找不到,调用方打指引
|
|
@@ -181,10 +311,26 @@ export async function runPluginDevReal(root) {
|
|
|
181
311
|
if (typeof entry !== "string" && !hasView) {
|
|
182
312
|
throw new Error(`「${pluginId}」无 js 表面(无 entry、无 contributes.views[].render)——dev --real 为代码迭代环,纯 manifest 插件无需直写。`);
|
|
183
313
|
}
|
|
314
|
+
// ── 并发互斥锁(E6#28.5e)——必须在**首轮 build 之前**取:第二个实例要**启动即退出**,
|
|
315
|
+
// 不许先跑完一轮 build(几十秒)再在 dist/ 上 EPERM 静默留旧产物(04 §8.2 的失败形态)。
|
|
316
|
+
const hadPluginsRoot = userPluginsDirExists();
|
|
317
|
+
const lockPath = devRealLockPath(pluginsRoot, pluginId);
|
|
318
|
+
const lock = acquireDevRealLock(lockPath, { pluginId, root });
|
|
319
|
+
if (!lock.ok) {
|
|
320
|
+
const h = lock.holder;
|
|
321
|
+
throw new Error(`已有一个 dev --real 在跑(pid ${h.pid})——插件「${h.pluginId}」,工程 ${h.root},起于 ${h.startedAt}。\n` +
|
|
322
|
+
` 两个实例抢同一个直写目标(${targetDir})时第二个会**静默失败**:报 EPERM 而**旧产物原样不动**,` +
|
|
323
|
+
`现象与「改了没反应」一模一样(04 档案 §8.2——现场骗过 AI 两轮)。\n` +
|
|
324
|
+
` 先关掉那个实例(在它的窗口按 Ctrl+C,或结束 pid ${h.pid})再跑本命令;` +
|
|
325
|
+
`要同时开发两个插件,请用两个**不同 pluginId** 的工程。`);
|
|
326
|
+
}
|
|
327
|
+
for (const n of lock.notes)
|
|
328
|
+
console.log(` ℹ ${n}`);
|
|
184
329
|
console.log("");
|
|
185
330
|
console.log(` LinkDesk 真机环(E6#28.5)→ 插件「${pluginId}」`);
|
|
186
331
|
console.log(` 直写目标:${targetDir}`);
|
|
187
|
-
console.log(` ${
|
|
332
|
+
console.log(` ${hadPluginsRoot ? "✓ 定位到运行中 LinkDesk 的插件目录" : "⚠ userData/plugins 尚不存在——先启动一次 LinkDesk(首次运行会建目录)"}`);
|
|
333
|
+
console.log(` 并发互斥:锁 ${lockPath}(pid ${process.pid};退出时自动清)`);
|
|
188
334
|
console.log(` 覆盖语义:目标已存在同名安装 → 被 dev 直写覆盖且不备份(作用域 = 自研 dev 插件)`);
|
|
189
335
|
console.log(` reload:需 LinkDesk 以 --remote-debugging-port=${CDP_PORT} 启动(CDP 连不上会跳过,改码后自动重试)`);
|
|
190
336
|
console.log(` 改码 → 自动 build → 直写 → reload;Ctrl+C 停止`);
|
|
@@ -252,8 +398,10 @@ export async function runPluginDevReal(root) {
|
|
|
252
398
|
};
|
|
253
399
|
// 首轮:初始 build → 直写 → reload(不依赖文件事件)
|
|
254
400
|
schedule("初始 build → 直写 → reload");
|
|
255
|
-
if (stopped)
|
|
401
|
+
if (stopped) {
|
|
402
|
+
releaseDevRealLock(lockPath);
|
|
256
403
|
return;
|
|
404
|
+
}
|
|
257
405
|
// 源码 watch(root 递归;node_modules/.git/dist 等事件按路径忽略——不触发自激重建)
|
|
258
406
|
try {
|
|
259
407
|
const w = watch(root, { recursive: true }, (_event, filename) => {
|
|
@@ -274,23 +422,29 @@ export async function runPluginDevReal(root) {
|
|
|
274
422
|
// recursive watch 不可用(罕见平台/权限)→ 降级不 watch(作者改码后手动 Ctrl+C 重启),不阻断已装产物
|
|
275
423
|
console.error(" ⚠ 递归文件监听不可用——dev --real 降级为一次性 build 直写;改码后重启本命令生效");
|
|
276
424
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
425
|
+
try {
|
|
426
|
+
await new Promise((stop) => {
|
|
427
|
+
const shutdown = () => {
|
|
428
|
+
stopped = true;
|
|
429
|
+
if (timer)
|
|
430
|
+
clearTimeout(timer);
|
|
431
|
+
for (const w of watchers) {
|
|
432
|
+
try {
|
|
433
|
+
w.close();
|
|
434
|
+
}
|
|
435
|
+
catch {
|
|
436
|
+
// 忽略关闭失败
|
|
437
|
+
}
|
|
288
438
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}
|
|
439
|
+
stop();
|
|
440
|
+
};
|
|
441
|
+
process.once("SIGINT", shutdown);
|
|
442
|
+
process.once("SIGTERM", shutdown);
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
finally {
|
|
446
|
+
// 退出(含 Ctrl+C 与异常抛出)即清锁——下一个实例不该被一把死锁挡住
|
|
447
|
+
releaseDevRealLock(lockPath);
|
|
448
|
+
}
|
|
295
449
|
}
|
|
296
450
|
//# sourceMappingURL=dev-real.js.map
|
package/dist/dev-real.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-real.js","sourceRoot":"","sources":["../src/dev-real.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev-real.js","sourceRoot":"","sources":["../src/dev-real.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@linkdesk/plugin-sdk",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "@linkdesk/plugin-sdk——LinkDesk 插件作者 SDK(对标 @types/vscode):window.linkdesk.* 类型 + 一键 build(.linkdesk-plugin) + dev 宿主 + plugin.json 验证 + eslint 门禁(E6#54d)。作者 npm i 后零壳源码依赖。",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"default": "./dist/index.js"
|
|
12
|
-
},
|
|
13
|
-
"./eslint": {
|
|
14
|
-
"types": "./dist/eslint/index.d.ts",
|
|
15
|
-
"default": "./dist/eslint/index.js"
|
|
16
|
-
},
|
|
17
|
-
"./package.json": "./package.json"
|
|
18
|
-
},
|
|
19
|
-
"files": [
|
|
20
|
-
"dist",
|
|
21
|
-
"schemas",
|
|
22
|
-
"dev-host"
|
|
23
|
-
],
|
|
24
|
-
"sideEffects": false,
|
|
25
|
-
"bin": {
|
|
26
|
-
"linkdesk-plugin-sdk": "./dist/bin.js"
|
|
27
|
-
},
|
|
28
|
-
"publishConfig": {
|
|
29
|
-
"access": "public"
|
|
30
|
-
},
|
|
31
|
-
"engines": {
|
|
32
|
-
"node": ">=20.0.0"
|
|
33
|
-
},
|
|
34
|
-
"scripts": {
|
|
35
|
-
"build": "tsc -p tsconfig.build.json",
|
|
36
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
37
|
-
"prepack": "tsc -p tsconfig.build.json"
|
|
38
|
-
},
|
|
39
|
-
"dependencies": {
|
|
40
|
-
"@linkdesk/contracts": "^0.1.1",
|
|
41
|
-
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
42
|
-
"@typescript-eslint/parser": "^8.0.0",
|
|
43
|
-
"@vitejs/plugin-react": "^4.3.4",
|
|
44
|
-
"ajv": "^8.17.1",
|
|
45
|
-
"eslint": "^9.0.0",
|
|
46
|
-
"eslint-import-resolver-typescript": "^4.4.5",
|
|
47
|
-
"eslint-plugin-import-x": "^4.17.1",
|
|
48
|
-
"eslint-plugin-react-hooks": "^7.1.1",
|
|
49
|
-
"i18next": "^26.3.6",
|
|
50
|
-
"jsonc-parser": "^3.3.1",
|
|
51
|
-
"jszip": "^3.10.1",
|
|
52
|
-
"react": "^18.3.1",
|
|
53
|
-
"react-dom": "^18.3.1",
|
|
54
|
-
"react-i18next": "^17.0.10",
|
|
55
|
-
"vite": "^6.0.0"
|
|
56
|
-
},
|
|
57
|
-
"devDependencies": {
|
|
58
|
-
"@types/node": "^24.0.0",
|
|
59
|
-
"typescript": "^5.9.0"
|
|
60
|
-
},
|
|
61
|
-
"keywords": [
|
|
62
|
-
"linkdesk",
|
|
63
|
-
"plugin",
|
|
64
|
-
"sdk",
|
|
65
|
-
"vite"
|
|
66
|
-
],
|
|
67
|
-
"license": "MIT"
|
|
68
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@linkdesk/plugin-sdk",
|
|
3
|
+
"version": "0.1.36",
|
|
4
|
+
"description": "@linkdesk/plugin-sdk——LinkDesk 插件作者 SDK(对标 @types/vscode):window.linkdesk.* 类型 + 一键 build(.linkdesk-plugin) + dev 宿主 + plugin.json 验证 + eslint 门禁(E6#54d)。作者 npm i 后零壳源码依赖。",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./eslint": {
|
|
14
|
+
"types": "./dist/eslint/index.d.ts",
|
|
15
|
+
"default": "./dist/eslint/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./package.json": "./package.json"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"schemas",
|
|
22
|
+
"dev-host"
|
|
23
|
+
],
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"bin": {
|
|
26
|
+
"linkdesk-plugin-sdk": "./dist/bin.js"
|
|
27
|
+
},
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
},
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=20.0.0"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "tsc -p tsconfig.build.json",
|
|
36
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
37
|
+
"prepack": "tsc -p tsconfig.build.json"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@linkdesk/contracts": "^0.1.1",
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
42
|
+
"@typescript-eslint/parser": "^8.0.0",
|
|
43
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
44
|
+
"ajv": "^8.17.1",
|
|
45
|
+
"eslint": "^9.0.0",
|
|
46
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
47
|
+
"eslint-plugin-import-x": "^4.17.1",
|
|
48
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
49
|
+
"i18next": "^26.3.6",
|
|
50
|
+
"jsonc-parser": "^3.3.1",
|
|
51
|
+
"jszip": "^3.10.1",
|
|
52
|
+
"react": "^18.3.1",
|
|
53
|
+
"react-dom": "^18.3.1",
|
|
54
|
+
"react-i18next": "^17.0.10",
|
|
55
|
+
"vite": "^6.0.0"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@types/node": "^24.0.0",
|
|
59
|
+
"typescript": "^5.9.0"
|
|
60
|
+
},
|
|
61
|
+
"keywords": [
|
|
62
|
+
"linkdesk",
|
|
63
|
+
"plugin",
|
|
64
|
+
"sdk",
|
|
65
|
+
"vite"
|
|
66
|
+
],
|
|
67
|
+
"license": "MIT"
|
|
68
|
+
}
|