weapp-ide-cli 5.2.5 → 5.2.7

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.
@@ -1,4 +1,4 @@
1
- import { $ as readCustomConfig, B as getConfiguredLocale, C as configureLocaleFromArgv, G as operatingSystemName, I as bootstrapWechatDevtoolsSettings, J as createAutoBootstrapDevtoolsConfig, K as colors, L as detectWechatDevtoolsServicePort, Q as overwriteCustomConfig, R as resolveCliPath, S as withMiniProgram, T as validateLocaleOption, V as resolveDevtoolsAutomationDefaults, W as isOperatingSystemSupported, X as createCustomConfig, Y as createAutoTrustProjectConfig, Z as createLocaleConfig, a as navigateBack, c as pageStack, d as remote, et as removeCustomConfigKey, f as scrollTo, g as tap, i as input, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as defaultCustomConfigFilePath, o as navigateTo, p as switchTab, q as logger_default, r as currentPage, rt as resolvePath, s as pageData, t as audit, u as redirectTo, w as i18nText, y as connectMiniProgram } from "./commands-XD_wemcg.js";
1
+ import { $ as readCustomConfig, B as getConfiguredLocale, C as configureLocaleFromArgv, G as operatingSystemName, I as bootstrapWechatDevtoolsSettings, J as createAutoBootstrapDevtoolsConfig, K as colors, L as detectWechatDevtoolsServicePort, Q as overwriteCustomConfig, R as resolveCliPath, S as withMiniProgram, T as validateLocaleOption, V as resolveDevtoolsAutomationDefaults, W as isOperatingSystemSupported, X as createCustomConfig, Y as createAutoTrustProjectConfig, Z as createLocaleConfig, a as navigateBack, c as pageStack, d as remote, et as removeCustomConfigKey, f as scrollTo, g as tap, i as input, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as defaultCustomConfigFilePath, o as navigateTo, p as switchTab, q as logger_default, r as currentPage, rt as resolvePath, s as pageData, t as audit, u as redirectTo, w as i18nText, y as connectMiniProgram } from "./commands-CcaDGUMU.js";
2
2
  import fs from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { fs as fs$1 } from "@weapp-core/shared/fs";
@@ -7,6 +7,7 @@ import { PNG } from "pngjs";
7
7
  import pixelmatch from "pixelmatch";
8
8
  import { createInterface } from "node:readline/promises";
9
9
  import { emitKeypressEvents } from "node:readline";
10
+ import { execa } from "execa";
10
11
  import { inspect } from "node:util";
11
12
  import { cac } from "cac";
12
13
  //#region src/cli/automator-argv.ts
@@ -428,7 +429,7 @@ async function runScreenshot(argv) {
428
429
  }
429
430
  const options = parseScreenshotArgs(argv);
430
431
  const isJsonOutput = argv.includes("--json");
431
- const { takeScreenshot } = await import("./commands-CVibHgp4.js");
432
+ const { takeScreenshot } = await import("./commands-BYt68gRi.js");
432
433
  const result = await takeScreenshot(options);
