weapp-ide-cli 5.4.9 → 5.4.10
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-BUx9wWVK.js → cli-VDfmaSeY.js} +2 -2
- package/dist/cli.js +1 -1
- package/dist/{commands-C6ATyJuz.js → commands-BhdiLWJW.js} +156 -27
- package/dist/commands-MbBi-mkj.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/dist/commands-CEJ6rVma.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { $ as overwriteCustomConfig, C as configureLocaleFromArgv, H as resolveDevtoolsAutomationDefaults, J as logger_default, Q as createLocaleConfig, T as validateLocaleOption, V as getConfiguredLocale, X as createAutoTrustProjectConfig, Y as createAutoBootstrapDevtoolsConfig, Z as createCustomConfig, a as releaseSharedMiniProgram, et as readCustomConfig, q as colors, r as connectMiniProgram, rt as defaultCustomConfigFilePath, t as acquireSharedMiniProgram, tt as removeCustomConfigKey, w as i18nText, z as resolveCliPath } from "./automator-session-C8JdS2rx.js";
|
|
2
|
-
import { A as isWechatIdeLoggedIn, B as runWechatCliCommand, C as clearWechatIdeCache, F as quitWechatIde, G as transformArgv, H as execute, K as promptForCliPath, L as resetWechatIdeFileUtils, M as openWechatIde, N as openWechatIdeOtherProject, P as previewWechatIde, Q as startWechatIdeEngineBuildByHttp, S as buildWechatIdeNpm, T as closeWechatIdeProject, U as createAlias, W as createPathCompat, Y as pollWechatIdeEngineBuildResultByHttp, _ as autoPreviewWechatIde, a as navigateBack, b as buildWechatIdeApk, c as pageStack, d as remote, f as scrollTo, g as tap, i as input, it as removeOption, j as loginWechatIde, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as readBooleanOption, o as navigateTo, p as switchTab, r as currentPage, rt as readOptionValue, s as pageData, t as audit, tt as parseAutomatorArgs, u as redirectTo, v as autoReplayWechatIde, x as buildWechatIdeIpa, y as autoWechatIde, z as uploadWechatIde } from "./commands-
|
|
2
|
+
import { A as isWechatIdeLoggedIn, B as runWechatCliCommand, C as clearWechatIdeCache, F as quitWechatIde, G as transformArgv, H as execute, K as promptForCliPath, L as resetWechatIdeFileUtils, M as openWechatIde, N as openWechatIdeOtherProject, P as previewWechatIde, Q as startWechatIdeEngineBuildByHttp, S as buildWechatIdeNpm, T as closeWechatIdeProject, U as createAlias, W as createPathCompat, Y as pollWechatIdeEngineBuildResultByHttp, _ as autoPreviewWechatIde, a as navigateBack, b as buildWechatIdeApk, c as pageStack, d as remote, f as scrollTo, g as tap, i as input, it as removeOption, j as loginWechatIde, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as readBooleanOption, o as navigateTo, p as switchTab, r as currentPage, rt as readOptionValue, s as pageData, t as audit, tt as parseAutomatorArgs, u as redirectTo, v as autoReplayWechatIde, x as buildWechatIdeIpa, y as autoWechatIde, z as uploadWechatIde } from "./commands-BhdiLWJW.js";
|
|
3
3
|
import "./run-mcp-X00XjC8Z.js";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import path from "node:path";
|
|
@@ -313,7 +313,7 @@ async function runScreenshot(argv) {
|
|
|
313
313
|
}
|
|
314
314
|
const options = parseScreenshotArgs(argv);
|
|
315
315
|
const isJsonOutput = argv.includes("--json");
|
|
316
|
-
const { takeScreenshot } = await import("./commands-
|
|
316
|
+
const { takeScreenshot } = await import("./commands-MbBi-mkj.js");
|
|
317
317
|
const result = await takeScreenshot(options);
|
|
318
318
|
if (isJsonOutput) {
|
|
319
319
|
console.log(JSON.stringify(result, null, 2));
|
package/dist/cli.js
CHANGED
|
@@ -166,6 +166,8 @@ function removeOption(argv, optionName) {
|
|
|
166
166
|
}
|
|
167
167
|
//#endregion
|
|
168
168
|
//#region src/cli/fullPageScreenshot.ts
|
|
169
|
+
const MAX_FULL_PAGE_CAPTURES = 200;
|
|
170
|
+
const DEVTOOLS_INSPECTEE_REFERENCE_ERROR = /__inspectee__ is not defined|Can't find variable:\s*__inspectee__/i;
|
|
169
171
|
function decodeScreenshotBuffer(raw) {
|
|
170
172
|
if (raw === void 0) throw new Error("Failed to capture screenshot");
|
|
171
173
|
const buffer = typeof raw === "string" ? Buffer.from(raw, "base64") : Buffer.from(raw);
|
|
@@ -175,13 +177,16 @@ function decodeScreenshotBuffer(raw) {
|
|
|
175
177
|
function toPositiveNumber(value) {
|
|
176
178
|
return typeof value === "number" && Number.isFinite(value) && value > 0 ? value : void 0;
|
|
177
179
|
}
|
|
178
|
-
function
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
180
|
+
function isDevtoolsInspecteeReferenceError(error) {
|
|
181
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
182
|
+
return DEVTOOLS_INSPECTEE_REFERENCE_ERROR.test(message);
|
|
183
|
+
}
|
|
184
|
+
async function captureViewportScreenshotBuffer(miniProgram, timeoutMs, runWithTimeout, screenshotTimeoutMessage) {
|
|
185
|
+
return decodeScreenshotBuffer(await runWithTimeout(miniProgram.screenshot({ timeout: timeoutMs }), timeoutMs, screenshotTimeoutMessage, "DEVTOOLS_SCREENSHOT_TIMEOUT"));
|
|
186
|
+
}
|
|
187
|
+
function resolveScale(pageWidth, viewportHeight, png) {
|
|
188
|
+
if (pageWidth && pageWidth > 0) return png.width / pageWidth;
|
|
189
|
+
return png.height / viewportHeight;
|
|
185
190
|
}
|
|
186
191
|
function cropPngRows(source, startRow, rowCount) {
|
|
187
192
|
const cropped = new PNG({
|
|
@@ -196,9 +201,90 @@ function cropPngRows(source, startRow, rowCount) {
|
|
|
196
201
|
}
|
|
197
202
|
return cropped;
|
|
198
203
|
}
|
|
204
|
+
function areRowsVisuallyEqual(first, second, firstRow, secondRow) {
|
|
205
|
+
const tolerance = 6;
|
|
206
|
+
const requiredEqualRatio = .98;
|
|
207
|
+
let equalPixels = 0;
|
|
208
|
+
for (let column = 0; column < first.width; column += 1) {
|
|
209
|
+
const firstIndex = (firstRow * first.width + column) * 4;
|
|
210
|
+
const secondIndex = (secondRow * second.width + column) * 4;
|
|
211
|
+
if (Math.abs(first.data[firstIndex] - second.data[secondIndex]) <= tolerance && Math.abs(first.data[firstIndex + 1] - second.data[secondIndex + 1]) <= tolerance && Math.abs(first.data[firstIndex + 2] - second.data[secondIndex + 2]) <= tolerance && Math.abs(first.data[firstIndex + 3] - second.data[secondIndex + 3]) <= tolerance) equalPixels += 1;
|
|
212
|
+
}
|
|
213
|
+
return equalPixels / first.width >= requiredEqualRatio;
|
|
214
|
+
}
|
|
215
|
+
function detectFixedBottomRows(first, second, scale) {
|
|
216
|
+
if (first.width !== second.width || first.height !== second.height) return 0;
|
|
217
|
+
const maxFixedRows = Math.floor(first.height * .45);
|
|
218
|
+
const minFixedRows = Math.max(8, Math.round(8 * scale));
|
|
219
|
+
let fixedRows = 0;
|
|
220
|
+
for (let offset = 0; offset < maxFixedRows; offset += 1) {
|
|
221
|
+
if (!areRowsVisuallyEqual(first, second, first.height - 1 - offset, second.height - 1 - offset)) break;
|
|
222
|
+
fixedRows += 1;
|
|
223
|
+
}
|
|
224
|
+
return fixedRows >= minFixedRows ? fixedRows : 0;
|
|
225
|
+
}
|
|
199
226
|
async function restoreScrollPosition(miniProgram, page, scrollTop) {
|
|
227
|
+
try {
|
|
228
|
+
await miniProgram.pageScrollTo(scrollTop);
|
|
229
|
+
await page.waitFor(150);
|
|
230
|
+
} catch (error) {
|
|
231
|
+
if (!isDevtoolsInspecteeReferenceError(error)) throw error;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
async function readRuntimeViewportMetrics(miniProgram) {
|
|
235
|
+
if (typeof miniProgram.evaluate !== "function") return;
|
|
236
|
+
const metrics = await miniProgram.evaluate(() => {
|
|
237
|
+
const wxLike = typeof wx === "undefined" ? void 0 : wx;
|
|
238
|
+
const systemInfo = wxLike?.getWindowInfo?.() ?? wxLike?.getSystemInfoSync?.();
|
|
239
|
+
return new Promise((resolve) => {
|
|
240
|
+
if (!wxLike?.createSelectorQuery) {
|
|
241
|
+
resolve({
|
|
242
|
+
pageHeight: void 0,
|
|
243
|
+
pageWidth: systemInfo?.windowWidth,
|
|
244
|
+
scrollTop: void 0,
|
|
245
|
+
viewportHeight: systemInfo?.windowHeight
|
|
246
|
+
});
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
wxLike.createSelectorQuery().selectViewport().scrollOffset((viewport) => {
|
|
250
|
+
resolve({
|
|
251
|
+
pageHeight: viewport?.scrollHeight,
|
|
252
|
+
pageWidth: viewport?.scrollWidth ?? systemInfo?.windowWidth,
|
|
253
|
+
scrollTop: viewport?.scrollTop,
|
|
254
|
+
viewportHeight: systemInfo?.windowHeight
|
|
255
|
+
});
|
|
256
|
+
}).exec();
|
|
257
|
+
});
|
|
258
|
+
}).catch(() => void 0);
|
|
259
|
+
if (!metrics || typeof metrics !== "object") return;
|
|
260
|
+
const raw = metrics;
|
|
261
|
+
return {
|
|
262
|
+
pageHeight: toPositiveNumber(raw.pageHeight),
|
|
263
|
+
pageWidth: toPositiveNumber(raw.pageWidth),
|
|
264
|
+
scrollTop: typeof raw.scrollTop === "number" && Number.isFinite(raw.scrollTop) ? Math.max(raw.scrollTop, 0) : void 0,
|
|
265
|
+
viewportHeight: toPositiveNumber(raw.viewportHeight)
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
async function readPageSize(page) {
|
|
269
|
+
return await page.size().catch(() => null);
|
|
270
|
+
}
|
|
271
|
+
async function readScrollTop(miniProgram, page) {
|
|
272
|
+
const runtimeMetrics = await readRuntimeViewportMetrics(miniProgram);
|
|
273
|
+
if (runtimeMetrics?.scrollTop !== void 0) return runtimeMetrics.scrollTop;
|
|
274
|
+
return typeof page.scrollTop === "function" ? toPositiveNumber(await page.scrollTop().catch(() => void 0)) ?? 0 : 0;
|
|
275
|
+
}
|
|
276
|
+
async function captureScrolledPng(miniProgram, page, scrollTop, timeoutMs, runWithTimeout, screenshotTimeoutMessage) {
|
|
200
277
|
await miniProgram.pageScrollTo(scrollTop);
|
|
201
278
|
await page.waitFor(150);
|
|
279
|
+
const rawScreenshot = await runWithTimeout(miniProgram.screenshot({ timeout: timeoutMs }), timeoutMs, screenshotTimeoutMessage, "DEVTOOLS_SCREENSHOT_TIMEOUT");
|
|
280
|
+
const runtimeMetrics = await readRuntimeViewportMetrics(miniProgram);
|
|
281
|
+
const actualScrollTop = runtimeMetrics?.scrollTop ?? (typeof page.scrollTop === "function" ? toPositiveNumber(await page.scrollTop().catch(() => void 0)) ?? scrollTop : scrollTop);
|
|
282
|
+
const pageSize = runtimeMetrics?.pageHeight ? void 0 : await readPageSize(page);
|
|
283
|
+
return {
|
|
284
|
+
pageHeight: runtimeMetrics?.pageHeight ?? toPositiveNumber(pageSize?.height),
|
|
285
|
+
png: PNG.sync.read(decodeScreenshotBuffer(rawScreenshot)),
|
|
286
|
+
scrollTop: actualScrollTop
|
|
287
|
+
};
|
|
202
288
|
}
|
|
203
289
|
/**
|
|
204
290
|
* @description 通过多次滚动和拼接生成整页长截图。
|
|
@@ -206,32 +292,75 @@ async function restoreScrollPosition(miniProgram, page, scrollTop) {
|
|
|
206
292
|
async function captureFullPageScreenshotBuffer(options) {
|
|
207
293
|
const { miniProgram, timeoutMs, runWithTimeout, screenshotTimeoutMessage } = options;
|
|
208
294
|
const page = await miniProgram.currentPage();
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
295
|
+
const runtimeMetrics = await readRuntimeViewportMetrics(miniProgram);
|
|
296
|
+
const pageSize = runtimeMetrics?.pageHeight && runtimeMetrics.pageWidth ? void 0 : await readPageSize(page);
|
|
297
|
+
const systemInfo = runtimeMetrics?.viewportHeight ? void 0 : await miniProgram.systemInfo().catch((error) => {
|
|
298
|
+
if (isDevtoolsInspecteeReferenceError(error)) return;
|
|
299
|
+
throw error;
|
|
300
|
+
});
|
|
301
|
+
const initialScrollTop = runtimeMetrics?.scrollTop ?? await readScrollTop(miniProgram, page);
|
|
302
|
+
const pageWidth = runtimeMetrics?.pageWidth ?? toPositiveNumber(pageSize?.width);
|
|
303
|
+
const pageHeight = runtimeMetrics?.pageHeight ?? toPositiveNumber(pageSize?.height);
|
|
304
|
+
const viewportHeight = runtimeMetrics?.viewportHeight ?? toPositiveNumber(systemInfo?.windowHeight);
|
|
305
|
+
if (!pageHeight || !viewportHeight) return await captureViewportScreenshotBuffer(miniProgram, timeoutMs, runWithTimeout, screenshotTimeoutMessage);
|
|
215
306
|
const segments = [];
|
|
216
|
-
const
|
|
307
|
+
const capturesByRequestedScrollTop = /* @__PURE__ */ new Map();
|
|
217
308
|
let coveredUntil = 0;
|
|
218
309
|
let scale = 1;
|
|
310
|
+
let fixedBottomRows = 0;
|
|
311
|
+
let contentViewportHeight = viewportHeight;
|
|
312
|
+
let latestPageHeight = pageHeight;
|
|
219
313
|
try {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const
|
|
314
|
+
const firstCapture = await captureScrolledPng(miniProgram, page, 0, timeoutMs, runWithTimeout, screenshotTimeoutMessage);
|
|
315
|
+
const firstPng = firstCapture.png;
|
|
316
|
+
capturesByRequestedScrollTop.set(0, firstCapture);
|
|
317
|
+
scale = resolveScale(pageWidth, viewportHeight, firstPng);
|
|
318
|
+
latestPageHeight = firstCapture.pageHeight ?? latestPageHeight;
|
|
319
|
+
if (pageHeight > viewportHeight) {
|
|
320
|
+
const probeScrollTop = Math.min(viewportHeight, Math.max(pageHeight - viewportHeight, 1));
|
|
321
|
+
const probeCapture = await captureScrolledPng(miniProgram, page, probeScrollTop, timeoutMs, runWithTimeout, screenshotTimeoutMessage);
|
|
322
|
+
const probePng = probeCapture.png;
|
|
323
|
+
capturesByRequestedScrollTop.set(probeScrollTop, probeCapture);
|
|
324
|
+
latestPageHeight = probeCapture.pageHeight ?? latestPageHeight;
|
|
325
|
+
fixedBottomRows = detectFixedBottomRows(firstPng, probePng, scale);
|
|
326
|
+
if (fixedBottomRows > 0) {
|
|
327
|
+
const screenshotCssHeight = firstPng.height / scale;
|
|
328
|
+
const fixedBottomCss = fixedBottomRows / scale;
|
|
329
|
+
const fixedRowsOutsideViewportCss = Math.max(screenshotCssHeight - viewportHeight, 0);
|
|
330
|
+
const fixedRowsInsideViewportCss = Math.max(fixedBottomCss - fixedRowsOutsideViewportCss, 0);
|
|
331
|
+
contentViewportHeight = Math.max(1, viewportHeight - fixedRowsInsideViewportCss);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
let requestedScrollTop = 0;
|
|
335
|
+
for (let captureIndex = 0; captureIndex < MAX_FULL_PAGE_CAPTURES; captureIndex += 1) {
|
|
336
|
+
const capture = capturesByRequestedScrollTop.get(requestedScrollTop) ?? await captureScrolledPng(miniProgram, page, requestedScrollTop, timeoutMs, runWithTimeout, screenshotTimeoutMessage);
|
|
337
|
+
capturesByRequestedScrollTop.set(requestedScrollTop, capture);
|
|
338
|
+
const { png, scrollTop } = capture;
|
|
339
|
+
latestPageHeight = capture.pageHeight ?? latestPageHeight;
|
|
340
|
+
const visibleEnd = Math.min(scrollTop + contentViewportHeight, latestPageHeight);
|
|
227
341
|
const cropTopCss = Math.max(coveredUntil - scrollTop, 0);
|
|
228
342
|
const segmentHeightCss = Math.max(visibleEnd - scrollTop - cropTopCss, 0);
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
343
|
+
const isAtBottom = visibleEnd >= latestPageHeight - 1;
|
|
344
|
+
if (segmentHeightCss > 0) {
|
|
345
|
+
const contentRows = Math.max(png.height - fixedBottomRows, 1);
|
|
346
|
+
const cropTopRows = Math.min(Math.max(Math.round(cropTopCss * scale), 0), contentRows);
|
|
347
|
+
const segmentRows = Math.min(Math.max(Math.round(segmentHeightCss * scale), 1), contentRows - cropTopRows);
|
|
348
|
+
if (segmentRows > 0) segments.push(cropPngRows(png, cropTopRows, segmentRows));
|
|
349
|
+
}
|
|
350
|
+
coveredUntil = Math.max(coveredUntil, visibleEnd);
|
|
351
|
+
if (isAtBottom) {
|
|
352
|
+
if (fixedBottomRows > 0) segments.push(cropPngRows(png, png.height - fixedBottomRows, fixedBottomRows));
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
if (visibleEnd <= scrollTop || coveredUntil <= requestedScrollTop) {
|
|
356
|
+
if (fixedBottomRows > 0) segments.push(cropPngRows(png, png.height - fixedBottomRows, fixedBottomRows));
|
|
357
|
+
break;
|
|
358
|
+
}
|
|
359
|
+
requestedScrollTop = coveredUntil;
|
|
234
360
|
}
|
|
361
|
+
} catch (error) {
|
|
362
|
+
if (!isDevtoolsInspecteeReferenceError(error)) throw error;
|
|
363
|
+
return await captureViewportScreenshotBuffer(miniProgram, timeoutMs, runWithTimeout, screenshotTimeoutMessage);
|
|
235
364
|
} finally {
|
|
236
365
|
await restoreScrollPosition(miniProgram, page, initialScrollTop);
|
|
237
366
|
}
|
|
@@ -1147,7 +1276,7 @@ async function takeScreenshot(options) {
|
|
|
1147
1276
|
const isProtocolTimeout = error instanceof Error && error.message === "DEVTOOLS_PROTOCOL_TIMEOUT";
|
|
1148
1277
|
const isNavigationTimeout = isScreenshotNavigationTimeoutError(error);
|
|
1149
1278
|
const isScreenshotTimeout = isScreenshotRequestTimeoutError(error);
|
|
1150
|
-
if (!Boolean(!nextOptions.miniProgram && (isProtocolTimeout || isNavigationTimeout || isScreenshotTimeout) && !hasRetriedWithFreshSession)) throw error;
|
|
1279
|
+
if (!Boolean(nextOptions.retryWithFreshSession !== false && !nextOptions.miniProgram && (isProtocolTimeout || isNavigationTimeout || isScreenshotTimeout) && !hasRetriedWithFreshSession)) throw error;
|
|
1151
1280
|
hasRetriedWithFreshSession = true;
|
|
1152
1281
|
await closeWechatIdeProject().catch((closeError) => {
|
|
1153
1282
|
logger_default.warn(i18nText(`关闭当前微信开发者工具项目窗口失败:${closeError instanceof Error ? closeError.message : String(closeError)},仍将继续尝试重建自动化会话。`, `Failed to close the current Wechat DevTools project window: ${closeError instanceof Error ? closeError.message : String(closeError)}. Continuing to rebuild the automation session.`));
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { $ as overwriteCustomConfig, A as isAutomatorProtocolTimeoutError, B as getConfig, D as formatAutomatorLoginError, E as connectOpenedAutomator, F as launchAutomator, G as isOperatingSystemSupported, H as resolveDevtoolsAutomationDefaults, I as resolveProjectAutomatorPort, K as operatingSystemName, L as bootstrapWechatDevtoolsSettings, M as isDevtoolsExtensionContextInvalidatedError, N as isDevtoolsHttpPortError, O as getAutomatorProtocolTimeoutMethod, P as isRetryableAutomatorLaunchError, Q as createLocaleConfig, R as detectWechatDevtoolsServicePort, S as waitForExclusiveKeypress, U as SupportedPlatformsMap, V as getConfiguredLocale, W as getDefaultCliPath, X as createAutoTrustProjectConfig, Y as createAutoBootstrapDevtoolsConfig, Z as createCustomConfig, _ as promptRetryKeypress, a as releaseSharedMiniProgram, b as createSharedInputSession, c as RETRY_CANCEL_KEYS, d as createWechatIdeLoginRequiredExitError, et as readCustomConfig, f as extractExecutionErrorText, g as isWechatIdeLoginRequiredExitError, h as isWechatIdeLoginRequiredError, i as getSharedMiniProgramSessionCount, it as resolvePath, j as isAutomatorWsConnectError, k as isAutomatorLoginError, l as RETRY_CONFIRM_KEYS, m as formatWechatIdeLoginRequiredError, n as closeSharedMiniProgram, nt as defaultCustomConfigDirPath, o as withMiniProgram, p as formatRetryHotkeyPrompt, r as connectMiniProgram, rt as defaultCustomConfigFilePath, s as runRetryableCommand, t as acquireSharedMiniProgram, tt as removeCustomConfigKey, u as RETRY_PROMPT_INITIAL_IGNORE_MS, v as promptWechatIdeLoginRetry, x as runWithSuspendedSharedInput, y as waitForRetryKeypress, z as resolveCliPath } from "./automator-session-C8JdS2rx.js";
|
|
2
|
-
import { $ as getRuntimeWechatDevtoolsServicePort, A as isWechatIdeLoggedIn, C as clearWechatIdeCache, D as getWechatIdeTestAccounts, E as compileWechatIdeByAutomator, F as quitWechatIde, G as transformArgv, H as execute, I as refreshWechatIdeTicket, J as openWechatIdeProjectByHttp, K as promptForCliPath, L as resetWechatIdeFileUtils, M as openWechatIde, N as openWechatIdeOtherProject, O as getWechatIdeTicket, P as previewWechatIde, Q as startWechatIdeEngineBuildByHttp, R as setWechatIdeTicket, S as buildWechatIdeNpm, T as closeWechatIdeProject, U as createAlias, V as runWechatCliWithRetry, W as createPathCompat, X as requestWechatDevtoolsHttp, Y as pollWechatIdeEngineBuildResultByHttp, Z as resetWechatIdeFileUtilsByHttp, _ as autoPreviewWechatIde, a as navigateBack, b as buildWechatIdeApk, c as pageStack, d as remote, et as setRuntimeWechatDevtoolsServicePort, f as scrollTo, g as tap, h as takeScreenshot, i as input, it as removeOption, j as loginWechatIde, k as getWechatIdeToolInfo, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as readBooleanOption, o as navigateTo, p as switchTab, q as WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, r as currentPage, rt as readOptionValue, s as pageData, t as audit, tt as parseAutomatorArgs, u as redirectTo, v as autoReplayWechatIde, w as clearWechatIdeCacheByAutomator, x as buildWechatIdeIpa, y as autoWechatIde, z as uploadWechatIde } from "./commands-
|
|
3
|
-
import { C as parseCompareArgs, S as printScreenshotHelp, _ as AUTOMATOR_COMMAND_NAMES, a as runMinidev, b as runAutomatorCommand, c as runWechatIdeEngineBuild, d as CONFIG_COMMAND_NAME, f as MCP_COMMAND_NAME, g as isWeappIdeTopLevelCommand, h as WECHAT_CLI_COMMAND_NAMES, i as validateWechatCliCommandArgs, l as runWechatIdeEngineBuildByHttp, m as WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, n as parse, o as startForwardConsole, p as MINIDEV_NAMESPACE_COMMAND_NAMES, r as dispatchWechatCliCommand, s as isWechatIdeEngineBuildEndpointMissingError, t as createCli, u as handleConfigCommand, v as getAutomatorCommandHelp, w as printCompareHelp, x as parseScreenshotArgs, y as isAutomatorCommand } from "./cli-
|
|
2
|
+
import { $ as getRuntimeWechatDevtoolsServicePort, A as isWechatIdeLoggedIn, C as clearWechatIdeCache, D as getWechatIdeTestAccounts, E as compileWechatIdeByAutomator, F as quitWechatIde, G as transformArgv, H as execute, I as refreshWechatIdeTicket, J as openWechatIdeProjectByHttp, K as promptForCliPath, L as resetWechatIdeFileUtils, M as openWechatIde, N as openWechatIdeOtherProject, O as getWechatIdeTicket, P as previewWechatIde, Q as startWechatIdeEngineBuildByHttp, R as setWechatIdeTicket, S as buildWechatIdeNpm, T as closeWechatIdeProject, U as createAlias, V as runWechatCliWithRetry, W as createPathCompat, X as requestWechatDevtoolsHttp, Y as pollWechatIdeEngineBuildResultByHttp, Z as resetWechatIdeFileUtilsByHttp, _ as autoPreviewWechatIde, a as navigateBack, b as buildWechatIdeApk, c as pageStack, d as remote, et as setRuntimeWechatDevtoolsServicePort, f as scrollTo, g as tap, h as takeScreenshot, i as input, it as removeOption, j as loginWechatIde, k as getWechatIdeToolInfo, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as readBooleanOption, o as navigateTo, p as switchTab, q as WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, r as currentPage, rt as readOptionValue, s as pageData, t as audit, tt as parseAutomatorArgs, u as redirectTo, v as autoReplayWechatIde, w as clearWechatIdeCacheByAutomator, x as buildWechatIdeIpa, y as autoWechatIde, z as uploadWechatIde } from "./commands-BhdiLWJW.js";
|
|
3
|
+
import { C as parseCompareArgs, S as printScreenshotHelp, _ as AUTOMATOR_COMMAND_NAMES, a as runMinidev, b as runAutomatorCommand, c as runWechatIdeEngineBuild, d as CONFIG_COMMAND_NAME, f as MCP_COMMAND_NAME, g as isWeappIdeTopLevelCommand, h as WECHAT_CLI_COMMAND_NAMES, i as validateWechatCliCommandArgs, l as runWechatIdeEngineBuildByHttp, m as WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, n as parse, o as startForwardConsole, p as MINIDEV_NAMESPACE_COMMAND_NAMES, r as dispatchWechatCliCommand, s as isWechatIdeEngineBuildEndpointMissingError, t as createCli, u as handleConfigCommand, v as getAutomatorCommandHelp, w as printCompareHelp, x as parseScreenshotArgs, y as isAutomatorCommand } from "./cli-VDfmaSeY.js";
|
|
4
4
|
import { a as readElementSnapshot, i as registerWeappIdeMcpTools, n as startWeappIdeMcpServer, o as resolveProjectPath, r as createWeappIdeMcpServer, s as toSerializableValue, t as runMcpCommand } from "./run-mcp-X00XjC8Z.js";
|
|
5
5
|
export { AUTOMATOR_COMMAND_NAMES, CONFIG_COMMAND_NAME, MCP_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, createWeappIdeMcpServer, createWechatIdeLoginRequiredExitError, currentPage, defaultCustomConfigDirPath, defaultCustomConfigFilePath, detectWechatDevtoolsServicePort, dispatchWechatCliCommand, execute, extractExecutionErrorText, formatAutomatorLoginError, formatRetryHotkeyPrompt, formatWechatIdeLoginRequiredError, getAutomatorCommandHelp, getAutomatorProtocolTimeoutMethod, getConfig, getConfiguredLocale, getDefaultCliPath, getRuntimeWechatDevtoolsServicePort, getSharedMiniProgramSessionCount, getWechatIdeTestAccounts, getWechatIdeTicket, getWechatIdeToolInfo, handleConfigCommand, input, isAutomatorCommand, isAutomatorLoginError, isAutomatorProtocolTimeoutError, isAutomatorWsConnectError, isDevtoolsExtensionContextInvalidatedError, isDevtoolsHttpPortError, isOperatingSystemSupported, isRetryableAutomatorLaunchError, isWeappIdeTopLevelCommand, isWechatIdeEngineBuildEndpointMissingError, isWechatIdeLoggedIn, isWechatIdeLoginRequiredError, isWechatIdeLoginRequiredExitError, 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, readElementSnapshot, readOptionValue, redirectTo, refreshWechatIdeTicket, registerWeappIdeMcpTools, releaseSharedMiniProgram, remote, removeCustomConfigKey, removeOption, requestWechatDevtoolsHttp, resetWechatIdeFileUtils, resetWechatIdeFileUtilsByHttp, resolveCliPath, resolveDevtoolsAutomationDefaults, resolvePath, resolveProjectAutomatorPort, resolveProjectPath, runAutomatorCommand, runMcpCommand, runMinidev, runRetryableCommand, runWechatCliWithRetry, runWechatIdeEngineBuild, runWechatIdeEngineBuildByHttp, runWithSuspendedSharedInput, scrollTo, setRuntimeWechatDevtoolsServicePort, setWechatIdeTicket, startForwardConsole, startWeappIdeMcpServer, startWechatIdeEngineBuildByHttp, switchTab, systemInfo, takeScreenshot, tap, toSerializableValue, transformArgv, uploadWechatIde, validateWechatCliCommandArgs, waitForExclusiveKeypress, waitForRetryKeypress, withMiniProgram };
|
package/package.json
CHANGED