@yunzai-ng/core 0.2.0 → 0.3.0
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/http/client.d.ts.map +1 -1
- package/dist/http/client.js +39 -3
- package/dist/http/client.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin/context.d.ts +3 -0
- package/dist/plugin/context.d.ts.map +1 -1
- package/dist/plugin/context.js +18 -2
- package/dist/plugin/context.js.map +1 -1
- package/dist/plugin/market.d.ts +119 -8
- package/dist/plugin/market.d.ts.map +1 -1
- package/dist/plugin/market.js +183 -22
- package/dist/plugin/market.js.map +1 -1
- package/dist/plugin/pm.d.ts +82 -0
- package/dist/plugin/pm.d.ts.map +1 -0
- package/dist/plugin/pm.js +129 -0
- package/dist/plugin/pm.js.map +1 -0
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +54 -5
- package/dist/server/api.js.map +1 -1
- package/dist/server/browse.d.ts.map +1 -1
- package/dist/server/browse.js +10 -2
- package/dist/server/browse.js.map +1 -1
- package/package.json +2 -2
- package/src/http/client.test.ts +75 -1
- package/src/http/client.ts +40 -3
- package/src/index.ts +1 -0
- package/src/plugin/context.test.ts +29 -1
- package/src/plugin/context.ts +18 -2
- package/src/plugin/market.test.ts +375 -2
- package/src/plugin/market.ts +278 -25
- package/src/plugin/pm.test.ts +73 -0
- package/src/plugin/pm.ts +163 -0
- package/src/server/api.test.ts +72 -2
- package/src/server/api.ts +65 -5
- package/src/server/browse.test.ts +18 -10
- package/src/server/browse.ts +11 -2
package/dist/plugin/market.js
CHANGED
|
@@ -9,15 +9,19 @@
|
|
|
9
9
|
* `joinWithin` 求值;两者任一不通过即拒绝,不做纠正后重试。
|
|
10
10
|
* 2) **先下载到临时目录,校验通过后再移入插件目录。** 中途失败时插件目录
|
|
11
11
|
* 保持原状,不会留下半个插件 —— 半个插件会在下次启动时被扫描到并加载失败。
|
|
12
|
-
* 3)
|
|
13
|
-
*
|
|
12
|
+
* 3) **跑包管理器要由调用方逐次明说(`opts.dependencies`),本模块不擅自决定。**
|
|
13
|
+
* 但那不是一道新的信任边界:插件的入口下一秒就会被 `import()` 进本进程,
|
|
14
|
+
* 与 install 脚本同属一道门。故缺省不跑的理由只是「别在使用者没预期时占用
|
|
15
|
+
* 十分钟网络」,而非安全 —— 面板据此在确认框里明说,然后一并请求。
|
|
14
16
|
* 4) **索引为不可信输入。** 逐字段校验类型,缺字段的条目整条丢弃而非补默认值:
|
|
15
17
|
* 索引写错时应当表现为"该插件不出现在列表里",而不是出现一个装不上的条目。
|
|
18
|
+
* `setup.scripts` 里的名字要拼进命令行,另有一道白名单,见 `pm.ts`。
|
|
16
19
|
*/
|
|
17
20
|
import { execFile } from "node:child_process";
|
|
18
21
|
import { cp, mkdir, mkdtemp, readFile, rename, rm, writeFile } from "node:fs/promises";
|
|
19
22
|
import { dirname, join } from "node:path";
|
|
20
23
|
import { isDirectory, isFile } from "../util/fs.js";
|
|
24
|
+
import { INSTALL_TIMEOUT_MS, SCRIPT_TIMEOUT_MS, isScriptName, runPm } from "./pm.js";
|
|
21
25
|
import { extractTarGz, joinWithin, singleRoot } from "./tar.js";
|
|
22
26
|
/** 合法插件名:字母或数字开头,其余可含字母、数字、点、下划线与连字符 */
|
|
23
27
|
const NAME_RE = /^[a-z\d][a-z\d._-]*$/i;
|
|
@@ -144,15 +148,49 @@ function parseInstall(raw) {
|
|
|
144
148
|
const branch = text(record, "branch");
|
|
145
149
|
return { type, url, ...(branch === undefined ? {} : { branch }) };
|
|
146
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* 解析装后步骤
|
|
153
|
+
*
|
|
154
|
+
* **一个名字不合法就整条丢弃,不做过滤后继续。** 过滤会得到一份「跑了一半」的装后
|
|
155
|
+
* 步骤:使用者看到装成功了,而实际少跑了 `build`,插件在加载时才报一条与原因无关的错。
|
|
156
|
+
* 整条丢弃则退回既有行为(只装依赖、并提示需自行处理),那是可理解的。
|
|
157
|
+
*
|
|
158
|
+
* `scripts` 为空数组也返回 undefined:声明了一个不跑任何东西的装后步骤,与没声明
|
|
159
|
+
* 是同一个意思,而留着它会让面板的确认框多出一句「将执行以下步骤:」后面跟着空白。
|
|
160
|
+
* @param raw 条目中的 `setup` 字段
|
|
161
|
+
* @param name 插件名,仅用于告警
|
|
162
|
+
* @param logger 日志器,用于说明为何丢弃
|
|
163
|
+
* @returns 装后步骤;字段缺失或不合法时 undefined
|
|
164
|
+
*/
|
|
165
|
+
function parseSetup(raw, name, logger) {
|
|
166
|
+
if (typeof raw !== "object" || raw === null)
|
|
167
|
+
return undefined;
|
|
168
|
+
const record = raw;
|
|
169
|
+
if (!Array.isArray(record.scripts))
|
|
170
|
+
return undefined;
|
|
171
|
+
const scripts = [];
|
|
172
|
+
for (const item of record.scripts) {
|
|
173
|
+
if (typeof item !== "string" || !isScriptName(item)) {
|
|
174
|
+
logger?.warn(`插件 ${name} 的索引里 setup.scripts 含不合法的 script 名,已忽略整个装后步骤`);
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
scripts.push(item);
|
|
178
|
+
}
|
|
179
|
+
if (scripts.length === 0)
|
|
180
|
+
return undefined;
|
|
181
|
+
// 缺省连 devDependencies 一起装:声明了装后步骤就意味着有东西要跑,而那多半要编译器
|
|
182
|
+
return { scripts, dev: record.dev !== false };
|
|
183
|
+
}
|
|
147
184
|
/**
|
|
148
185
|
* 把一条索引记录解析为条目
|
|
149
186
|
*
|
|
150
187
|
* 任一必填字段不合法即返回 undefined,由调用方整条丢弃。
|
|
151
188
|
* @param raw 索引记录
|
|
152
189
|
* @param source 该记录所属的索引地址
|
|
190
|
+
* @param logger 日志器,供 `setup` 不合法时说明
|
|
153
191
|
* @returns 条目;记录不合法时 undefined
|
|
154
192
|
*/
|
|
155
|
-
function parseEntry(raw, source) {
|
|
193
|
+
function parseEntry(raw, source, logger) {
|
|
156
194
|
if (typeof raw !== "object" || raw === null)
|
|
157
195
|
return undefined;
|
|
158
196
|
const record = raw;
|
|
@@ -167,6 +205,7 @@ function parseEntry(raw, source) {
|
|
|
167
205
|
const version = text(record, "version");
|
|
168
206
|
const homepage = text(record, "homepage");
|
|
169
207
|
const minCore = text(record, "minCore");
|
|
208
|
+
const setup = parseSetup(record.setup, name, logger);
|
|
170
209
|
return {
|
|
171
210
|
name,
|
|
172
211
|
title: text(record, "title") ?? name,
|
|
@@ -175,6 +214,7 @@ function parseEntry(raw, source) {
|
|
|
175
214
|
official: record.official === true,
|
|
176
215
|
install,
|
|
177
216
|
source,
|
|
217
|
+
...(setup === undefined ? {} : { setup }),
|
|
178
218
|
...(author === undefined ? {} : { author }),
|
|
179
219
|
...(version === undefined ? {} : { version }),
|
|
180
220
|
...(homepage === undefined ? {} : { homepage }),
|
|
@@ -188,10 +228,11 @@ function parseEntry(raw, source) {
|
|
|
188
228
|
* 数组挂到静态文件服务上作为私有源。
|
|
189
229
|
* @param raw 已解析的 JSON
|
|
190
230
|
* @param source 索引地址
|
|
231
|
+
* @param logger 日志器,供条目里的 `setup` 不合法时说明;不给则静默丢弃
|
|
191
232
|
* @returns 合法条目列表
|
|
192
233
|
* @throws 文档既不是数组也不含 `plugins` 数组时
|
|
193
234
|
*/
|
|
194
|
-
export function parseIndex(raw, source) {
|
|
235
|
+
export function parseIndex(raw, source, logger) {
|
|
195
236
|
const list = Array.isArray(raw)
|
|
196
237
|
? raw
|
|
197
238
|
: typeof raw === "object" && raw !== null && Array.isArray(raw.plugins)
|
|
@@ -201,7 +242,7 @@ export function parseIndex(raw, source) {
|
|
|
201
242
|
throw new Error("索引格式不符:期望数组或含 plugins 数组的对象");
|
|
202
243
|
const entries = [];
|
|
203
244
|
for (const item of list) {
|
|
204
|
-
const entry = parseEntry(item, source);
|
|
245
|
+
const entry = parseEntry(item, source, logger);
|
|
205
246
|
if (entry !== undefined)
|
|
206
247
|
entries.push(entry);
|
|
207
248
|
}
|
|
@@ -251,12 +292,15 @@ export class PluginMarket {
|
|
|
251
292
|
#gitAvailable;
|
|
252
293
|
/** 执行 git 命令,未注入时调用本机 git */
|
|
253
294
|
#git;
|
|
295
|
+
/** 执行包管理器,未注入时调用本机的 pnpm / npm */
|
|
296
|
+
#pm;
|
|
254
297
|
/**
|
|
255
298
|
* @param deps 依赖
|
|
256
299
|
*/
|
|
257
300
|
constructor(deps) {
|
|
258
301
|
this.#deps = deps;
|
|
259
302
|
this.#git = deps.git ?? runGit;
|
|
303
|
+
this.#pm = deps.pm ?? runPm;
|
|
260
304
|
}
|
|
261
305
|
/**
|
|
262
306
|
* 列出市场中的插件
|
|
@@ -333,7 +377,7 @@ export class PluginMarket {
|
|
|
333
377
|
timeout,
|
|
334
378
|
retry: 1
|
|
335
379
|
});
|
|
336
|
-
const entries = parseIndex(raw, url);
|
|
380
|
+
const entries = parseIndex(raw, url, this.#deps.logger);
|
|
337
381
|
for (const item of entries)
|
|
338
382
|
if (!merged.has(item.name))
|
|
339
383
|
merged.set(item.name, item);
|
|
@@ -412,12 +456,19 @@ export class PluginMarket {
|
|
|
412
456
|
/**
|
|
413
457
|
* 安装一个插件
|
|
414
458
|
*
|
|
415
|
-
*
|
|
416
|
-
*
|
|
417
|
-
*
|
|
459
|
+
* 取源与校验在临时目录内完成,仅在校验通过后才移入插件目录,因此**取源**失败时插件
|
|
460
|
+
* 目录保持原状。装依赖与装后步骤在移入之后、于插件目录内进行 —— 不在临时目录里做完
|
|
461
|
+
* 再整体搬过去:pnpm 的 `node_modules` 里全是指向 store 的符号链接,换个路径就断,
|
|
462
|
+
* 而断掉的表现是加载时报找不到模块,离「我搬过了目录」很远。
|
|
463
|
+
*
|
|
464
|
+
* 代价是这一步失败会留下一个「装好了但缺依赖」的目录。那是可说清的状态(见返回值的
|
|
465
|
+
* `needsDependencies` 与 `setupError`),比一个链接全断的目录好收拾。
|
|
466
|
+
*
|
|
467
|
+
* 安装完成后不加载插件:加载时机由调用方决定。
|
|
418
468
|
* @param name 插件名
|
|
419
469
|
* @param opts 可选参数
|
|
420
470
|
* @param opts.replace 目标已存在时先删除再安装
|
|
471
|
+
* @param opts.dependencies 装完之后跑包管理器装依赖,并按索引声明跑装后步骤
|
|
421
472
|
* @returns 安装结果
|
|
422
473
|
* @throws 名称不合法、索引中无此插件、内核版本不满足、目标已存在或取源失败时
|
|
423
474
|
*/
|
|
@@ -440,21 +491,122 @@ export class PluginMarket {
|
|
|
440
491
|
await this.#assertLooksLikePlugin(root, name);
|
|
441
492
|
const manifest = await this.#manifest(root);
|
|
442
493
|
const version = manifest?.version ?? entry.version ?? "0.0.0";
|
|
443
|
-
const needsDependencies = Object.keys(manifest?.dependencies ?? {}).length > 0 && !(await isDirectory(join(root, "node_modules")));
|
|
444
494
|
if (exists)
|
|
445
495
|
await rm(target, { recursive: true, force: true });
|
|
446
496
|
await mkdir(this.#deps.pluginsDir, { recursive: true });
|
|
447
497
|
await this.#move(root, target);
|
|
448
498
|
this.#deps.logger.info(`插件 ${name}@${version} 已安装至 ${target}`);
|
|
449
|
-
if (needsDependencies)
|
|
450
|
-
this.#deps.logger.warn(`插件 ${name} 声明了运行时依赖,需在其目录内自行执行包管理器安装`);
|
|
451
499
|
// 带 `.git` 的目录此后可就地拉取;归档装出来的每次更新都要整目录重下
|
|
452
|
-
|
|
500
|
+
const updatable = via === "git" ? "pull" : "reinstall";
|
|
501
|
+
const done = await this.#finish(name, target, manifest, entry.setup, opts.dependencies === true);
|
|
502
|
+
return { name, dir: target, via, version, updatable, ...done };
|
|
453
503
|
}
|
|
454
504
|
finally {
|
|
455
505
|
await rm(staging, { recursive: true, force: true });
|
|
456
506
|
}
|
|
457
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* 收尾:按需装依赖、跑装后步骤
|
|
510
|
+
*
|
|
511
|
+
* **失败不向上抛。** 插件目录已经就位,缺的只是依赖或产物;抛出去会让使用者以为
|
|
512
|
+
* 「什么都没装成」而去重装,而重装同样会在这一步失败。故把原因记进返回值,由面板说明。
|
|
513
|
+
*
|
|
514
|
+
* 顺序是「先装依赖再跑脚本」,且装依赖失败就不跑脚本:脚本多半建立在依赖之上
|
|
515
|
+
* (`build` 要编译器),接着跑只会得到第二条更难懂的错误。
|
|
516
|
+
* @param name 插件名
|
|
517
|
+
* @param dir 插件目录
|
|
518
|
+
* @param manifest package.json 里的相关字段
|
|
519
|
+
* @param setup 索引声明的装后步骤
|
|
520
|
+
* @param wanted 调用方是否要求跑包管理器
|
|
521
|
+
* @param always 依赖不缺、也没有装后步骤时是否仍跑一遍装依赖
|
|
522
|
+
* @returns 结果中与依赖、装后步骤相关的那几项
|
|
523
|
+
*/
|
|
524
|
+
async #finish(name, dir, manifest, setup, wanted, always = false) {
|
|
525
|
+
const declared = Object.keys(manifest?.dependencies ?? {}).length > 0;
|
|
526
|
+
/*
|
|
527
|
+
* 「声明了依赖」与「还缺依赖」是两件事
|
|
528
|
+
*
|
|
529
|
+
* 就地拉取那条路上目录里往往已有一份 `node_modules`,此时 declared 为真而并不缺依赖。
|
|
530
|
+
* 判据取「目录里有没有 node_modules」——「旧的够不够新」要比对 lock 文件,本模块无从判断。
|
|
531
|
+
*/
|
|
532
|
+
const missing = declared && !(await isDirectory(join(dir, "node_modules")));
|
|
533
|
+
/*
|
|
534
|
+
* 声明了装后步骤就得跑,哪怕依赖不缺
|
|
535
|
+
*
|
|
536
|
+
* `build` 的产物在 `dist/`,而那一层多半被插件仓库 `.gitignore` 掉了 —— 就地拉取拉来
|
|
537
|
+
* 新提交之后,`node_modules` 还在(故 missing 为假)而 `dist/` 已经是旧的。此时跳过
|
|
538
|
+
* 装后步骤,插件跑的就还是上一版的代码,且毫无迹象。
|
|
539
|
+
*/
|
|
540
|
+
const wants = wanted && (missing || setup !== undefined || always);
|
|
541
|
+
if (!wants) {
|
|
542
|
+
if (missing)
|
|
543
|
+
this.#deps.logger.warn(`插件 ${name} 声明了运行时依赖,需在其目录内自行执行包管理器安装`);
|
|
544
|
+
return { needsDependencies: missing };
|
|
545
|
+
}
|
|
546
|
+
/*
|
|
547
|
+
* 压根没声明依赖的插件不跑包管理器
|
|
548
|
+
*
|
|
549
|
+
* 单文件插件与零依赖插件都属此列。对着一个没有 package.json 的目录跑 `pnpm install`
|
|
550
|
+
* 会得到一条与插件无关的报错(pnpm 找不到 lock 也找不到清单),而使用者点的按钮
|
|
551
|
+
* 叫「装依赖并编译」—— 那条报错只会让人以为插件坏了。
|
|
552
|
+
*/
|
|
553
|
+
if (!declared && setup === undefined)
|
|
554
|
+
return { needsDependencies: false };
|
|
555
|
+
let pm;
|
|
556
|
+
try {
|
|
557
|
+
// 有装后步骤时连 devDependencies 一起装:`build` 要的编译器在那里,见 pm.ts 文件头
|
|
558
|
+
pm = await this.#pm({ kind: "install", dev: setup?.dev === true }, dir, INSTALL_TIMEOUT_MS);
|
|
559
|
+
this.#deps.logger.info(`插件 ${name} 的依赖已由 ${pm} 装好`);
|
|
560
|
+
}
|
|
561
|
+
catch (err) {
|
|
562
|
+
const error = err instanceof Error ? err.message : String(err);
|
|
563
|
+
this.#deps.logger.error(`插件 ${name} 的依赖安装失败:${error}。请在 ${dir} 目录内自行执行包管理器`);
|
|
564
|
+
// 记 `dependencyError` 而非 `setupError`:两者的后手不同,见 SetupOutcome 的注释
|
|
565
|
+
return { needsDependencies: true, installedDeps: false, dependencyError: error };
|
|
566
|
+
}
|
|
567
|
+
const ranScripts = [];
|
|
568
|
+
for (const script of setup?.scripts ?? []) {
|
|
569
|
+
try {
|
|
570
|
+
await this.#pm({ kind: "run", script }, dir, SCRIPT_TIMEOUT_MS);
|
|
571
|
+
ranScripts.push(script);
|
|
572
|
+
this.#deps.logger.info(`插件 ${name} 的装后步骤 ${script} 已执行`);
|
|
573
|
+
}
|
|
574
|
+
catch (err) {
|
|
575
|
+
const error = err instanceof Error ? err.message : String(err);
|
|
576
|
+
this.#deps.logger.error(`插件 ${name} 的装后步骤 ${script} 失败:${error}。请在 ${dir} 目录内自行执行 ${pm} run ${script}`);
|
|
577
|
+
return { needsDependencies: false, installedDeps: true, packageManager: pm, ranScripts, setupError: `${script}:${error}` };
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
return { needsDependencies: false, installedDeps: true, packageManager: pm, ranScripts };
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* 对一个已装好的插件重跑装依赖与装后步骤,不重新取源
|
|
584
|
+
*
|
|
585
|
+
* 三种情形要用到:**手工放进插件目录的插件**(压根没有安装动作可挂)、装的时候这一步
|
|
586
|
+
* 失败过、以及使用者自己 `git pull` 过而 `dist/` 已旧。
|
|
587
|
+
*
|
|
588
|
+
* **索引里没有这个插件也照做。** 手工放进去的插件多半不在任何索引里,此时只装依赖、
|
|
589
|
+
* 不跑装后步骤(无从知道该跑什么)—— 那仍然解决了「装了却缺依赖」这个主要情形。
|
|
590
|
+
* 拿不到条目就拒绝会让这个按钮恰在最需要它的场合失效。
|
|
591
|
+
*
|
|
592
|
+
* **即便不缺依赖也跑一次。** 使用者点这个按钮,多半正是因为 `package.json` 的依赖
|
|
593
|
+
* 变过而 `node_modules` 是旧的 —— 那种「旧」从目录存不存在上看不出来,而包管理器
|
|
594
|
+
* 自己比对 lock 文件本就是幂等的。
|
|
595
|
+
* @param name 插件名
|
|
596
|
+
* @returns 本次的结果
|
|
597
|
+
* @throws 名称不合法或插件目录不存在时
|
|
598
|
+
*/
|
|
599
|
+
async setup(name) {
|
|
600
|
+
assertPluginName(name);
|
|
601
|
+
const dir = joinWithin(this.#deps.pluginsDir, name);
|
|
602
|
+
if (!(await isDirectory(dir)))
|
|
603
|
+
throw new Error(`插件目录 ${name} 不存在`);
|
|
604
|
+
const manifest = await this.#manifest(dir);
|
|
605
|
+
// 索引取不到不算失败,见方法头
|
|
606
|
+
const entry = await this.entry(name).catch(() => undefined);
|
|
607
|
+
const done = await this.#finish(name, dir, manifest, entry?.setup, true, true);
|
|
608
|
+
return { name, dir, version: manifest?.version ?? "0.0.0", ...done };
|
|
609
|
+
}
|
|
458
610
|
/**
|
|
459
611
|
* 卸载一个插件
|
|
460
612
|
*
|
|
@@ -475,10 +627,12 @@ export class PluginMarket {
|
|
|
475
627
|
/**
|
|
476
628
|
* 更新一个插件:目录已是 git 仓库时就地拉取,否则退回重新安装
|
|
477
629
|
* @param name 插件名
|
|
630
|
+
* @param opts 可选参数
|
|
631
|
+
* @param opts.dependencies 更新完之后跑包管理器装依赖,并按索引声明跑装后步骤
|
|
478
632
|
* @returns 安装结果
|
|
479
633
|
* @throws 与 `install` 相同;就地拉取失败时抛出 git 的错误
|
|
480
634
|
*/
|
|
481
|
-
async update(name) {
|
|
635
|
+
async update(name, opts = {}) {
|
|
482
636
|
/*
|
|
483
637
|
* 优先就地拉取,因为重新安装会删掉目录里那份 `node_modules`
|
|
484
638
|
*
|
|
@@ -491,18 +645,19 @@ export class PluginMarket {
|
|
|
491
645
|
*/
|
|
492
646
|
assertPluginName(name);
|
|
493
647
|
const target = joinWithin(this.#deps.pluginsDir, name);
|
|
494
|
-
const pulled = await this.#tryPull(name, target);
|
|
495
|
-
return pulled ?? this.install(name, { replace: true });
|
|
648
|
+
const pulled = await this.#tryPull(name, target, opts.dependencies === true);
|
|
649
|
+
return pulled ?? this.install(name, { replace: true, ...opts });
|
|
496
650
|
}
|
|
497
651
|
/**
|
|
498
652
|
* 试着就地拉取一个插件
|
|
499
653
|
* @param name 插件名
|
|
500
654
|
* @param dir 插件安装目录
|
|
655
|
+
* @param dependencies 拉完之后按需装依赖、跑装后步骤
|
|
501
656
|
* @returns 拉取结果;不具备就地拉取条件(无 git、目录不是仓库、来源不是 git)时 undefined
|
|
502
657
|
* @throws 拉取过程本身失败时 —— 那意味着网络或仓库状态有问题,此时退回重新安装会把一次
|
|
503
658
|
* 可修复的失败变成一次目录删除
|
|
504
659
|
*/
|
|
505
|
-
async #tryPull(name, dir) {
|
|
660
|
+
async #tryPull(name, dir, dependencies) {
|
|
506
661
|
/*
|
|
507
662
|
* 两处刻意的做法
|
|
508
663
|
*
|
|
@@ -554,23 +709,29 @@ export class PluginMarket {
|
|
|
554
709
|
const changed = nowAt !== wasAt;
|
|
555
710
|
const manifest = await this.#manifest(dir);
|
|
556
711
|
const version = manifest?.version ?? entry.version ?? "0.0.0";
|
|
557
|
-
const needsDependencies = Object.keys(manifest?.dependencies ?? {}).length > 0 && !(await isDirectory(join(dir, "node_modules")));
|
|
558
712
|
if (changed)
|
|
559
713
|
this.#deps.logger.info(`插件 ${name} 已就地更新至 ${version}(${wasAt.slice(0, 7)} → ${nowAt.slice(0, 7)})`);
|
|
560
714
|
else
|
|
561
715
|
this.#deps.logger.info(`插件 ${name} 已是最新版本 ${version}`);
|
|
562
|
-
|
|
563
|
-
|
|
716
|
+
/*
|
|
717
|
+
* 远端没有新提交、且依赖不缺时不跑收尾
|
|
718
|
+
*
|
|
719
|
+
* 那一次「更新」什么都没改,重跑 `build` 只是白等一遍编译,而 `install:browser`
|
|
720
|
+
* 那类装后步骤更可能去重下一份运行时。缺依赖是例外 —— 那与有没有新提交无关,
|
|
721
|
+
* 使用者点这一下要的就是把它补齐。
|
|
722
|
+
*/
|
|
723
|
+
const missing = Object.keys(manifest?.dependencies ?? {}).length > 0 && !(await isDirectory(join(dir, "node_modules")));
|
|
724
|
+
const done = await this.#finish(name, dir, manifest, entry.setup, dependencies && (changed || missing));
|
|
564
725
|
return {
|
|
565
726
|
name,
|
|
566
727
|
dir,
|
|
567
728
|
via: "pull",
|
|
568
729
|
version,
|
|
569
|
-
needsDependencies,
|
|
570
730
|
changed,
|
|
571
731
|
// 就地拉取过一次,说明目录确实是 git 仓库,此后照旧走这条路
|
|
572
732
|
updatable: "pull",
|
|
573
|
-
...(before === undefined ? {} : { fromVersion: before })
|
|
733
|
+
...(before === undefined ? {} : { fromVersion: before }),
|
|
734
|
+
...done
|
|
574
735
|
};
|
|
575
736
|
}
|
|
576
737
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market.js","sourceRoot":"","sources":["../../src/plugin/market.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"market.js","sourceRoot":"","sources":["../../src/plugin/market.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 包管理器候选,按优先级
|
|
3
|
+
*
|
|
4
|
+
* pnpm 在前:本项目各插件的 lock 文件都是 pnpm 的,装出来的布局与插件作者测过的一致。
|
|
5
|
+
* npm 兜底,随 node 一起装。不认 yarn —— berry 缺省不建 `node_modules`(PnP 模式),
|
|
6
|
+
* 那时 `import()` 插件入口会失败,而失败原因与包管理器的关系很难看出来。
|
|
7
|
+
*/
|
|
8
|
+
export declare const PACKAGE_MANAGERS: readonly string[];
|
|
9
|
+
/**
|
|
10
|
+
* 装依赖的超时毫秒
|
|
11
|
+
*
|
|
12
|
+
* 比任何网络请求都长:国内网络下一次冷装依赖十分钟并不罕见,而超时的后果是留下一个
|
|
13
|
+
* 装了一半的 `node_modules` —— 那比等下去更难收拾。
|
|
14
|
+
*/
|
|
15
|
+
export declare const INSTALL_TIMEOUT_MS: number;
|
|
16
|
+
/**
|
|
17
|
+
* 跑一个 script 的超时毫秒
|
|
18
|
+
*
|
|
19
|
+
* 与装依赖同一量级,且理由相同:`build` 只要几秒,但装后脚本可能在下载一个
|
|
20
|
+
* 上百兆的运行时(renderer-puppeteer 的 `install:browser` 拉的是 Chromium)。
|
|
21
|
+
*/
|
|
22
|
+
export declare const SCRIPT_TIMEOUT_MS: number;
|
|
23
|
+
/**
|
|
24
|
+
* 一个 script 名是否合法
|
|
25
|
+
*
|
|
26
|
+
* 与 {@link assertScriptName} 同一判据,两种形态:解析索引时要的是「不合法就丢弃这一条」,
|
|
27
|
+
* 而真要执行前要的是「不合法就抛」。共用一条正则,免得日后只改一处。
|
|
28
|
+
* @param name 待判定的名称
|
|
29
|
+
* @returns 是否合法
|
|
30
|
+
*/
|
|
31
|
+
export declare function isScriptName(name: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* 校验一个 script 名
|
|
34
|
+
*
|
|
35
|
+
* 执行前的最后一道闸:即便索引解析时已筛过,`runPm` 也可能被别处直接调用。
|
|
36
|
+
* @param name 待校验的名称
|
|
37
|
+
* @returns 名称本身
|
|
38
|
+
* @throws 名称为空或含白名单之外的字符时
|
|
39
|
+
*/
|
|
40
|
+
export declare function assertScriptName(name: string): string;
|
|
41
|
+
/** 一次包管理器动作 */
|
|
42
|
+
export type PmTask = {
|
|
43
|
+
/** 装依赖 */
|
|
44
|
+
readonly kind: "install";
|
|
45
|
+
/** 是否连 devDependencies 一起装 */
|
|
46
|
+
readonly dev: boolean;
|
|
47
|
+
} | {
|
|
48
|
+
/** 跑一个 script */
|
|
49
|
+
readonly kind: "run";
|
|
50
|
+
/** script 名,须已过 {@link assertScriptName} */
|
|
51
|
+
readonly script: string;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* 执行一次包管理器动作的函数形态
|
|
55
|
+
*
|
|
56
|
+
* 抽成类型是为了让测试替换它。这条路的正确性几乎全在**下发了什么** —— 要不要带
|
|
57
|
+
* devDependencies、跑的是哪个 script、失败之后还继不继续 —— 而真实的包管理器
|
|
58
|
+
* 只能告诉你「最后目录里有 node_modules」,上述任一条错掉同样可能得到一个看着
|
|
59
|
+
* 对的目录,直到某个插件在加载时报出一条与原因无关的错。故留这道缝。
|
|
60
|
+
* @param task 动作
|
|
61
|
+
* @param cwd 插件目录
|
|
62
|
+
* @param timeout 超时毫秒
|
|
63
|
+
* @returns 实际用的是哪个包管理器
|
|
64
|
+
*/
|
|
65
|
+
export type PmRunner = (task: PmTask, cwd: string, timeout: number) => Promise<string>;
|
|
66
|
+
/**
|
|
67
|
+
* 依次尝试各包管理器,`MarketDeps.pm` 的缺省实现
|
|
68
|
+
*
|
|
69
|
+
* 不加 `--ignore-scripts`:插件可能依赖原生模块(sqlite、sharp),install 脚本正是它们
|
|
70
|
+
* 编译或下载预编译产物的地方,禁掉会装出一份 `import` 即报错的 `node_modules`,而报错
|
|
71
|
+
* 指向缺少 `.node` 文件,离「我禁了脚本」很远。既然已明说要装,就该装成能用的。
|
|
72
|
+
*
|
|
73
|
+
* 两家都失败时把各自的原因都带上:只报最后一个(npm 的)会让「机器上压根没有 pnpm」
|
|
74
|
+
* 与「pnpm 装到一半失败」看起来一样。
|
|
75
|
+
* @param task 动作
|
|
76
|
+
* @param cwd 插件目录
|
|
77
|
+
* @param timeout 超时毫秒
|
|
78
|
+
* @returns 实际用的是哪个包管理器
|
|
79
|
+
* @throws 全部候选都不可用或都失败时
|
|
80
|
+
*/
|
|
81
|
+
export declare const runPm: PmRunner;
|
|
82
|
+
//# sourceMappingURL=pm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pm.d.ts","sourceRoot":"","sources":["../../src/plugin/pm.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAoB,CAAA;AAElE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAAiB,CAAA;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAiB,CAAA;AAW/C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,eAAe;AACf,MAAM,MAAM,MAAM,GACd;IACE,UAAU;IACV,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CACtB,GACD;IACE,iBAAiB;IACjB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,CAAA;AAEL;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAgBtF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK,EAAE,QA6BnB,CAAA"}
|