433
434
  if (isJsonOutput) {
434
435
  console.log(JSON.stringify(result, null, 2));
@@ -1231,6 +1232,9 @@ function createEngineBuildError(message, code) {
1231
1232
  error.code = code;
1232
1233
  return error;
1233
1234
  }
1235
+ const ENGINE_BUILD_ENDPOINT_MISSING_PATTERNS = [/Cannot GET \/engine\/build\b/i, /Cannot GET \/engine\/buildResult\//i];
1236
+ const ENGINE_BUILD_CLI_OPENED_PATTERN = /打开项目成功|project\s+opened|open\s+project\s+success/i;
1237
+ const COMPACT_WHITESPACE_PATTERN = /\s+/g;
1234
1238
  function sleep(ms) {
1235
1239
  return new Promise((resolve) => setTimeout(resolve, ms));
1236
1240
  }
@@ -1259,6 +1263,38 @@ async function writeEngineBuildLog(logPath, content) {
1259
1263
  const filePath = await resolveEngineBuildLogFilePath(logPath);
1260
1264
  await fs.writeFile(filePath, content, "utf8");
1261
1265
  }
1266
+ function isEngineBuildEndpointMissingError(error) {
1267
+ const message = error instanceof Error ? error.message : String(error);
1268
+ return ENGINE_BUILD_ENDPOINT_MISSING_PATTERNS.some((pattern) => pattern.test(message));
1269
+ }
1270
+ function compactOutput(value) {
1271
+ return typeof value === "string" ? value.replace(COMPACT_WHITESPACE_PATTERN, " ").trim() : "";
1272
+ }
1273
+ async function runWechatIdeEngineBuildByCli(projectPath, options = {}) {
1274
+ const { cliPath } = await resolveCliPath();
1275
+ if (!cliPath) throw createEngineBuildError("WECHAT_DEVTOOLS_CLI_NOT_FOUND", "WECHAT_DEVTOOLS_CLI_NOT_FOUND");
1276
+ const result = await execa(cliPath, [
1277
+ "engine",
1278
+ "build",
1279
+ path.resolve(projectPath)
1280
+ ], {
1281
+ reject: false,
1282
+ timeout: options.overallTimeoutMs ?? 12e4
1283
+ });
1284
+ const stdout = typeof result.stdout === "string" ? result.stdout : "";
1285
+ const stderr = typeof result.stderr === "string" ? result.stderr : "";
1286
+ const output = [stdout, stderr].filter(Boolean).join("\n");
1287
+ await writeEngineBuildLog(options.logPath, output);
1288
+ if ((result.exitCode ?? 1) === 0) {
1289
+ if (stdout) process.stdout.write(stdout);
1290
+ if (stderr) process.stderr.write(stderr);
1291
+ return;
1292
+ }
1293
+ if (ENGINE_BUILD_CLI_OPENED_PATTERN.test(output)) return;
1294
+ if (stdout) process.stdout.write(stdout);
1295
+ if (stderr) process.stderr.write(stderr);
1296
+ throw createEngineBuildError(compactOutput(stderr) || compactOutput(stdout) || `WECHAT_DEVTOOLS_ENGINE_BUILD_CLI_FAILED:${result.exitCode ?? 1}`, "WECHAT_DEVTOOLS_ENGINE_BUILD_CLI_FAILED");
1297
+ }
1262
1298
  /**
1263
1299
  * @description 通过开发者工具 HTTP 服务端口执行 engine build,并轮询直到构建结束。
1264
1300
  */
@@ -1294,6 +1330,7 @@ async function runWechatIdeEngineBuild(projectPath, options = {}) {
1294
1330
  await writeEngineBuildLog(options.logPath, logs.join("\n"));
1295
1331
  return result;
1296
1332
  } catch (error) {
1333
+ if (isEngineBuildEndpointMissingError(error)) return await runWechatIdeEngineBuildByCli(projectPath, options);
1297
1334
  logs.push(error instanceof Error ? error.message : String(error));
1298
1335
  await writeEngineBuildLog(options.logPath, logs.join("\n"));
1299
1336
  throw error;
@@ -1762,6 +1799,22 @@ async function runWechatCliWithRetry(cliPath, argv) {
1762
1799
  function shouldBootstrapWechatDevtools(command) {
1763
1800
  return command === "open" || command === "auto" || command === "auto-preview";
1764
1801
  }
1802
+ function appendOptionValue(argv, sourceArgv, optionName) {
1803
+ const value = readOptionValue(sourceArgv, optionName);
1804
+ if (value !== void 0) argv.push(optionName, value);
1805
+ }
1806
+ function createAutoPreviewWakeArgv(argv, trustProject) {
1807
+ if (argv[0] !== "auto-preview") return;
1808
+ const projectPath = readOptionValue(argv, "--project");
1809
+ const appid = readOptionValue(argv, "--appid");
1810
+ if (!projectPath && !appid) return;
1811
+ const wakeArgv = ["open"];
1812
+ appendOptionValue(wakeArgv, argv, "--project");
1813
+ appendOptionValue(wakeArgv, argv, "--appid");
1814
+ appendOptionValue(wakeArgv, argv, "--ext-appid");
1815
+ if (trustProject === true) wakeArgv.push("--trust-project");
1816
+ return wakeArgv;
1817
+ }
1765
1818
  function resolveBooleanCliOption(argv, optionName) {
1766
1819
  if (argv.includes(optionName)) return true;
1767
1820
  const rawValue = readOptionValue(argv, optionName);
@@ -1783,10 +1836,12 @@ async function maybeBootstrapWechatDevtoolsSettings(argv) {
1783
1836
  if (config.autoBootstrapDevtools === false) return;
1784
1837
  const projectPath = readOptionValue(argv, "--project");
1785
1838
  const trustProjectOption = resolveBooleanCliOption(argv, "--trust-project");
1839
+ const trustProject = trustProjectOption === void 0 ? config.autoTrustProject ?? false : trustProjectOption;
1786
1840
  await bootstrapWechatDevtoolsSettings({
1787
1841
  projectPath,
1788
- trustProject: trustProjectOption === void 0 ? config.autoTrustProject ?? false : trustProjectOption
1842
+ trustProject
1789
1843
  });
1844
+ return { trustProject };
1790
1845
  }
1791
1846
  /**
1792
1847
  * @description 执行微信开发者工具 CLI 阶段,包括环境检查、路径解析、bootstrap 与登录重试。
@@ -1801,7 +1856,8 @@ async function runWechatCliCommand(argv) {
1801
1856
  await handleMissingCliPath(source);
1802
1857
  return;
1803
1858
  }
1804
- await maybeBootstrapWechatDevtoolsSettings(argv);
1859
+ const wakeArgv = createAutoPreviewWakeArgv(argv, (await maybeBootstrapWechatDevtoolsSettings(argv))?.trustProject);
1860
+ if (wakeArgv) await runWechatCliWithRetry(cliPath, wakeArgv);
1805
1861
  await runWechatCliWithRetry(cliPath, argv);
1806
1862
  }
1807
1863
  //#endregion
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
- import { q as logger_default } from "./commands-XD_wemcg.js";
2
- import { n as parse } from "./cli-D7gUmbTG.js";
1
+ import { q as logger_default } from "./commands-CcaDGUMU.js";
2
+ import { n as parse } from "./cli-IBevYdS7.js";
3
3
  import process from "node:process";
4
4
  //#region src/cli.ts
5
5
  const argv = process.argv.slice(2);
@@ -0,0 +1,2 @@
1
+ import { h as takeScreenshot } from "./commands-CcaDGUMU.js";
2
+ export { takeScreenshot };
@@ -8,6 +8,7 @@ import process from "node:process";
8
8
  import path$1 from "pathe";
9
9
  import logger, { colors } from "@weapp-core/logger";
10
10
  import { createHash } from "node:crypto";
11
+ import { acquireSharedMiniProgram, closeSharedMiniProgram, getSharedMiniProgramSessionCount, releaseSharedMiniProgram, withMiniProgram } from "@weapp-vite/devtools-runtime";
11
12
  import { PNG } from "pngjs";
12
13
  //#region src/utils/path.ts
13
14
  /**
@@ -752,7 +753,6 @@ function readLangOption(argv) {
752
753
  }
753
754
  //#endregion
754
755
  //#region src/cli/automator-session.ts
755
- const sharedMiniProgramSessions = /* @__PURE__ */ new Map();
756
756
  function normalizeMiniProgramConnectionError(error) {
757
757
  if (isAutomatorLoginError(error)) {
758
758
  logger_default.error(i18nText("检测到微信开发者工具登录状态失效,请先登录后重试。", "Wechat DevTools login has expired. Please login and retry."));
@@ -771,7 +771,7 @@ function normalizeMiniProgramConnectionError(error) {
771
771
  }
772
772
  if (isAutomatorWsConnectError(error)) {
773
773
  logger_default.error(i18nText("无法连接到当前项目的微信开发者工具自动化 websocket。", "Cannot connect to the Wechat DevTools automation websocket for the current project."));
774
- logger_default.warn(i18nText("请确认当前打开的是目标项目;若之前跑过其他 e2e / screenshot 任务,关闭多余的微信开发者工具窗口,或结束残留的 `wechatwebdevtools cli auto --project ...` 进程后重试。", "Please confirm the current DevTools window is the target project. If you recently ran other e2e or screenshot tasks, close extra DevTools windows or stop stale `wechatwebdevtools cli auto --project ...` processes and retry."));
774
+ logger_default.warn(i18nText("请确认当前打开的是目标项目;若之前跑过其他 e2e / screenshot 任务,关闭多余的微信开发者工具窗口,或结束残留的 `wechatwebdevtools cli auto --project ...` 进程后重试。", "Please confirm the current DevTools window is the target project. If you recently ran other e2e / screenshot tasks, close extra windows or stop stale `wechatwebdevtools cli auto --project ...` processes and retry."));
775
775
  return /* @__PURE__ */ new Error("DEVTOOLS_WS_CONNECT_ERROR");
776
776
  }
777
777
  if (isAutomatorProtocolTimeoutError(error)) {
@@ -803,76 +803,21 @@ async function connectMiniProgram(options) {
803
803
  }
804
804
  }
805
805
  }
806
+ const runtimeHooks = {
807
+ connectMiniProgram,
808
+ normalizeConnectionError: normalizeMiniProgramConnectionError
809
+ };
806
810
  /**
807
811
  * @description 获取指定项目的共享 automator 会话;若不存在则自动创建。
808
812
  */
809
- async function acquireSharedMiniProgram(options) {
810
- const existing = sharedMiniProgramSessions.get(options.projectPath);
811
- if (existing) {
812
- existing.refs += 1;
813
- return await existing.session;
814
- }
815
- const session = connectMiniProgram(options);
816
- const entry = {
817
- refs: 1,
818
- session
819
- };
820
- sharedMiniProgramSessions.set(options.projectPath, entry);
821
- try {
822
- return await session;
823
- } catch (error) {
824
- sharedMiniProgramSessions.delete(options.projectPath);
825
- throw error;
826
- }
827
- }
828
- /**
829
- * @description 释放指定项目的共享会话引用;会话对象会继续缓存,直到显式关闭或重置。
830
- */
831
- function releaseSharedMiniProgram(projectPath) {
832
- const entry = sharedMiniProgramSessions.get(projectPath);
833
- if (!entry) return;
834
- entry.refs = Math.max(0, entry.refs - 1);
835
- }
836
- /**
837
- * @description 关闭并移除指定项目的共享 automator 会话。
838
- */
839
- async function closeSharedMiniProgram(projectPath) {
840
- const entry = sharedMiniProgramSessions.get(projectPath);
841
- if (!entry) return;
842
- sharedMiniProgramSessions.delete(projectPath);
843
- (await entry.session.catch(() => null))?.disconnect();
844
- }
845
- /**
846
- * @description 获取当前共享会话数量,供测试断言使用。
847
- */
848
- function getSharedMiniProgramSessionCount() {
849
- return sharedMiniProgramSessions.size;
813
+ async function acquireSharedMiniProgram$1(options) {
814
+ return await acquireSharedMiniProgram(runtimeHooks, options);
850
815
  }
851
816
  /**
852
817
  * @description 统一管理 automator 会话生命周期。
853
818
  */
854
- async function withMiniProgram(options, runner) {
855
- if (options.miniProgram) return await runner(options.miniProgram);
856
- if (options.sharedSession) {
857
- const miniProgram = await acquireSharedMiniProgram(options);
858
- try {
859
- return await runner(miniProgram);
860
- } catch (error) {
861
- await closeSharedMiniProgram(options.projectPath);
862
- throw normalizeMiniProgramConnectionError(error);
863
- } finally {
864
- releaseSharedMiniProgram(options.projectPath);
865
- }
866
- }
867
- let miniProgram = null;
868
- try {
869
- miniProgram = await connectMiniProgram(options);
870
- return await runner(miniProgram);
871
- } catch (error) {
872
- throw normalizeMiniProgramConnectionError(error);
873
- } finally {
874
- if (miniProgram) await miniProgram.close();
875
- }
819
+ async function withMiniProgram$1(options, runner) {
820
+ return await withMiniProgram(runtimeHooks, options, runner);
876
821
  }
877
822
  //#endregion
878
823
  //#region src/cli/fullPageScreenshot.ts
@@ -991,7 +936,7 @@ function withCommandTimeout(task, timeoutMs, message, code) {
991
936
  });
992
937
  }
993
938
  async function runRouteCommand(options, startMessage, successMessage, action) {
994
- await withMiniProgram(options, async (miniProgram) => {
939
+ await withMiniProgram$1(options, async (miniProgram) => {
995
940
  logger_default.info(startMessage);
996
941
  await action(miniProgram);
997
942
  logger_default.success(successMessage);
@@ -1050,7 +995,7 @@ async function switchTab(options) {
1050
995
  * @description 获取页面栈。
1051
996
  */
1052
997
  async function pageStack(options) {
1053
- return await withMiniProgram(options, async (miniProgram) => {
998
+ return await withMiniProgram$1(options, async (miniProgram) => {
1054
999
  const result = (await miniProgram.pageStack()).map(toPageSnapshot);
1055
1000
  printStructuredResult(result, options.json, i18nText("页面栈:", "Page stack:"));
1056
1001
  return result;
@@ -1060,7 +1005,7 @@ async function pageStack(options) {
1060
1005
  * @description 获取当前页面信息。
1061
1006
  */
1062
1007
  async function currentPage(options) {
1063
- return await withMiniProgram(options, async (miniProgram) => {
1008
+ return await withMiniProgram$1(options, async (miniProgram) => {
1064
1009
  const result = toPageSnapshot(await miniProgram.currentPage());
1065
1010
  if (options.json) console.log(JSON.stringify(result, null, 2));
1066
1011
  else logger_default.info(i18nText(`当前页面: ${result.path}${result.query ? ` ${JSON.stringify(result.query)}` : ""}`, `Current page: ${result.path}${result.query ? ` ${JSON.stringify(result.query)}` : ""}`));
@@ -1071,7 +1016,7 @@ async function currentPage(options) {
1071
1016
  * @description 获取系统信息。
1072
1017
  */
1073
1018
  async function systemInfo(options) {
1074
- return await withMiniProgram(options, async (miniProgram) => {
1019
+ return await withMiniProgram$1(options, async (miniProgram) => {
1075
1020
  const result = await miniProgram.systemInfo();
1076
1021
  printStructuredResult(result, options.json, i18nText("系统信息:", "System info:"));
1077
1022
  return result;
@@ -1081,7 +1026,7 @@ async function systemInfo(options) {
1081
1026
  * @description 获取当前页面数据。
1082
1027
  */
1083
1028
  async function pageData(options) {
1084
- return await withMiniProgram(options, async (miniProgram) => {
1029
+ return await withMiniProgram$1(options, async (miniProgram) => {
1085
1030
  const result = await (await miniProgram.currentPage()).data(options.path);
1086
1031
  printStructuredResult(result, options.json, i18nText("页面数据:", "Page data:"));
1087
1032
  return result;
@@ -1091,7 +1036,7 @@ async function pageData(options) {
1091
1036
  * @description 点击页面元素。
1092
1037
  */
1093
1038
  async function tap(options) {
1094
- await withMiniProgram(options, async (miniProgram) => {
1039
+ await withMiniProgram$1(options, async (miniProgram) => {
1095
1040
  logger_default.info(i18nText(`正在点击元素 ${colors.cyan(options.selector)}...`, `Tapping element ${colors.cyan(options.selector)}...`));
1096
1041
  await (await requireElement(await miniProgram.currentPage(), options.selector)).tap();
1097
1042
  logger_default.success(i18nText(`已点击元素 ${colors.cyan(options.selector)}`, `Tapped element ${colors.cyan(options.selector)}`));
@@ -1101,7 +1046,7 @@ async function tap(options) {
1101
1046
  * @description 向页面元素输入文本。
1102
1047
  */
1103
1048
  async function input(options) {
1104
- await withMiniProgram(options, async (miniProgram) => {
1049
+ await withMiniProgram$1(options, async (miniProgram) => {
1105
1050
  logger_default.info(i18nText(`正在向 ${colors.cyan(options.selector)} 输入 "${colors.cyan(options.value)}"...`, `Inputting "${colors.cyan(options.value)}" into ${colors.cyan(options.selector)}...`));
1106
1051
  const element = await requireElement(await miniProgram.currentPage(), options.selector);
1107
1052
  if (typeof element.input !== "function") throw new TypeError(i18nText(`元素不支持输入: ${options.selector}`, `Element does not support input: ${options.selector}`));
@@ -1113,7 +1058,7 @@ async function input(options) {
1113
1058
  * @description 滚动页面到指定位置。
1114
1059
  */
1115
1060
  async function scrollTo(options) {
1116
- await withMiniProgram(options, async (miniProgram) => {
1061
+ await withMiniProgram$1(options, async (miniProgram) => {
1117
1062
  logger_default.info(i18nText(`正在滚动到位置 ${colors.cyan(String(options.scrollTop))}...`, `Scrolling to position ${colors.cyan(String(options.scrollTop))}...`));
1118
1063
  await miniProgram.pageScrollTo(options.scrollTop);
1119
1064
  logger_default.success(i18nText(`已滚动到位置 ${colors.cyan(String(options.scrollTop))}`, `Scrolled to position ${colors.cyan(String(options.scrollTop))}`));
@@ -1123,7 +1068,7 @@ async function scrollTo(options) {
1123
1068
  * @description 执行体验评分审计。
1124
1069
  */
1125
1070
  async function audit(options) {
1126
- return await withMiniProgram(options, async (miniProgram) => {
1071
+ return await withMiniProgram$1(options, async (miniProgram) => {
1127
1072
  logger_default.info(i18nText("正在执行体验审计...", "Running experience audit..."));
1128
1073
  const result = await miniProgram.stopAudits();
1129
1074
  if (options.outputPath) {
@@ -1139,7 +1084,7 @@ async function audit(options) {
1139
1084
  * @description 捕获当前页面截图并返回二进制内容。
1140
1085
  */
1141
1086
  async function captureScreenshotBuffer(options) {
1142
- return await withMiniProgram(options, async (miniProgram) => {
1087
+ return await withMiniProgram$1(options, async (miniProgram) => {
1143
1088
  const commandTimeout = options.timeout ?? 3e4;
1144
1089
  const screenshotTimeoutMessage = i18nText(`截图请求在 ${commandTimeout}ms 内未收到 DevTools 回包,请检查当前微信开发者工具是否仍停留在目标项目;若近期执行过其他 e2e / screenshot 任务,关闭多余窗口并清理残留 automator 会话后重试。`, `Screenshot request did not receive a DevTools response within ${commandTimeout}ms. Check that the current Wechat DevTools window is still the target project. If you recently ran other e2e or screenshot tasks, close extra windows and clean up stale automator sessions before retrying.`);
1145
1090
  if (!options.miniProgram) logger_default.info(i18nText(`正在连接 DevTools:${colors.cyan(options.projectPath)}...`, `Connecting to DevTools at ${colors.cyan(options.projectPath)}...`));
@@ -1196,11 +1141,11 @@ async function takeScreenshot(options) {
1196
1141
  */
1197
1142
  async function remote(options) {
1198
1143
  const enable = options.enable ?? true;
1199
- await withMiniProgram(options, async (miniProgram) => {
1144
+ await withMiniProgram$1(options, async (miniProgram) => {
1200
1145
  logger_default.info(enable ? i18nText("正在开启远程调试...", "Enabling remote debugging...") : i18nText("正在关闭远程调试...", "Disabling remote debugging..."));
1201
1146
  await miniProgram.remote(enable);
1202
1147
  logger_default.success(enable ? i18nText("远程调试已开启", "Remote debugging enabled") : i18nText("远程调试已关闭", "Remote debugging disabled"));
1203
1148
  });
1204
1149
  }
1205
1150
  //#endregion
1206
- export { readCustomConfig as $, isAutomatorProtocolTimeoutError as A, getConfiguredLocale as B, configureLocaleFromArgv as C, formatAutomatorLoginError as D, connectOpenedAutomator as E, launchAutomator as F, operatingSystemName as G, SupportedPlatformsMap as H, bootstrapWechatDevtoolsSettings as I, createAutoBootstrapDevtoolsConfig as J, colors as K, detectWechatDevtoolsServicePort as L, isDevtoolsExtensionContextInvalidatedError as M, isDevtoolsHttpPortError as N, getAutomatorProtocolTimeoutMethod as O, isRetryableAutomatorLaunchError as P, overwriteCustomConfig as Q, resolveCliPath as R, withMiniProgram as S, validateLocaleOption as T, getDefaultCliPath as U, resolveDevtoolsAutomationDefaults as V, isOperatingSystemSupported as W, createCustomConfig as X, createAutoTrustProjectConfig as Y, createLocaleConfig as Z, acquireSharedMiniProgram as _, navigateBack as a, getSharedMiniProgramSessionCount as b, pageStack as c, remote as d, removeCustomConfigKey as et, scrollTo as f, tap as g, takeScreenshot as h, input as i, isAutomatorWsConnectError as j, isAutomatorLoginError as k, reLaunch as l, systemInfo as m, captureScreenshotBuffer as n, defaultCustomConfigFilePath as nt, navigateTo as o, switchTab as p, logger_default as q, currentPage as r, resolvePath as rt, pageData as s, audit as t, defaultCustomConfigDirPath as tt, redirectTo as u, closeSharedMiniProgram as v, i18nText as w, releaseSharedMiniProgram as x, connectMiniProgram as y, getConfig as z };
1151
+ export { readCustomConfig as $, isAutomatorProtocolTimeoutError as A, getConfiguredLocale as B, configureLocaleFromArgv as C, formatAutomatorLoginError as D, connectOpenedAutomator as E, launchAutomator as F, operatingSystemName as G, SupportedPlatformsMap as H, bootstrapWechatDevtoolsSettings as I, createAutoBootstrapDevtoolsConfig as J, colors as K, detectWechatDevtoolsServicePort as L, isDevtoolsExtensionContextInvalidatedError as M, isDevtoolsHttpPortError as N, getAutomatorProtocolTimeoutMethod as O, isRetryableAutomatorLaunchError as P, overwriteCustomConfig as Q, resolveCliPath as R, withMiniProgram$1 as S, validateLocaleOption as T, getDefaultCliPath as U, resolveDevtoolsAutomationDefaults as V, isOperatingSystemSupported as W, createCustomConfig as X, createAutoTrustProjectConfig as Y, createLocaleConfig as Z, acquireSharedMiniProgram$1 as _, navigateBack as a, getSharedMiniProgramSessionCount as b, pageStack as c, remote as d, removeCustomConfigKey as et, scrollTo as f, tap as g, takeScreenshot as h, input as i, isAutomatorWsConnectError as j, isAutomatorLoginError as k, reLaunch as l, systemInfo as m, captureScreenshotBuffer as n, defaultCustomConfigFilePath as nt, navigateTo as o, switchTab as p, logger_default as q, currentPage as r, resolvePath as rt, pageData as s, audit as t, defaultCustomConfigDirPath as tt, redirectTo as u, closeSharedMiniProgram as v, i18nText as w, releaseSharedMiniProgram as x, connectMiniProgram as y, getConfig as z };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { Buffer } from "node:buffer";
2
2
  import * as _$_weapp_vite_miniprogram_automator0 from "@weapp-vite/miniprogram-automator";
3
- import { Element, MiniProgram, Page } from "@weapp-vite/miniprogram-automator";
4
- import * as _$cac from "cac";
3
+ import { AutomatorElement, AutomatorMiniProgram, AutomatorPage, DevtoolsRuntimeSessionOptions, MiniProgramEventMap, closeSharedMiniProgram, getSharedMiniProgramSessionCount, releaseSharedMiniProgram } from "@weapp-vite/devtools-runtime";
5
4
  import * as _$execa from "execa";
5
+ import * as _$cac from "cac";
6
6
 
7
7
  //#region src/cli/automator.d.ts
8
8
  interface AutomatorOptions {
@@ -78,22 +78,10 @@ declare function readBooleanOption(argv: readonly string[], ...optionNames: stri
78
78
  declare function removeOption(argv: readonly string[], optionName: string): string[];
79
79
  //#endregion
80
80
  //#region src/cli/automator-session.d.ts
81
- interface MiniProgramEventMap {
82
- console: (payload: unknown) => void;
83
- exception: (payload: unknown) => void;
84
- }
85
- type MiniProgramLike = InstanceType<typeof MiniProgram>;
86
- type MiniProgramPage = InstanceType<typeof Page>;
87
- type MiniProgramElement = InstanceType<typeof Element> & {
88
- input?: (value: string) => Promise<void>;
89
- };
90
- interface AutomatorSessionOptions {
91
- miniProgram?: MiniProgramLike;
92
- preferOpenedSession?: boolean;
93
- projectPath: string;
94
- sharedSession?: boolean;
95
- timeout?: number;
96
- }
81
+ type MiniProgramLike = AutomatorMiniProgram;
82
+ type MiniProgramPage = AutomatorPage;
83
+ type MiniProgramElement = AutomatorElement;
84
+ interface AutomatorSessionOptions extends DevtoolsRuntimeSessionOptions {}
97
85
  /**
98
86
  * @description 建立 automator 会话,并统一处理常见连接错误提示。
99
87
  */
@@ -102,18 +90,6 @@ declare function connectMiniProgram(options: AutomatorSessionOptions): Promise<M
102
90
  * @description 获取指定项目的共享 automator 会话;若不存在则自动创建。
103
91
  */
104
92
  declare function acquireSharedMiniProgram(options: AutomatorSessionOptions): Promise<MiniProgramLike>;
105
- /**
106
- * @description 释放指定项目的共享会话引用;会话对象会继续缓存,直到显式关闭或重置。
107
- */
108
- declare function releaseSharedMiniProgram(projectPath: string): void;
109
- /**
110
- * @description 关闭并移除指定项目的共享 automator 会话。
111
- */
112
- declare function closeSharedMiniProgram(projectPath: string): Promise<void>;
113
- /**
114
- * @description 获取当前共享会话数量,供测试断言使用。
115
- */
116
- declare function getSharedMiniProgramSessionCount(): number;
117
93
  /**
118
94
  * @description 统一管理 automator 会话生命周期。
119
95
  */
@@ -316,7 +292,7 @@ declare function runWechatIdeEngineBuildByHttp(projectPath: string, options?: Ru
316
292
  /**
317
293
  * @description 以更接近官方 CLI 的方式执行 engine build,并支持将构建日志写入文件。
318
294
  */
319
- declare function runWechatIdeEngineBuild(projectPath: string, options?: RunWechatIdeEngineBuildOptions): Promise<PollWechatIdeEngineBuildResult>;
295
+ declare function runWechatIdeEngineBuild(projectPath: string, options?: RunWechatIdeEngineBuildOptions): Promise<void | PollWechatIdeEngineBuildResult>;
320
296
  //#endregion
321
297
  //#region src/cli/forwardConsole.d.ts
322
298
  type ForwardConsoleLogLevel = 'debug' | 'log' | 'info' | 'warn' | 'error';
@@ -480,12 +456,12 @@ declare function runWechatCliWithRetry(cliPath: string, argv: string[]): Promise
480
456
  //#endregion
481
457
  //#region src/cli/run-login-executor.d.ts
482
458
  interface RetryableCommandExecutorOptions<TResult, TPromptResult> {
483
- createCancelError: (error: unknown) => Error;
459
+ createCancelError: (result: TResult) => Error;
484
460
  execute: () => Promise<TResult>;
485
461
  isRetryableResult: (result: TResult) => boolean;
486
- onCancel?: (error: unknown) => void;
462
+ onCancel?: (result: TResult) => void;
487
463
  onRetry?: () => void;
488
- promptRetry: (error: unknown, retryCount: number) => Promise<TPromptResult>;
464
+ promptRetry: (result: TResult, retryCount: number) => Promise<TPromptResult>;
489
465
  shouldRetry: (result: TPromptResult) => boolean;
490
466
  }
491
467
  /**
@@ -917,4 +893,4 @@ declare function execute(cliPath: string, argv: string[], options?: ExecuteOptio
917
893
  */
918
894
  declare function resolvePath(filePath: string): string;
919
895
  //#endregion
920
- export { AUTOMATOR_COMMAND_NAMES, ArgvTransform, AuditOptions, AutoPreviewWechatIdeOptions, AutoReplayWechatIdeOptions, AutoWechatIdeOptions, AutomatorCommandOptions, AutomatorOptions, AutomatorSessionOptions, type BaseConfig, BootstrapWechatDevtoolsSettingsOptions, BootstrapWechatDevtoolsSettingsResult, BuildWechatIdeApkOptions, BuildWechatIdeIpaOptions, BuildWechatIdeNpmOptions, CONFIG_COMMAND_NAME, ClearWechatIdeCacheByAutomatorOptions, ClearWechatIdeCacheOptions, CompileWechatIdeByAutomatorOptions, type ConfigSource, DetectWechatDevtoolsServicePortOptions, DetectWechatDevtoolsServicePortResult, DetectedWechatDevtoolsServicePortSettings, ExclusiveKeypressOptions, ForwardConsoleEvent, ForwardConsoleLogLevel, ForwardConsoleOptions, ForwardConsoleSession, InputOptions, LoginWechatIdeOptions, MINIDEV_NAMESPACE_COMMAND_NAMES, MiniProgramElement, MiniProgramEventMap, MiniProgramLike, MiniProgramPage, NavigateOptions, OpenWechatIdeOptions, OpenWechatIdeOtherProjectOptions, PageDataOptions, PageInfoOptions, ParsedAutomatorArgs, PollWechatIdeEngineBuildResult, PreviewWechatIdeOptions, RETRY_CANCEL_KEYS, RETRY_CONFIRM_KEYS, RETRY_PROMPT_INITIAL_IGNORE_MS, RemoteOptions, ResetWechatIdeFileUtilsOptions, type ResolvedConfig, RetryKeypressOptions, RetryLogger, RetryPromptOptions, RetryPromptResult, RetryableCommandExecutorOptions, RunWechatIdeEngineBuildByHttpOptions, RunWechatIdeEngineBuildOptions, type ScreenshotOptions, type ScreenshotResult, ScrollOptions, SelectorOptions, SetWechatIdeTicketOptions, SharedInputSession, SharedInputSessionOptions, StartWechatIdeEngineBuildResult, SupportedPlatform, SupportedPlatformsMap, TapOptions, UploadWechatIdeOptions, WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, WECHAT_CLI_COMMAND_NAMES, WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, WechatDevtoolsEngineBuildResult, WechatDevtoolsHttpCommandOptions, WechatDevtoolsSecuritySettings, WechatIdeAutomatorSessionOptions, WechatIdeLoginRetryOptions, acquireSharedMiniProgram, audit, autoPreviewWechatIde, autoReplayWechatIde, autoWechatIde, bootstrapWechatDevtoolsSettings, buildWechatIdeApk, buildWechatIdeIpa, buildWechatIdeNpm, captureScreenshotBuffer, clearWechatIdeCache, clearWechatIdeCacheByAutomator, closeSharedMiniProgram, closeWechatIdeProject, compileWechatIdeByAutomator, connectMiniProgram, connectOpenedAutomator, createAlias, createAutoBootstrapDevtoolsConfig, createAutoTrustProjectConfig, createCli, createCustomConfig, createLocaleConfig, createPathCompat, createSharedInputSession, createWechatIdeLoginRequiredExitError, currentPage, defaultCustomConfigDirPath, defaultCustomConfigFilePath, detectWechatDevtoolsServicePort, dispatchWechatCliCommand, execute, extractExecutionErrorText, formatAutomatorLoginError, formatRetryHotkeyPrompt, formatWechatIdeLoginRequiredError, getAutomatorCommandHelp, getAutomatorProtocolTimeoutMethod, getConfig, getConfiguredLocale, getDefaultCliPath, getSharedMiniProgramSessionCount, getWechatIdeTestAccounts, getWechatIdeTicket, getWechatIdeToolInfo, handleConfigCommand, input, isAutomatorCommand, isAutomatorLoginError, isAutomatorProtocolTimeoutError, isAutomatorWsConnectError, isDevtoolsExtensionContextInvalidatedError, isDevtoolsHttpPortError, isOperatingSystemSupported, isRetryableAutomatorLaunchError, isWeappIdeTopLevelCommand, isWechatIdeLoggedIn, isWechatIdeLoginRequiredError, launchAutomator, loginWechatIde, navigateBack, navigateTo, openWechatIde, openWechatIdeOtherProject, openWechatIdeProjectByHttp, operatingSystemName, overwriteCustomConfig, pageData, pageStack, parse, parseAutomatorArgs, parseCompareArgs, parseScreenshotArgs, pollWechatIdeEngineBuildResultByHttp, previewWechatIde, printCompareHelp, printScreenshotHelp, promptForCliPath, promptRetryKeypress, promptWechatIdeLoginRetry, quitWechatIde, reLaunch, readBooleanOption, readCustomConfig, readOptionValue, redirectTo, refreshWechatIdeTicket, releaseSharedMiniProgram, remote, removeCustomConfigKey, removeOption, requestWechatDevtoolsHttp, resetWechatIdeFileUtils, resetWechatIdeFileUtilsByHttp, resolveCliPath, resolveDevtoolsAutomationDefaults, resolvePath, runAutomatorCommand, runMinidev, runRetryableCommand, runWechatCliWithRetry, runWechatIdeEngineBuild, runWechatIdeEngineBuildByHttp, runWithSuspendedSharedInput, scrollTo, setWechatIdeTicket, startForwardConsole, startWechatIdeEngineBuildByHttp, switchTab, systemInfo, takeScreenshot, tap, transformArgv, uploadWechatIde, validateWechatCliCommandArgs, waitForExclusiveKeypress, waitForRetryKeypress, withMiniProgram };
896
+ export { AUTOMATOR_COMMAND_NAMES, ArgvTransform, AuditOptions, AutoPreviewWechatIdeOptions, AutoReplayWechatIdeOptions, AutoWechatIdeOptions, AutomatorCommandOptions, AutomatorOptions, AutomatorSessionOptions, type BaseConfig, BootstrapWechatDevtoolsSettingsOptions, BootstrapWechatDevtoolsSettingsResult, BuildWechatIdeApkOptions, BuildWechatIdeIpaOptions, BuildWechatIdeNpmOptions, CONFIG_COMMAND_NAME, ClearWechatIdeCacheByAutomatorOptions, ClearWechatIdeCacheOptions, CompileWechatIdeByAutomatorOptions, type ConfigSource, DetectWechatDevtoolsServicePortOptions, DetectWechatDevtoolsServicePortResult, DetectedWechatDevtoolsServicePortSettings, ExclusiveKeypressOptions, ForwardConsoleEvent, ForwardConsoleLogLevel, ForwardConsoleOptions, ForwardConsoleSession, InputOptions, LoginWechatIdeOptions, MINIDEV_NAMESPACE_COMMAND_NAMES, MiniProgramElement, type MiniProgramEventMap, MiniProgramLike, MiniProgramPage, NavigateOptions, OpenWechatIdeOptions, OpenWechatIdeOtherProjectOptions, PageDataOptions, PageInfoOptions, ParsedAutomatorArgs, PollWechatIdeEngineBuildResult, PreviewWechatIdeOptions, RETRY_CANCEL_KEYS, RETRY_CONFIRM_KEYS, RETRY_PROMPT_INITIAL_IGNORE_MS, RemoteOptions, ResetWechatIdeFileUtilsOptions, type ResolvedConfig, RetryKeypressOptions, RetryLogger, RetryPromptOptions, RetryPromptResult, RetryableCommandExecutorOptions, RunWechatIdeEngineBuildByHttpOptions, RunWechatIdeEngineBuildOptions, type ScreenshotOptions, type ScreenshotResult, ScrollOptions, SelectorOptions, SetWechatIdeTicketOptions, SharedInputSession, SharedInputSessionOptions, StartWechatIdeEngineBuildResult, SupportedPlatform, SupportedPlatformsMap, TapOptions, UploadWechatIdeOptions, WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, WECHAT_CLI_COMMAND_NAMES, WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, WechatDevtoolsEngineBuildResult, WechatDevtoolsHttpCommandOptions, WechatDevtoolsSecuritySettings, WechatIdeAutomatorSessionOptions, WechatIdeLoginRetryOptions, acquireSharedMiniProgram, audit, autoPreviewWechatIde, autoReplayWechatIde, autoWechatIde, bootstrapWechatDevtoolsSettings, buildWechatIdeApk, buildWechatIdeIpa, buildWechatIdeNpm, captureScreenshotBuffer, clearWechatIdeCache, clearWechatIdeCacheByAutomator, closeSharedMiniProgram, closeWechatIdeProject, compileWechatIdeByAutomator, connectMiniProgram, connectOpenedAutomator, createAlias, createAutoBootstrapDevtoolsConfig, createAutoTrustProjectConfig, createCli, createCustomConfig, createLocaleConfig, createPathCompat, createSharedInputSession, createWechatIdeLoginRequiredExitError, currentPage, defaultCustomConfigDirPath, defaultCustomConfigFilePath, detectWechatDevtoolsServicePort, dispatchWechatCliCommand, execute, extractExecutionErrorText, formatAutomatorLoginError, formatRetryHotkeyPrompt, formatWechatIdeLoginRequiredError, getAutomatorCommandHelp, getAutomatorProtocolTimeoutMethod, getConfig, getConfiguredLocale, getDefaultCliPath, getSharedMiniProgramSessionCount, getWechatIdeTestAccounts, getWechatIdeTicket, getWechatIdeToolInfo, handleConfigCommand, input, isAutomatorCommand, isAutomatorLoginError, isAutomatorProtocolTimeoutError, isAutomatorWsConnectError, isDevtoolsExtensionContextInvalidatedError, isDevtoolsHttpPortError, isOperatingSystemSupported, isRetryableAutomatorLaunchError, isWeappIdeTopLevelCommand, isWechatIdeLoggedIn, isWechatIdeLoginRequiredError, launchAutomator, loginWechatIde, navigateBack, navigateTo, openWechatIde, openWechatIdeOtherProject, openWechatIdeProjectByHttp, operatingSystemName, overwriteCustomConfig, pageData, pageStack, parse, parseAutomatorArgs, parseCompareArgs, parseScreenshotArgs, pollWechatIdeEngineBuildResultByHttp, previewWechatIde, printCompareHelp, printScreenshotHelp, promptForCliPath, promptRetryKeypress, promptWechatIdeLoginRetry, quitWechatIde, reLaunch, readBooleanOption, readCustomConfig, readOptionValue, redirectTo, refreshWechatIdeTicket, releaseSharedMiniProgram, remote, removeCustomConfigKey, removeOption, requestWechatDevtoolsHttp, resetWechatIdeFileUtils, resetWechatIdeFileUtilsByHttp, resolveCliPath, resolveDevtoolsAutomationDefaults, resolvePath, runAutomatorCommand, runMinidev, runRetryableCommand, runWechatCliWithRetry, runWechatIdeEngineBuild, runWechatIdeEngineBuildByHttp, runWithSuspendedSharedInput, scrollTo, setWechatIdeTicket, startForwardConsole, startWechatIdeEngineBuildByHttp, switchTab, systemInfo, takeScreenshot, tap, transformArgv, uploadWechatIde, validateWechatCliCommandArgs, waitForExclusiveKeypress, waitForRetryKeypress, withMiniProgram };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { $ as readCustomConfig, A as isAutomatorProtocolTimeoutError, B as getConfiguredLocale, D as formatAutomatorLoginError, E as connectOpenedAutomator, F as launchAutomator, G as operatingSystemName, H as SupportedPlatformsMap, I as bootstrapWechatDevtoolsSettings, J as createAutoBootstrapDevtoolsConfig, L as detectWechatDevtoolsServicePort, M as isDevtoolsExtensionContextInvalidatedError, N as isDevtoolsHttpPortError, O as getAutomatorProtocolTimeoutMethod, P as isRetryableAutomatorLaunchError, Q as overwriteCustomConfig, R as resolveCliPath, S as withMiniProgram, U as getDefaultCliPath, V as resolveDevtoolsAutomationDefaults, W as isOperatingSystemSupported, X as createCustomConfig, Y as createAutoTrustProjectConfig, Z as createLocaleConfig, _ as acquireSharedMiniProgram, a as navigateBack, b as getSharedMiniProgramSessionCount, c as pageStack, d as remote, et as removeCustomConfigKey, f as scrollTo, g as tap, h as takeScreenshot, i as input, j as isAutomatorWsConnectError, k as isAutomatorLoginError, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as defaultCustomConfigFilePath, o as navigateTo, p as switchTab, r as currentPage, rt as resolvePath, s as pageData, t as audit, tt as defaultCustomConfigDirPath, u as redirectTo, v as closeSharedMiniProgram, x as releaseSharedMiniProgram, y as connectMiniProgram, z as getConfig } from "./commands-XD_wemcg.js";
2
- import { $ as resetWechatIdeFileUtilsByHttp, A as RETRY_CANCEL_KEYS, B as waitForRetryKeypress, C as refreshWechatIdeTicket, D as validateWechatCliCommandArgs, E as uploadWechatIde, F as formatRetryHotkeyPrompt, G as transformArgv, H as execute, I as formatWechatIdeLoginRequiredError, J as runWechatIdeEngineBuildByHttp, K as startForwardConsole, L as isWechatIdeLoginRequiredError, M as RETRY_PROMPT_INITIAL_IGNORE_MS, N as createWechatIdeLoginRequiredExitError, O as runWechatCliWithRetry, P as extractExecutionErrorText, Q as requestWechatDevtoolsHttp, R as promptRetryKeypress, S as quitWechatIde, St as removeOption, T as setWechatIdeTicket, U as createAlias, V as runMinidev, W as createPathCompat, X as openWechatIdeProjectByHttp, Y as WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, Z as pollWechatIdeEngineBuildResultByHttp, _ as isWechatIdeLoggedIn, _t as parseCompareArgs, a as autoReplayWechatIde, at as waitForExclusiveKeypress, b as openWechatIdeOtherProject, bt as readBooleanOption, c as buildWechatIdeIpa, ct as WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, d as clearWechatIdeCacheByAutomator, dt as AUTOMATOR_COMMAND_NAMES, et as startWechatIdeEngineBuildByHttp, f as closeWechatIdeProject, ft as getAutomatorCommandHelp, g as getWechatIdeToolInfo, gt as printScreenshotHelp, h as getWechatIdeTicket, ht as parseScreenshotArgs, i as autoPreviewWechatIde, it as runWithSuspendedSharedInput, j as RETRY_CONFIRM_KEYS, k as runRetryableCommand, l as buildWechatIdeNpm, lt as WECHAT_CLI_COMMAND_NAMES, m as getWechatIdeTestAccounts, mt as runAutomatorCommand, n as parse, nt as promptForCliPath, o as autoWechatIde, ot as CONFIG_COMMAND_NAME, p as compileWechatIdeByAutomator, pt as isAutomatorCommand, q as runWechatIdeEngineBuild, r as dispatchWechatCliCommand, rt as createSharedInputSession, s as buildWechatIdeApk, st as MINIDEV_NAMESPACE_COMMAND_NAMES, t as createCli, tt as handleConfigCommand, u as clearWechatIdeCache, ut as isWeappIdeTopLevelCommand, v as loginWechatIde, vt as printCompareHelp, w as resetWechatIdeFileUtils, x as previewWechatIde, xt as readOptionValue, y as openWechatIde, yt as parseAutomatorArgs, z as promptWechatIdeLoginRetry } from "./cli-D7gUmbTG.js";
1
+ import { $ as readCustomConfig, A as isAutomatorProtocolTimeoutError, B as getConfiguredLocale, D as formatAutomatorLoginError, E as connectOpenedAutomator, F as launchAutomator, G as operatingSystemName, H as SupportedPlatformsMap, I as bootstrapWechatDevtoolsSettings, J as createAutoBootstrapDevtoolsConfig, L as detectWechatDevtoolsServicePort, M as isDevtoolsExtensionContextInvalidatedError, N as isDevtoolsHttpPortError, O as getAutomatorProtocolTimeoutMethod, P as isRetryableAutomatorLaunchError, Q as overwriteCustomConfig, R as resolveCliPath, S as withMiniProgram, U as getDefaultCliPath, V as resolveDevtoolsAutomationDefaults, W as isOperatingSystemSupported, X as createCustomConfig, Y as createAutoTrustProjectConfig, Z as createLocaleConfig, _ as acquireSharedMiniProgram, a as navigateBack, b as getSharedMiniProgramSessionCount, c as pageStack, d as remote, et as removeCustomConfigKey, f as scrollTo, g as tap, h as takeScreenshot, i as input, j as isAutomatorWsConnectError, k as isAutomatorLoginError, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as defaultCustomConfigFilePath, o as navigateTo, p as switchTab, r as currentPage, rt as resolvePath, s as pageData, t as audit, tt as defaultCustomConfigDirPath, u as redirectTo, v as closeSharedMiniProgram, x as releaseSharedMiniProgram, y as connectMiniProgram, z as getConfig } from "./commands-CcaDGUMU.js";
2
+ import { $ as resetWechatIdeFileUtilsByHttp, A as RETRY_CANCEL_KEYS, B as waitForRetryKeypress, C as refreshWechatIdeTicket, D as validateWechatCliCommandArgs, E as uploadWechatIde, F as formatRetryHotkeyPrompt, G as transformArgv, H as execute, I as formatWechatIdeLoginRequiredError, J as runWechatIdeEngineBuildByHttp, K as startForwardConsole, L as isWechatIdeLoginRequiredError, M as RETRY_PROMPT_INITIAL_IGNORE_MS, N as createWechatIdeLoginRequiredExitError, O as runWechatCliWithRetry, P as extractExecutionErrorText, Q as requestWechatDevtoolsHttp, R as promptRetryKeypress, S as quitWechatIde, St as removeOption, T as setWechatIdeTicket, U as createAlias, V as runMinidev, W as createPathCompat, X as openWechatIdeProjectByHttp, Y as WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, Z as pollWechatIdeEngineBuildResultByHttp, _ as isWechatIdeLoggedIn, _t as parseCompareArgs, a as autoReplayWechatIde, at as waitForExclusiveKeypress, b as openWechatIdeOtherProject, bt as readBooleanOption, c as buildWechatIdeIpa, ct as WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, d as clearWechatIdeCacheByAutomator, dt as AUTOMATOR_COMMAND_NAMES, et as startWechatIdeEngineBuildByHttp, f as closeWechatIdeProject, ft as getAutomatorCommandHelp, g as getWechatIdeToolInfo, gt as printScreenshotHelp, h as getWechatIdeTicket, ht as parseScreenshotArgs, i as autoPreviewWechatIde, it as runWithSuspendedSharedInput, j as RETRY_CONFIRM_KEYS, k as runRetryableCommand, l as buildWechatIdeNpm, lt as WECHAT_CLI_COMMAND_NAMES, m as getWechatIdeTestAccounts, mt as runAutomatorCommand, n as parse, nt as promptForCliPath, o as autoWechatIde, ot as CONFIG_COMMAND_NAME, p as compileWechatIdeByAutomator, pt as isAutomatorCommand, q as runWechatIdeEngineBuild, r as dispatchWechatCliCommand, rt as createSharedInputSession, s as buildWechatIdeApk, st as MINIDEV_NAMESPACE_COMMAND_NAMES, t as createCli, tt as handleConfigCommand, u as clearWechatIdeCache, ut as isWeappIdeTopLevelCommand, v as loginWechatIde, vt as printCompareHelp, w as resetWechatIdeFileUtils, x as previewWechatIde, xt as readOptionValue, y as openWechatIde, yt as parseAutomatorArgs, z as promptWechatIdeLoginRetry } from "./cli-IBevYdS7.js";
3
3
  export { AUTOMATOR_COMMAND_NAMES, CONFIG_COMMAND_NAME, MINIDEV_NAMESPACE_COMMAND_NAMES, RETRY_CANCEL_KEYS, RETRY_CONFIRM_KEYS, RETRY_PROMPT_INITIAL_IGNORE_MS, SupportedPlatformsMap, WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, WECHAT_CLI_COMMAND_NAMES, WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, acquireSharedMiniProgram, audit, autoPreviewWechatIde, autoReplayWechatIde, autoWechatIde, bootstrapWechatDevtoolsSettings, buildWechatIdeApk, buildWechatIdeIpa, buildWechatIdeNpm, captureScreenshotBuffer, clearWechatIdeCache, clearWechatIdeCacheByAutomator, closeSharedMiniProgram, closeWechatIdeProject, compileWechatIdeByAutomator, connectMiniProgram, connectOpenedAutomator, createAlias, createAutoBootstrapDevtoolsConfig, createAutoTrustProjectConfig, createCli, createCustomConfig, createLocaleConfig, createPathCompat, createSharedInputSession, createWechatIdeLoginRequiredExitError, currentPage, defaultCustomConfigDirPath, defaultCustomConfigFilePath, detectWechatDevtoolsServicePort, dispatchWechatCliCommand, execute, extractExecutionErrorText, formatAutomatorLoginError, formatRetryHotkeyPrompt, formatWechatIdeLoginRequiredError, getAutomatorCommandHelp, getAutomatorProtocolTimeoutMethod, getConfig, getConfiguredLocale, getDefaultCliPath, getSharedMiniProgramSessionCount, getWechatIdeTestAccounts, getWechatIdeTicket, getWechatIdeToolInfo, handleConfigCommand, input, isAutomatorCommand, isAutomatorLoginError, isAutomatorProtocolTimeoutError, isAutomatorWsConnectError, isDevtoolsExtensionContextInvalidatedError, isDevtoolsHttpPortError, isOperatingSystemSupported, isRetryableAutomatorLaunchError, isWeappIdeTopLevelCommand, isWechatIdeLoggedIn, isWechatIdeLoginRequiredError, launchAutomator, loginWechatIde, navigateBack, navigateTo, openWechatIde, openWechatIdeOtherProject, openWechatIdeProjectByHttp, operatingSystemName, overwriteCustomConfig, pageData, pageStack, parse, parseAutomatorArgs, parseCompareArgs, parseScreenshotArgs, pollWechatIdeEngineBuildResultByHttp, previewWechatIde, printCompareHelp, printScreenshotHelp, promptForCliPath, promptRetryKeypress, promptWechatIdeLoginRetry, quitWechatIde, reLaunch, readBooleanOption, readCustomConfig, readOptionValue, redirectTo, refreshWechatIdeTicket, releaseSharedMiniProgram, remote, removeCustomConfigKey, removeOption, requestWechatDevtoolsHttp, resetWechatIdeFileUtils, resetWechatIdeFileUtilsByHttp, resolveCliPath, resolveDevtoolsAutomationDefaults, resolvePath, runAutomatorCommand, runMinidev, runRetryableCommand, runWechatCliWithRetry, runWechatIdeEngineBuild, runWechatIdeEngineBuildByHttp, runWithSuspendedSharedInput, scrollTo, setWechatIdeTicket, startForwardConsole, startWechatIdeEngineBuildByHttp, switchTab, systemInfo, takeScreenshot, tap, transformArgv, uploadWechatIde, validateWechatCliCommandArgs, waitForExclusiveKeypress, waitForRetryKeypress, withMiniProgram };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-ide-cli",
3
3
  "type": "module",
4
- "version": "5.2.5",
4
+ "version": "5.2.7",
5
5
  "description": "让微信开发者工具,用起来更加方便!",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -65,11 +65,12 @@
65
65
  "cac": "^7.0.0",
66
66
  "execa": "9.6.1",
67
67
  "pathe": "^2.0.3",
68
- "pixelmatch": "^7.1.0",
68
+ "pixelmatch": "^7.2.0",
69
69
  "pngjs": "^7.0.0",
70
+ "@weapp-core/logger": "^3.1.1",
70
71
  "@weapp-core/shared": "^3.0.4",
71
- "@weapp-vite/miniprogram-automator": "1.0.4",
72
- "@weapp-core/logger": "^3.1.1"
72
+ "@weapp-vite/devtools-runtime": "0.2.0",
73
+ "@weapp-vite/miniprogram-automator": "1.0.4"
73
74
  },
74
75
  "scripts": {
75
76
  "dev": "tsdown -w --sourcemap",
@@ -1,2 +0,0 @@
1
- import { h as takeScreenshot } from "./commands-XD_wemcg.js";
2
- export { takeScreenshot };