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.
- package/dist/{cli-D7gUmbTG.js → cli-IBevYdS7.js} +60 -4
- package/dist/cli.js +2 -2
- package/dist/commands-BYt68gRi.js +2 -0
- package/dist/{commands-XD_wemcg.js → commands-CcaDGUMU.js} +22 -77
- package/dist/index.d.ts +11 -35
- package/dist/index.js +2 -2
- package/package.json +5 -4
- package/dist/commands-CVibHgp4.js +0 -2
|
@@ -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-
|
|
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-
|
|
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
|
|
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-
|
|
2
|
-
import { n as parse } from "./cli-
|
|
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);
|
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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: (
|
|
459
|
+
createCancelError: (result: TResult) => Error;
|
|
484
460
|
execute: () => Promise<TResult>;
|
|
485
461
|
isRetryableResult: (result: TResult) => boolean;
|
|
486
|
-
onCancel?: (
|
|
462
|
+
onCancel?: (result: TResult) => void;
|
|
487
463
|
onRetry?: () => void;
|
|
488
|
-
promptRetry: (
|
|
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-
|
|
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-
|
|
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.
|
|
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.
|
|
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/
|
|
72
|
-
"@weapp-
|
|
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",
|