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.
- package/bin/fg-core.js +19 -6
- package/bin/fg-lsp.js +1 -1
- package/bin/fg-server.js +1 -1
- package/dist/integrations/index.d.ts +2 -2
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +6 -6
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/miniprogram.d.ts +103 -0
- package/dist/integrations/miniprogram.d.ts.map +1 -0
- package/dist/integrations/miniprogram.js +580 -0
- package/dist/integrations/miniprogram.js.map +1 -0
- package/dist/mcp/mcp-server.js +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +5 -5
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/utils/miniprogram-alipay-cli.d.ts +19 -0
- package/dist/utils/miniprogram-alipay-cli.d.ts.map +1 -0
- package/dist/utils/miniprogram-alipay-cli.js +38 -0
- package/dist/utils/miniprogram-alipay-cli.js.map +1 -0
- package/dist/utils/miniprogram-cli-configs.d.ts +22 -0
- package/dist/utils/miniprogram-cli-configs.d.ts.map +1 -0
- package/dist/utils/miniprogram-cli-configs.js +75 -0
- package/dist/utils/miniprogram-cli-configs.js.map +1 -0
- package/dist/utils/miniprogram-cli.d.ts +60 -0
- package/dist/utils/miniprogram-cli.d.ts.map +1 -0
- package/dist/utils/miniprogram-cli.js +115 -0
- package/dist/utils/miniprogram-cli.js.map +1 -0
- package/dist/utils/miniprogram-detect.d.ts +2 -0
- package/dist/utils/miniprogram-detect.d.ts.map +1 -1
- package/dist/utils/miniprogram-detect.js +12 -0
- package/dist/utils/miniprogram-detect.js.map +1 -1
- package/dist/utils/miniprogram-douyin-cli.d.ts +19 -0
- package/dist/utils/miniprogram-douyin-cli.d.ts.map +1 -0
- package/dist/utils/miniprogram-douyin-cli.js +38 -0
- package/dist/utils/miniprogram-douyin-cli.js.map +1 -0
- package/dist/utils/miniprogram-wechat-cli.d.ts +9 -22
- package/dist/utils/miniprogram-wechat-cli.d.ts.map +1 -1
- package/dist/utils/miniprogram-wechat-cli.js +14 -91
- package/dist/utils/miniprogram-wechat-cli.js.map +1 -1
- package/dist/utils/project-detector.js +13 -0
- package/dist/utils/project-detector.js.map +1 -1
- 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.
|
|
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.
|
|
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
|
|
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.
|
|
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
|
@@ -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
|
|
24
|
-
export { formatMiniProgramJson, formatMiniProgramReport, runMiniProgramTest, toScanResult as toMiniProgramScanResult, uploadMiniProgramResult, } from "./miniprogram
|
|
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,
|
|
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
|
|
63
|
-
Object.defineProperty(exports, "formatMiniProgramJson", { enumerable: true, get: function () { return
|
|
64
|
-
Object.defineProperty(exports, "formatMiniProgramReport", { enumerable: true, get: function () { return
|
|
65
|
-
Object.defineProperty(exports, "runMiniProgramTest", { enumerable: true, get: function () { return
|
|
66
|
-
Object.defineProperty(exports, "toMiniProgramScanResult", { enumerable: true, get: function () { return
|
|
67
|
-
Object.defineProperty(exports, "uploadMiniProgramResult", { enumerable: true, get: function () { return
|
|
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,
|
|
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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"}
|