frontend-guardian-core 3.11.0 → 3.11.1

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.
Files changed (44) hide show
  1. package/bin/fg-core.js +19 -6
  2. package/bin/fg-lsp.js +1 -1
  3. package/bin/fg-server.js +1 -1
  4. package/dist/integrations/index.d.ts +2 -2
  5. package/dist/integrations/index.d.ts.map +1 -1
  6. package/dist/integrations/index.js +6 -6
  7. package/dist/integrations/index.js.map +1 -1
  8. package/dist/integrations/miniprogram.d.ts +103 -0
  9. package/dist/integrations/miniprogram.d.ts.map +1 -0
  10. package/dist/integrations/miniprogram.js +580 -0
  11. package/dist/integrations/miniprogram.js.map +1 -0
  12. package/dist/mcp/mcp-server.js +1 -1
  13. package/dist/mcp/tools.d.ts.map +1 -1
  14. package/dist/mcp/tools.js +5 -5
  15. package/dist/mcp/tools.js.map +1 -1
  16. package/dist/mcp/types.d.ts +1 -1
  17. package/dist/mcp/types.d.ts.map +1 -1
  18. package/dist/utils/miniprogram-alipay-cli.d.ts +19 -0
  19. package/dist/utils/miniprogram-alipay-cli.d.ts.map +1 -0
  20. package/dist/utils/miniprogram-alipay-cli.js +38 -0
  21. package/dist/utils/miniprogram-alipay-cli.js.map +1 -0
  22. package/dist/utils/miniprogram-cli-configs.d.ts +22 -0
  23. package/dist/utils/miniprogram-cli-configs.d.ts.map +1 -0
  24. package/dist/utils/miniprogram-cli-configs.js +75 -0
  25. package/dist/utils/miniprogram-cli-configs.js.map +1 -0
  26. package/dist/utils/miniprogram-cli.d.ts +60 -0
  27. package/dist/utils/miniprogram-cli.d.ts.map +1 -0
  28. package/dist/utils/miniprogram-cli.js +115 -0
  29. package/dist/utils/miniprogram-cli.js.map +1 -0
  30. package/dist/utils/miniprogram-detect.d.ts +2 -0
  31. package/dist/utils/miniprogram-detect.d.ts.map +1 -1
  32. package/dist/utils/miniprogram-detect.js +12 -0
  33. package/dist/utils/miniprogram-detect.js.map +1 -1
  34. package/dist/utils/miniprogram-douyin-cli.d.ts +19 -0
  35. package/dist/utils/miniprogram-douyin-cli.d.ts.map +1 -0
  36. package/dist/utils/miniprogram-douyin-cli.js +38 -0
  37. package/dist/utils/miniprogram-douyin-cli.js.map +1 -0
  38. package/dist/utils/miniprogram-wechat-cli.d.ts +9 -22
  39. package/dist/utils/miniprogram-wechat-cli.d.ts.map +1 -1
  40. package/dist/utils/miniprogram-wechat-cli.js +14 -91
  41. package/dist/utils/miniprogram-wechat-cli.js.map +1 -1
  42. package/dist/utils/project-detector.js +13 -0
  43. package/dist/utils/project-detector.js.map +1 -1
  44. package/package.json +1 -1
