@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.
@@ -9,15 +9,19 @@
9
9
  * `joinWithin` 求值;两者任一不通过即拒绝,不做纠正后重试。
10
10
  * 2) **先下载到临时目录,校验通过后再移入插件目录。** 中途失败时插件目录
11
11
  * 保持原状,不会留下半个插件 —— 半个插件会在下次启动时被扫描到并加载失败。
12
- * 3) **不自动执行包管理器。** 安装第三方代码的依赖等于执行其 install 脚本,
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
- return { name, dir: target, via, version, needsDependencies, updatable: via === "git" ? "pull" : "reinstall" };
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
- if (needsDependencies)
563
- this.#deps.logger.warn(`插件 ${name} 声明了运行时依赖,需在其目录内自行执行包管理器安装`);
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"}