package/bin/fg-core.js CHANGED
@@ -111,7 +111,7 @@ const MODULE_RULES = {
111
111
 
112
112
  function showHelp() {
113
113
  console.log(`
114
- Frontend Guardian Core v3.11.0
114
+ Frontend Guardian Core v3.11.1
115
115
 
116
116
  Usage:
117
117
  fg-core <project-dir> [options]
@@ -192,7 +192,7 @@ Options:
192
192
  --device <name> 页面健康检查模拟设备(如 "iPhone 14 Pro",配合 --page-health)
193
193
  --viewport <WxH> 页面健康检查自定义视口(如 390x844,配合 --page-health)
194
194
  --viewport-mobile 页面健康检查使用移动端预设视口(配合 --page-health)
195
- --mini-program [p] 小程序自动化测试: wechat | alipay | douyin | auto (默认 auto)
195
+ --mini-program [p] 小程序自动化测试: wechat | alipay | douyin | auto | all | wechat,alipay,... (默认 auto)
196
196
  --miniprogram-screenshot 小程序测试时截取首页截图(配合 --mini-program)
197
197
  --miniprogram-update-baseline 更新小程序截图基线(配合 --mini-program)
198
198
  --build-index 建立项目索引(预索引文件结构、符号、路由)
@@ -214,6 +214,7 @@ Examples:
214
214
  fg-core ./my-project --init-ci
215
215
  fg-core ./wechat-mini-program --mini-program auto
216
216
  fg-core ./wechat-mini-program --mini-program wechat --miniprogram-screenshot
217
+ fg-core ./multi-platform-mini-program --mini-program all --miniprogram-screenshot
217
218
  `);
218
219
  }
219
220
 
@@ -304,6 +305,7 @@ async function main() {
304
305
  viewportMobile: false,
305
306
  // v3.11.0
306
307
  miniProgram: undefined,
308
+ miniProgramPlatforms: undefined,
307
309
  miniProgramScreenshot: false,
308
310
  miniProgramUpdateBaseline: false,
309
311
  buildIndex: false,
@@ -763,20 +765,31 @@ async function main() {
763
765
  }
764
766
  }
765
767
 
766
- // v3.11.0: 小程序自动化测试
768
+ // v3.11.1: 小程序自动化测试(微信/支付宝/抖音,支持多平台)
767
769
  if (options.miniProgram) {
768
770
  console.log(pc.cyan("🛰️ 正在执行小程序自动化测试..."));
769
771
  console.log(pc.gray(` 平台: ${options.miniProgram}`));
770
772
  console.log("");
771
773
 
772
774
  try {
773
- const result = await runMiniProgramTest({
775
+ const miniProgramInput = options.miniProgram;
776
+ const testOptions = {
774
777
  projectDir: options.projectDir,
775
- platform: options.miniProgram,
776
778
  screenshot: options.miniProgramScreenshot,
777
779
  updateBaseline: options.miniProgramUpdateBaseline,
778
780
  concurrency: options.pageHealthConcurrency,
779
- });
781
+ };
782
+ if (miniProgramInput.includes(",")) {
783
+ const platforms = miniProgramInput
784
+ .split(",")
785
+ .map((s) => s.trim())
786
+ .filter(Boolean);
787
+ Object.assign(testOptions, { platforms });
788
+ } else {
789
+ Object.assign(testOptions, { platform: miniProgramInput });
790
+ }
791
+
792
+ const result = await runMiniProgramTest(testOptions);
780
793
 
781
794
  if (options.json) {
782
795
  console.log(JSON.stringify(formatMiniProgramJson(result), null, 2));
package/bin/fg-lsp.js CHANGED
@@ -27,7 +27,7 @@ for (let i = 0; i < args.length; i++) {
27
27
  } else if (arg === "--severity" || arg === "-s") {
28
28
  minSeverity = args[++i] ?? "suggestion";
29
29
  } else if (arg === "--help" || arg === "-h") {
30
- console.log(`Frontend Guardian LSP Server v3.11.0
30
+ console.log(`Frontend Guardian LSP Server v3.11.1
31
31
 
32
32
  Usage: fg-lsp [options]
33
33
 
package/bin/fg-server.js CHANGED
@@ -10,7 +10,7 @@ import { DashboardServer } from "../dist/index.js";
10
10
 
11
11
  function showHelp() {
12
12
  console.log(`
13
- Frontend Guardian Dashboard Server v3.11.0
13
+ Frontend Guardian Dashboard Server v3.11.1
14
14
 
15
15
  Usage:
16
16
  fg-server [options]
@@ -20,8 +20,8 @@ export type { BrowserName, CheckedRoute, PageHealthOptions, PageHealthResult, }
20
20
  export { formatPageHealthJson, formatPageHealthReport, isPlaywrightAvailable, runPageHealthCheck, toScanResult, uploadPageHealthResult, } from "./page-health.js";
21
21
  export { _playwrightIntegration as playwrightIntegration };
22
22
  export declare const allExternalTools: import("./base.js").ExternalTool[];
23
- export type { CheckedMiniProgramPage, MiniProgramOptions, MiniProgramResult, } from "./miniprogram-wechat.js";
24
- export { formatMiniProgramJson, formatMiniProgramReport, runMiniProgramTest, toScanResult as toMiniProgramScanResult, uploadMiniProgramResult, } from "./miniprogram-wechat.js";
23
+ export type { CheckedMiniProgramPage, MiniProgramOptions, MiniProgramResult, } from "./miniprogram.js";
24
+ export { formatMiniProgramJson, formatMiniProgramReport, runMiniProgramTest, toScanResult as toMiniProgramScanResult, uploadMiniProgramResult, } from "./miniprogram.js";
25
25
  export type { FormatResult, FormatterTool } from "./formatter.js";
26
26
  export { detectFormatter, runFormat } from "./formatter.js";
27
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5F,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EACH,kBAAkB,IAAI,iBAAiB,EACvC,qBAAqB,IAAI,oBAAoB,EAC7C,sBAAsB,IAAI,qBAAqB,GAClD,CAAC;AAGF,OAAO,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAElF,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EACH,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACH,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACjH,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAErG,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,GAChB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACR,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,IAAI,qBAAqB,EAAE,CAAC;AAC3D,eAAO,MAAM,gBAAgB,oCAK5B,CAAC;AAGF,YAAY,EACR,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,YAAY,IAAI,uBAAuB,EACvC,uBAAuB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5F,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EACH,kBAAkB,IAAI,iBAAiB,EACvC,qBAAqB,IAAI,oBAAoB,EAC7C,sBAAsB,IAAI,qBAAqB,GAClD,CAAC;AAGF,OAAO,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAElF,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EACH,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACH,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACjH,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAErG,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,GAChB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACR,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,IAAI,qBAAqB,EAAE,CAAC;AAC3D,eAAO,MAAM,gBAAgB,oCAK5B,CAAC;AAGF,YAAY,EACR,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,YAAY,IAAI,uBAAuB,EACvC,uBAAuB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -59,12 +59,12 @@ exports.allExternalTools = [
59
59
  stylelint_js_1.stylelintIntegration,
60
60
  playwright_js_1.playwrightIntegration,
61
61
  ];
62
- var miniprogram_wechat_js_1 = require("./miniprogram-wechat.js");
63
- Object.defineProperty(exports, "formatMiniProgramJson", { enumerable: true, get: function () { return miniprogram_wechat_js_1.formatMiniProgramJson; } });
64
- Object.defineProperty(exports, "formatMiniProgramReport", { enumerable: true, get: function () { return miniprogram_wechat_js_1.formatMiniProgramReport; } });
65
- Object.defineProperty(exports, "runMiniProgramTest", { enumerable: true, get: function () { return miniprogram_wechat_js_1.runMiniProgramTest; } });
66
- Object.defineProperty(exports, "toMiniProgramScanResult", { enumerable: true, get: function () { return miniprogram_wechat_js_1.toScanResult; } });
67
- Object.defineProperty(exports, "uploadMiniProgramResult", { enumerable: true, get: function () { return miniprogram_wechat_js_1.uploadMiniProgramResult; } });
62
+ var miniprogram_js_1 = require("./miniprogram.js");
63
+ Object.defineProperty(exports, "formatMiniProgramJson", { enumerable: true, get: function () { return miniprogram_js_1.formatMiniProgramJson; } });
64
+ Object.defineProperty(exports, "formatMiniProgramReport", { enumerable: true, get: function () { return miniprogram_js_1.formatMiniProgramReport; } });
65
+ Object.defineProperty(exports, "runMiniProgramTest", { enumerable: true, get: function () { return miniprogram_js_1.runMiniProgramTest; } });
66
+ Object.defineProperty(exports, "toMiniProgramScanResult", { enumerable: true, get: function () { return miniprogram_js_1.toScanResult; } });
67
+ Object.defineProperty(exports, "uploadMiniProgramResult", { enumerable: true, get: function () { return miniprogram_js_1.uploadMiniProgramResult; } });
68
68
  // Phase 5+6: 格式化器集成
69
69
  var formatter_js_1 = require("./formatter.js");
70
70
  Object.defineProperty(exports, "detectFormatter", { enumerable: true, get: function () { return formatter_js_1.detectFormatter; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,qCAA4F;AAAnF,6GAAA,kBAAkB,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,qGAAA,UAAU,OAAA;AAExE,2CAAsE;AAK5C,kGALI,6BAAkB,OAKL;AAJ3C,iDAA+E;AAKlD,qGALI,mCAAqB,OAKL;AAJjD,mDAAkF;AAKpD,sGALI,qCAAsB,OAKL;AAGnD,8BAA8B;AAC9B,mDAAkF;AA6C/C,sGA7CD,qCAAsB,OA6CA;AA1CxD,wEAMwC;AALpC,2HAAA,kBAAkB,OAAA;AAClB,6HAAA,oBAAoB,OAAA;AACpB,4HAAA,mBAAmB,OAAA;AACnB,8HAAA,qBAAqB,OAAA;AACrB,4HAAA,mBAAmB,OAAA;AAEvB,6BAA6B;AAC7B,0EAKyC;AAJrC,yHAAA,eAAe,OAAA;AACf,uHAAA,aAAa,OAAA;AACb,6HAAA,mBAAmB,OAAA;AACnB,6HAAA,mBAAmB,OAAA;AAGvB,4DAAiH;AAAxG,wHAAA,qBAAqB,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,+GAAA,YAAY,OAAA;AAAE,+GAAA,YAAY,OAAA;AAE9E,oBAAoB;AACpB,sEAQuC;AAPnC,+HAAA,uBAAuB,OAAA;AACvB,uHAAA,eAAe,OAAA;AACf,gIAAA,wBAAwB,OAAA;AACxB,wHAAA,gBAAgB,OAAA;AAChB,6HAAA,qBAAqB,OAAA;AACrB,wHAAA,gBAAgB,OAAA;AAChB,qHAAA,aAAa,OAAA;AAQjB,iBAAiB;AACjB,mDAO0B;AANtB,sHAAA,oBAAoB,OAAA;AACpB,wHAAA,sBAAsB,OAAA;AACtB,uHAAA,qBAAqB,OAAA;AACrB,oHAAA,kBAAkB,OAAA;AAClB,8GAAA,YAAY,OAAA;AACZ,wHAAA,sBAAsB,OAAA;AAGb,QAAA,gBAAgB,GAAG;IAC5B,6BAAkB;IAClB,qCAAsB;IACtB,mCAAqB;IACrB,qCAAsB;CACzB,CAAC;AAQF,iEAMiC;AAL7B,8HAAA,qBAAqB,OAAA;AACrB,gIAAA,uBAAuB,OAAA;AACvB,2HAAA,kBAAkB,OAAA;AAClB,gIAAA,YAAY,OAA2B;AACvC,gIAAA,uBAAuB,OAAA;AAG3B,oBAAoB;AACpB,+CAA4D;AAAnD,+GAAA,eAAe,OAAA;AAAE,yGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,qCAA4F;AAAnF,6GAAA,kBAAkB,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,qGAAA,UAAU,OAAA;AAExE,2CAAsE;AAK5C,kGALI,6BAAkB,OAKL;AAJ3C,iDAA+E;AAKlD,qGALI,mCAAqB,OAKL;AAJjD,mDAAkF;AAKpD,sGALI,qCAAsB,OAKL;AAGnD,8BAA8B;AAC9B,mDAAkF;AA6C/C,sGA7CD,qCAAsB,OA6CA;AA1CxD,wEAMwC;AALpC,2HAAA,kBAAkB,OAAA;AAClB,6HAAA,oBAAoB,OAAA;AACpB,4HAAA,mBAAmB,OAAA;AACnB,8HAAA,qBAAqB,OAAA;AACrB,4HAAA,mBAAmB,OAAA;AAEvB,6BAA6B;AAC7B,0EAKyC;AAJrC,yHAAA,eAAe,OAAA;AACf,uHAAA,aAAa,OAAA;AACb,6HAAA,mBAAmB,OAAA;AACnB,6HAAA,mBAAmB,OAAA;AAGvB,4DAAiH;AAAxG,wHAAA,qBAAqB,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,+GAAA,YAAY,OAAA;AAAE,+GAAA,YAAY,OAAA;AAE9E,oBAAoB;AACpB,sEAQuC;AAPnC,+HAAA,uBAAuB,OAAA;AACvB,uHAAA,eAAe,OAAA;AACf,gIAAA,wBAAwB,OAAA;AACxB,wHAAA,gBAAgB,OAAA;AAChB,6HAAA,qBAAqB,OAAA;AACrB,wHAAA,gBAAgB,OAAA;AAChB,qHAAA,aAAa,OAAA;AAQjB,iBAAiB;AACjB,mDAO0B;AANtB,sHAAA,oBAAoB,OAAA;AACpB,wHAAA,sBAAsB,OAAA;AACtB,uHAAA,qBAAqB,OAAA;AACrB,oHAAA,kBAAkB,OAAA;AAClB,8GAAA,YAAY,OAAA;AACZ,wHAAA,sBAAsB,OAAA;AAGb,QAAA,gBAAgB,GAAG;IAC5B,6BAAkB;IAClB,qCAAsB;IACtB,mCAAqB;IACrB,qCAAsB;CACzB,CAAC;AAQF,mDAM0B;AALtB,uHAAA,qBAAqB,OAAA;AACrB,yHAAA,uBAAuB,OAAA;AACvB,oHAAA,kBAAkB,OAAA;AAClB,yHAAA,YAAY,OAA2B;AACvC,yHAAA,uBAAuB,OAAA;AAG3B,oBAAoB;AACpB,+CAA4D;AAAnD,+GAAA,eAAe,OAAA;AAAE,yGAAA,SAAS,OAAA"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * v3.11.1: 小程序自动化测试(多平台统一入口)
3
+ *
4
+ * 通过微信/支付宝/抖音开发者工具 CLI 对小程序项目进行编译检查、页面存在性检查、
5
+ * 包体积检查与可选截图基线对比。
6
+ *
7
+ * 设计哲学:开发者工具为可选外部工具,未安装时仍可进行静态检查,
8
+ * 并给出对应平台的下载链接提示。
9
+ */
10
+ import type { Issue, ScanResult } from "../types.js";
11
+ import { type DashboardClientConfig, type DashboardUploadResult } from "../utils/dashboard-client.js";
12
+ import { type MiniProgramPlatform } from "../utils/miniprogram-detect.js";
13
+ export interface MiniProgramOptions {
14
+ /** 项目根目录 */
15
+ projectDir: string;
16
+ /** 小程序平台;auto 时自动检测,all 时检测所有已识别平台 */
17
+ platform?: MiniProgramPlatform | "auto" | "all";
18
+ /** 显式指定多个平台(优先级高于 platform) */
19
+ platforms?: MiniProgramPlatform[];
20
+ /** 是否截图(需要开发者工具支持) */
21
+ screenshot?: boolean;
22
+ /** 是否更新基线截图 */
23
+ updateBaseline?: boolean;
24
+ /** 截图保存目录 */
25
+ screenshotDir?: string;
26
+ /** 基线截图目录 */
27
+ baselineDir?: string;
28
+ /** 主包大小阈值(字节,默认 2MB) */
29
+ maxMainPackageSize?: number;
30
+ /** 分包大小阈值(字节,默认 2MB) */
31
+ maxSubPackageSize?: number;
32
+ /** 显式指定要检查的页面(默认从 app.json/pages.json 读取) */
33
+ pages?: string[];
34
+ /** 编译/截图超时(毫秒) */
35
+ timeout?: number;
36
+ /** 页面检查并发数(默认 3) */
37
+ concurrency?: number;
38
+ /** 上报到的 dashboard server URL */
39
+ server?: string;
40
+ /** dashboard server auth token */
41
+ authToken?: string;
42
+ }
43
+ export interface CheckedMiniProgramPage {
44
+ /** 页面路由 */
45
+ path: string;
46
+ /** 检查结果状态 */
47
+ status: "ok" | "error" | "warning";
48
+ /** 错误/提示信息 */
49
+ messages: string[];
50
+ /** 页面源码文件路径 */
51
+ sourcePath?: string;
52
+ /** 截图是否与基线不同 */
53
+ screenshotChanged?: boolean;
54
+ /** 当前截图路径 */
55
+ screenshotPath?: string;
56
+ /** 基线截图路径 */
57
+ baselinePath?: string;
58
+ /** 所属平台(多平台汇总时填充) */
59
+ platform?: MiniProgramPlatform;
60
+ }
61
+ export interface MiniProgramResult {
62
+ /** 测试的平台;多平台时为 "multi" */
63
+ platform: MiniProgramPlatform | "multi";
64
+ /** 多平台时包含所有平台 */
65
+ platforms?: MiniProgramPlatform[];
66
+ /** 项目目录 */
67
+ projectDir: string;
68
+ /** 发现的 Issue */
69
+ issues: Issue[];
70
+ /** 检查的页面 */
71
+ checkedPages: CheckedMiniProgramPage[];
72
+ /** 截图文件路径 */
73
+ screenshots: string[];
74
+ /** 总耗时(毫秒) */
75
+ duration: number;
76
+ }
77
+ /** 递归计算目录大小(排除常见非源码目录) */
78
+ export declare function getDirectorySize(dir: string): number;
79
+ /** 计算单个子包目录大小 */
80
+ export declare function getSubPackageSize(projectDir: string, root: string): number;
81
+ /** 检查页面源码文件是否存在 */
82
+ export declare function findPageSourceFile(projectDir: string, pagePath: string): string | undefined;
83
+ /**
84
+ * 运行小程序自动化测试
85
+ */
86
+ export declare function runMiniProgramTest(options: MiniProgramOptions): Promise<MiniProgramResult>;
87
+ /**
88
+ * 将结果格式化为终端报告
89
+ */
90
+ export declare function formatMiniProgramReport(result: MiniProgramResult): string;
91
+ /**
92
+ * 将结果格式化为 JSON
93
+ */
94
+ export declare function formatMiniProgramJson(result: MiniProgramResult): object;
95
+ /**
96
+ * 将 MiniProgramResult 转换为 ScanResult
97
+ */
98
+ export declare function toScanResult(result: MiniProgramResult): ScanResult;
99
+ /**
100
+ * 将小程序测试结果上报到治理看板服务器
101
+ */
102
+ export declare function uploadMiniProgramResult(result: MiniProgramResult, config: DashboardClientConfig): Promise<DashboardUploadResult>;
103
+ //# sourceMappingURL=miniprogram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miniprogram.d.ts","sourceRoot":"","sources":["../../src/integrations/miniprogram.ts"],"names":[],"mappings":"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"}