@lambdatest/smartui-cli 4.1.48 → 4.1.50
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/index.cjs +108 -148
- package/package.json +7 -7
package/dist/index.cjs
CHANGED
|
@@ -82,8 +82,7 @@ var __spreadValues = (a, b) => {
|
|
|
82
82
|
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
83
83
|
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
84
84
|
}) : x)(function(x) {
|
|
85
|
-
if (typeof require !== "undefined")
|
|
86
|
-
return require.apply(this, arguments);
|
|
85
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
87
86
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
88
87
|
});
|
|
89
88
|
var __commonJS = (cb, mod) => function __require2() {
|
|
@@ -165,10 +164,8 @@ var require_find_free_port = __commonJS({
|
|
|
165
164
|
} else {
|
|
166
165
|
return new Promise((resolve, reject) => {
|
|
167
166
|
findFreePort(beg, ...rest, (err, ...ports) => {
|
|
168
|
-
if (err)
|
|
169
|
-
|
|
170
|
-
else
|
|
171
|
-
resolve(ports);
|
|
167
|
+
if (err) reject(err);
|
|
168
|
+
else resolve(ports);
|
|
172
169
|
});
|
|
173
170
|
});
|
|
174
171
|
}
|
|
@@ -1547,6 +1544,10 @@ function launchBrowsers(ctx) {
|
|
|
1547
1544
|
let browsers = {};
|
|
1548
1545
|
const isHeadless = ((_a = process.env.HEADLESS) == null ? void 0 : _a.toLowerCase()) === "false" ? false : true;
|
|
1549
1546
|
let launchOptions = { headless: isHeadless };
|
|
1547
|
+
const proxyServer = ctx.env.SMARTUI_HTTPS_PROXY || ctx.env.SMARTUI_HTTP_PROXY || ctx.env.HTTPS_PROXY || ctx.env.HTTP_PROXY;
|
|
1548
|
+
if (proxyServer) {
|
|
1549
|
+
launchOptions.proxy = { server: proxyServer };
|
|
1550
|
+
}
|
|
1550
1551
|
if (ctx.config.web) {
|
|
1551
1552
|
for (const browser of ctx.config.web.browsers) {
|
|
1552
1553
|
switch (browser) {
|
|
@@ -1568,10 +1569,8 @@ function launchBrowsers(ctx) {
|
|
|
1568
1569
|
}
|
|
1569
1570
|
if (ctx.config.mobile) {
|
|
1570
1571
|
for (const device of ctx.config.mobile.devices) {
|
|
1571
|
-
if (constants_default.SUPPORTED_MOBILE_DEVICES[device].os === "android" && !browsers[constants_default.CHROME])
|
|
1572
|
-
|
|
1573
|
-
else if (constants_default.SUPPORTED_MOBILE_DEVICES[device].os === "ios" && !browsers[constants_default.SAFARI])
|
|
1574
|
-
browsers[constants_default.SAFARI] = yield test.webkit.launch(launchOptions);
|
|
1572
|
+
if (constants_default.SUPPORTED_MOBILE_DEVICES[device].os === "android" && !browsers[constants_default.CHROME]) browsers[constants_default.CHROME] = yield test.chromium.launch(launchOptions);
|
|
1573
|
+
else if (constants_default.SUPPORTED_MOBILE_DEVICES[device].os === "ios" && !browsers[constants_default.SAFARI]) browsers[constants_default.SAFARI] = yield test.webkit.launch(launchOptions);
|
|
1575
1574
|
}
|
|
1576
1575
|
}
|
|
1577
1576
|
return browsers;
|
|
@@ -1580,8 +1579,7 @@ function launchBrowsers(ctx) {
|
|
|
1580
1579
|
function closeBrowsers(browsers) {
|
|
1581
1580
|
return __async(this, null, function* () {
|
|
1582
1581
|
var _a;
|
|
1583
|
-
for (const browserName of Object.keys(browsers))
|
|
1584
|
-
yield (_a = browsers[browserName]) == null ? void 0 : _a.close();
|
|
1582
|
+
for (const browserName of Object.keys(browsers)) yield (_a = browsers[browserName]) == null ? void 0 : _a.close();
|
|
1585
1583
|
});
|
|
1586
1584
|
}
|
|
1587
1585
|
function getWebRenderViewports(ctx) {
|
|
@@ -1694,7 +1692,7 @@ function startPolling(ctx, build_id, baseline, projectToken) {
|
|
|
1694
1692
|
} else if (ctx.build && ctx.build.id) {
|
|
1695
1693
|
ctx.log.info(`Fetching results for buildId ${ctx.build.id} in progress....`);
|
|
1696
1694
|
}
|
|
1697
|
-
const intervalId = setInterval(() => __async(
|
|
1695
|
+
const intervalId = setInterval(() => __async(null, null, function* () {
|
|
1698
1696
|
try {
|
|
1699
1697
|
let resp;
|
|
1700
1698
|
if (build_id) {
|
|
@@ -1773,7 +1771,7 @@ function startPingPolling(ctx) {
|
|
|
1773
1771
|
ctx.log.error(`Error during initial ping: ${error.message}`);
|
|
1774
1772
|
}
|
|
1775
1773
|
let sourceCommand = ctx.sourceCommand ? ctx.sourceCommand : "";
|
|
1776
|
-
pingIntervalId = setInterval(() => __async(
|
|
1774
|
+
pingIntervalId = setInterval(() => __async(null, null, function* () {
|
|
1777
1775
|
try {
|
|
1778
1776
|
ctx.log.debug("Sending ping to server... " + sourceCommand);
|
|
1779
1777
|
yield ctx.client.ping(ctx.build.id, ctx.log);
|
|
@@ -1847,7 +1845,7 @@ function startPollingForTunnel(ctx, build_id, baseline, projectToken, buildName)
|
|
|
1847
1845
|
ctx.log.debug("Tunnel polling is already active. Skipping for build_id: " + build_id);
|
|
1848
1846
|
return;
|
|
1849
1847
|
}
|
|
1850
|
-
const intervalId = setInterval(() => __async(
|
|
1848
|
+
const intervalId = setInterval(() => __async(null, null, function* () {
|
|
1851
1849
|
try {
|
|
1852
1850
|
let resp;
|
|
1853
1851
|
if (build_id) {
|
|
@@ -1939,7 +1937,7 @@ function startPdfPolling(ctx) {
|
|
|
1939
1937
|
let attempts = 0;
|
|
1940
1938
|
const maxAttempts = 60;
|
|
1941
1939
|
console.log(chalk__default.default.yellow("Waiting for results..."));
|
|
1942
|
-
const interval = setInterval(() => __async(
|
|
1940
|
+
const interval = setInterval(() => __async(null, null, function* () {
|
|
1943
1941
|
var _a;
|
|
1944
1942
|
attempts++;
|
|
1945
1943
|
try {
|
|
@@ -2134,8 +2132,7 @@ function listenToSmartUISSE(baseURL, accessToken, ctx, onEvent) {
|
|
|
2134
2132
|
try {
|
|
2135
2133
|
while (true) {
|
|
2136
2134
|
const { done, value } = yield reader.read();
|
|
2137
|
-
if (done)
|
|
2138
|
-
break;
|
|
2135
|
+
if (done) break;
|
|
2139
2136
|
const chunk = decoder.decode(value, { stream: true });
|
|
2140
2137
|
buffer += chunk;
|
|
2141
2138
|
const lines = buffer.split("\n");
|
|
@@ -2377,7 +2374,7 @@ function findAvailablePort(server, startPort, log2) {
|
|
|
2377
2374
|
}
|
|
2378
2375
|
});
|
|
2379
2376
|
}
|
|
2380
|
-
var server_default = (ctx) => __async(
|
|
2377
|
+
var server_default = (ctx) => __async(null, null, function* () {
|
|
2381
2378
|
const server = fastify__default.default({
|
|
2382
2379
|
logger: {
|
|
2383
2380
|
level: "debug",
|
|
@@ -2395,14 +2392,13 @@ var server_default = (ctx) => __async(void 0, null, function* () {
|
|
|
2395
2392
|
server.get("/domserializer", opts, (request, reply) => {
|
|
2396
2393
|
reply.code(200).send({ data: { dom: SMARTUI_DOM } });
|
|
2397
2394
|
});
|
|
2398
|
-
server.post("/snapshot", opts, (request, reply) => __async(
|
|
2395
|
+
server.post("/snapshot", opts, (request, reply) => __async(null, null, function* () {
|
|
2399
2396
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
2400
2397
|
let replyCode;
|
|
2401
2398
|
let replyBody;
|
|
2402
2399
|
try {
|
|
2403
2400
|
let { snapshot, testType } = request.body;
|
|
2404
|
-
if (!validateSnapshot(snapshot))
|
|
2405
|
-
throw new Error(validateSnapshot.errors[0].message);
|
|
2401
|
+
if (!validateSnapshot(snapshot)) throw new Error(validateSnapshot.errors[0].message);
|
|
2406
2402
|
if (((_a = snapshot == null ? void 0 : snapshot.options) == null ? void 0 : _a.approvalThreshold) !== void 0 && ((_b = snapshot == null ? void 0 : snapshot.options) == null ? void 0 : _b.rejectionThreshold) !== void 0) {
|
|
2407
2403
|
if (((_c = snapshot == null ? void 0 : snapshot.options) == null ? void 0 : _c.rejectionThreshold) <= ((_d = snapshot == null ? void 0 : snapshot.options) == null ? void 0 : _d.approvalThreshold)) {
|
|
2408
2404
|
throw new Error(`Invalid snapshot options; rejectionThreshold (${snapshot.options.rejectionThreshold}) must be greater than approvalThreshold (${snapshot.options.approvalThreshold})`);
|
|
@@ -2458,7 +2454,7 @@ var server_default = (ctx) => __async(void 0, null, function* () {
|
|
|
2458
2454
|
}
|
|
2459
2455
|
return reply.code(replyCode).send(replyBody);
|
|
2460
2456
|
}));
|
|
2461
|
-
server.post("/stop", opts, (_, reply) => __async(
|
|
2457
|
+
server.post("/stop", opts, (_, reply) => __async(null, null, function* () {
|
|
2462
2458
|
var _a, _b, _c, _d;
|
|
2463
2459
|
let replyCode;
|
|
2464
2460
|
let replyBody;
|
|
@@ -2540,7 +2536,7 @@ var server_default = (ctx) => __async(void 0, null, function* () {
|
|
|
2540
2536
|
server.get("/ping", opts, (_, reply) => {
|
|
2541
2537
|
reply.code(200).send({ status: "Server is running", version: ctx.cliVersion });
|
|
2542
2538
|
});
|
|
2543
|
-
server.get("/snapshot/status", opts, (request, reply) => __async(
|
|
2539
|
+
server.get("/snapshot/status", opts, (request, reply) => __async(null, null, function* () {
|
|
2544
2540
|
var _a;
|
|
2545
2541
|
let replyCode;
|
|
2546
2542
|
let replyBody;
|
|
@@ -2630,7 +2626,7 @@ var server_default = (ctx) => __async(void 0, null, function* () {
|
|
|
2630
2626
|
return reply.code(replyCode).send(replyBody);
|
|
2631
2627
|
}
|
|
2632
2628
|
}));
|
|
2633
|
-
server.get("/build/info", opts, (request, reply) => __async(
|
|
2629
|
+
server.get("/build/info", opts, (request, reply) => __async(null, null, function* () {
|
|
2634
2630
|
let replyCode;
|
|
2635
2631
|
let replyBody;
|
|
2636
2632
|
try {
|
|
@@ -2774,7 +2770,7 @@ var logger_default = logger;
|
|
|
2774
2770
|
var startServer_default = (ctx) => {
|
|
2775
2771
|
return {
|
|
2776
2772
|
title: `Setting up SmartUI server`,
|
|
2777
|
-
task: (ctx2, task) => __async(
|
|
2773
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
2778
2774
|
var _a;
|
|
2779
2775
|
updateLogContext({ task: "startServer" });
|
|
2780
2776
|
try {
|
|
@@ -2793,7 +2789,7 @@ var startServer_default = (ctx) => {
|
|
|
2793
2789
|
var authExec_default = (ctx) => {
|
|
2794
2790
|
return {
|
|
2795
2791
|
title: `Authenticating with SmartUI`,
|
|
2796
|
-
task: (ctx2, task) => __async(
|
|
2792
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
2797
2793
|
updateLogContext({ task: "auth" });
|
|
2798
2794
|
try {
|
|
2799
2795
|
if (!ctx2.env.PROJECT_NAME && !ctx2.env.PROJECT_TOKEN) {
|
|
@@ -2825,7 +2821,7 @@ var authExec_default = (ctx) => {
|
|
|
2825
2821
|
};
|
|
2826
2822
|
|
|
2827
2823
|
// package.json
|
|
2828
|
-
var version = "4.1.
|
|
2824
|
+
var version = "4.1.50";
|
|
2829
2825
|
var package_default = {
|
|
2830
2826
|
name: "@lambdatest/smartui-cli",
|
|
2831
2827
|
version,
|
|
@@ -2862,18 +2858,17 @@ var package_default = {
|
|
|
2862
2858
|
"@types/which": "^3.0.2",
|
|
2863
2859
|
ajv: "^8.12.0",
|
|
2864
2860
|
"ajv-errors": "^3.0.0",
|
|
2865
|
-
axios: "^1.
|
|
2861
|
+
axios: "^1.12.0",
|
|
2866
2862
|
chalk: "^4.1.2",
|
|
2867
2863
|
commander: "^11.1.0",
|
|
2868
|
-
"cross-spawn": "^7.0.
|
|
2869
|
-
fastify: "^4.
|
|
2870
|
-
"form-data": "^4.0.
|
|
2864
|
+
"cross-spawn": "^7.0.6",
|
|
2865
|
+
fastify: "^4.29.1",
|
|
2866
|
+
"form-data": "^4.0.4",
|
|
2871
2867
|
"json-stringify-safe": "^5.0.1",
|
|
2872
2868
|
listr2: "^7.0.1",
|
|
2873
2869
|
"node-cache": "^5.1.2",
|
|
2874
2870
|
postcss: "^8.5.6",
|
|
2875
2871
|
sharp: "^0.33.4",
|
|
2876
|
-
tsup: "^7.2.0",
|
|
2877
2872
|
uuid: "^11.0.3",
|
|
2878
2873
|
which: "^4.0.0",
|
|
2879
2874
|
winston: "^3.10.0"
|
|
@@ -2883,7 +2878,8 @@ var package_default = {
|
|
|
2883
2878
|
},
|
|
2884
2879
|
devDependencies: {
|
|
2885
2880
|
"find-free-port": "^2.0.0",
|
|
2886
|
-
typescript: "^5.3.2"
|
|
2881
|
+
typescript: "^5.3.2",
|
|
2882
|
+
tsup: "^8.5.1"
|
|
2887
2883
|
}
|
|
2888
2884
|
};
|
|
2889
2885
|
var httpClient = class {
|
|
@@ -3174,8 +3170,7 @@ var httpClient = class {
|
|
|
3174
3170
|
}
|
|
3175
3171
|
finalizeBuild(buildId, totalSnapshots, log2) {
|
|
3176
3172
|
let params = { buildId };
|
|
3177
|
-
if (totalSnapshots > -1)
|
|
3178
|
-
params.totalSnapshots = totalSnapshots;
|
|
3173
|
+
if (totalSnapshots > -1) params.totalSnapshots = totalSnapshots;
|
|
3179
3174
|
return this.request({
|
|
3180
3175
|
url: "/build",
|
|
3181
3176
|
method: "DELETE",
|
|
@@ -3184,8 +3179,7 @@ var httpClient = class {
|
|
|
3184
3179
|
}
|
|
3185
3180
|
finalizeBuildForCapsWithToken(buildId, totalSnapshots, projectToken, log2) {
|
|
3186
3181
|
let params = { buildId };
|
|
3187
|
-
if (totalSnapshots > -1)
|
|
3188
|
-
params.totalSnapshots = totalSnapshots;
|
|
3182
|
+
if (totalSnapshots > -1) params.totalSnapshots = totalSnapshots;
|
|
3189
3183
|
return this.request({
|
|
3190
3184
|
url: "/build",
|
|
3191
3185
|
method: "DELETE",
|
|
@@ -3737,8 +3731,7 @@ var ctx_default = (options) => {
|
|
|
3737
3731
|
}
|
|
3738
3732
|
if (config.web) {
|
|
3739
3733
|
webConfig = { browsers: config.web.browsers, viewports: [] };
|
|
3740
|
-
for (let viewport of (_b = config.web) == null ? void 0 : _b.viewports)
|
|
3741
|
-
webConfig.viewports.push({ width: viewport[0], height: viewport[1] || 0 });
|
|
3734
|
+
for (let viewport of (_b = config.web) == null ? void 0 : _b.viewports) webConfig.viewports.push({ width: viewport[0], height: viewport[1] || 0 });
|
|
3742
3735
|
}
|
|
3743
3736
|
if (config.mobile) {
|
|
3744
3737
|
mobileConfig = {
|
|
@@ -3988,7 +3981,7 @@ var getGitInfo_default = (ctx) => {
|
|
|
3988
3981
|
skip: (ctx2) => {
|
|
3989
3982
|
return !isGitRepo(ctx2) && !ctx2.env.SMARTUI_GIT_INFO_FILEPATH ? "[SKIPPED] Fetching git repo details; not a git repo" : "";
|
|
3990
3983
|
},
|
|
3991
|
-
task: (ctx2, task) => __async(
|
|
3984
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
3992
3985
|
if (ctx2.env.CURRENT_BRANCH && ctx2.env.CURRENT_BRANCH.trim() === "") {
|
|
3993
3986
|
throw new Error("Error: The environment variable CURRENT_BRANCH cannot be empty.");
|
|
3994
3987
|
}
|
|
@@ -4011,7 +4004,7 @@ var getGitInfo_default = (ctx) => {
|
|
|
4011
4004
|
var createBuildExec_default = (ctx) => {
|
|
4012
4005
|
return {
|
|
4013
4006
|
title: `Creating SmartUI build`,
|
|
4014
|
-
task: (ctx2, task) => __async(
|
|
4007
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
4015
4008
|
updateLogContext({ task: "createBuild" });
|
|
4016
4009
|
try {
|
|
4017
4010
|
if (ctx2.authenticatedInitially && !ctx2.config.skipBuildCreation) {
|
|
@@ -4096,7 +4089,7 @@ var exec_default = (ctx) => {
|
|
|
4096
4089
|
var _a;
|
|
4097
4090
|
return {
|
|
4098
4091
|
title: `Executing '${(_a = ctx.args.execCommand) == null ? void 0 : _a.join(" ")}'`,
|
|
4099
|
-
task: (ctx2, task) => __async(
|
|
4092
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
4100
4093
|
if (ctx2.options.fetchResults) {
|
|
4101
4094
|
if (ctx2.build && ctx2.build.id) {
|
|
4102
4095
|
startPolling(ctx2, "", false, "");
|
|
@@ -4141,7 +4134,7 @@ var exec_default = (ctx) => {
|
|
|
4141
4134
|
task.output = chalk__default.default.gray(`error: ${error.message}`);
|
|
4142
4135
|
throw new Error(`Execution of '${(_a3 = ctx2.args.execCommand) == null ? void 0 : _a3.join(" ")}' failed`);
|
|
4143
4136
|
});
|
|
4144
|
-
childProcess.on("close", (code, signal) => __async(
|
|
4137
|
+
childProcess.on("close", (code, signal) => __async(null, null, function* () {
|
|
4145
4138
|
var _a3;
|
|
4146
4139
|
if (code !== null) {
|
|
4147
4140
|
task.title = `Execution of '${(_a3 = ctx2.args.execCommand) == null ? void 0 : _a3.join(" ")}' completed; exited with code ${code}`;
|
|
@@ -4162,7 +4155,7 @@ var exec_default = (ctx) => {
|
|
|
4162
4155
|
var processSnapshot_default = (ctx) => {
|
|
4163
4156
|
return {
|
|
4164
4157
|
title: `Processing snapshots`,
|
|
4165
|
-
task: (ctx2, task) => __async(
|
|
4158
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
4166
4159
|
var _a, _b, _c, _d;
|
|
4167
4160
|
try {
|
|
4168
4161
|
if (ctx2.config.delayedUpload) {
|
|
@@ -4188,8 +4181,7 @@ var processSnapshot_default = (ctx) => {
|
|
|
4188
4181
|
[error] ${snapshot.error}`)}
|
|
4189
4182
|
`;
|
|
4190
4183
|
process.exitCode = 1;
|
|
4191
|
-
} else
|
|
4192
|
-
output += `${chalk__default.default.green("\u2713")} ${chalk__default.default.gray(snapshot.name)}
|
|
4184
|
+
} else output += `${chalk__default.default.green("\u2713")} ${chalk__default.default.gray(snapshot.name)}
|
|
4193
4185
|
${snapshot.warnings.length ? chalk__default.default.gray(`[warning] ${snapshot.warnings.join("\n[warning] ")}
|
|
4194
4186
|
`) : ""}`;
|
|
4195
4187
|
}
|
|
@@ -4212,7 +4204,7 @@ var uploadDomToS3ViaEnv2 = process.env.USE_LAMBDA_INTERNAL || false;
|
|
|
4212
4204
|
var finalizeBuild_default = (ctx) => {
|
|
4213
4205
|
return {
|
|
4214
4206
|
title: `Finalizing build`,
|
|
4215
|
-
task: (ctx2, task) => __async(
|
|
4207
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
4216
4208
|
var _a, _b, _c;
|
|
4217
4209
|
updateLogContext({ task: "finalizeBuild" });
|
|
4218
4210
|
try {
|
|
@@ -4326,8 +4318,7 @@ var REQUEST_TIMEOUT = 18e4;
|
|
|
4326
4318
|
var MIN_VIEWPORT_HEIGHT = 1080;
|
|
4327
4319
|
var MAX_WAIT_FOR_REQUEST_CALL = 3e4;
|
|
4328
4320
|
var normalizeSameSite = (value) => {
|
|
4329
|
-
if (!value)
|
|
4330
|
-
return "Lax";
|
|
4321
|
+
if (!value) return "Lax";
|
|
4331
4322
|
const normalized = value.trim().toLowerCase();
|
|
4332
4323
|
const mapping = {
|
|
4333
4324
|
"lax": "Lax",
|
|
@@ -4350,10 +4341,8 @@ function prepareSnapshot(snapshot, ctx) {
|
|
|
4350
4341
|
ctx.config.allowedHostnames.push(new URL(snapshot.url).hostname);
|
|
4351
4342
|
processedOptions.allowedHostnames = ctx.config.allowedHostnames;
|
|
4352
4343
|
processedOptions.skipCapturedCookies = ctx.env.SMARTUI_DO_NOT_USE_CAPTURED_COOKIES;
|
|
4353
|
-
if (ctx.env.HTTP_PROXY || ctx.env.HTTPS_PROXY)
|
|
4354
|
-
|
|
4355
|
-
if (ctx.env.SMARTUI_HTTP_PROXY || ctx.env.SMARTUI_HTTPS_PROXY)
|
|
4356
|
-
processedOptions.proxy = { server: ctx.env.SMARTUI_HTTP_PROXY || ctx.env.SMARTUI_HTTPS_PROXY };
|
|
4344
|
+
if (ctx.env.HTTP_PROXY || ctx.env.HTTPS_PROXY) processedOptions.proxy = { server: ctx.env.HTTP_PROXY || ctx.env.HTTPS_PROXY };
|
|
4345
|
+
if (ctx.env.SMARTUI_HTTP_PROXY || ctx.env.SMARTUI_HTTPS_PROXY) processedOptions.proxy = { server: ctx.env.SMARTUI_HTTP_PROXY || ctx.env.SMARTUI_HTTPS_PROXY };
|
|
4357
4346
|
let options = snapshot.options;
|
|
4358
4347
|
let optionWarnings = /* @__PURE__ */ new Set();
|
|
4359
4348
|
let selectors = [];
|
|
@@ -4362,9 +4351,7 @@ function prepareSnapshot(snapshot, ctx) {
|
|
|
4362
4351
|
ctx.log.debug(`Snapshot options: ${JSON.stringify(options)}`);
|
|
4363
4352
|
const isNotAllEmpty = (obj) => {
|
|
4364
4353
|
var _a;
|
|
4365
|
-
for (let key in obj)
|
|
4366
|
-
if ((_a = obj[key]) == null ? void 0 : _a.length)
|
|
4367
|
-
return true;
|
|
4354
|
+
for (let key in obj) if ((_a = obj[key]) == null ? void 0 : _a.length) return true;
|
|
4368
4355
|
return false;
|
|
4369
4356
|
};
|
|
4370
4357
|
if (options.loadDomContent) {
|
|
@@ -4411,14 +4398,10 @@ function prepareSnapshot(snapshot, ctx) {
|
|
|
4411
4398
|
}
|
|
4412
4399
|
}
|
|
4413
4400
|
if (options.element && Object.keys(options.element).length) {
|
|
4414
|
-
if (options.element.id)
|
|
4415
|
-
|
|
4416
|
-
else if (options.element.
|
|
4417
|
-
|
|
4418
|
-
else if (options.element.cssSelector)
|
|
4419
|
-
processedOptions.element = options.element.cssSelector;
|
|
4420
|
-
else if (options.element.xpath)
|
|
4421
|
-
processedOptions.element = "xpath=" + options.element.xpath;
|
|
4401
|
+
if (options.element.id) processedOptions.element = "#" + options.element.id;
|
|
4402
|
+
else if (options.element.class) processedOptions.element = "." + options.element.class;
|
|
4403
|
+
else if (options.element.cssSelector) processedOptions.element = options.element.cssSelector;
|
|
4404
|
+
else if (options.element.xpath) processedOptions.element = "xpath=" + options.element.xpath;
|
|
4422
4405
|
} else if (options.ignoreDOM && Object.keys(options.ignoreDOM).length && isNotAllEmpty(options.ignoreDOM)) {
|
|
4423
4406
|
processedOptions.ignoreBoxes = {};
|
|
4424
4407
|
ignoreOrSelectDOM = "ignoreDOM";
|
|
@@ -4534,10 +4517,8 @@ function processSnapshot(snapshot, ctx) {
|
|
|
4534
4517
|
contextOptions.userAgent = constants_default.CHROME_USER_AGENT;
|
|
4535
4518
|
}
|
|
4536
4519
|
if (!((_b = ctx.browser) == null ? void 0 : _b.isConnected())) {
|
|
4537
|
-
if (ctx.env.HTTP_PROXY || ctx.env.HTTPS_PROXY)
|
|
4538
|
-
|
|
4539
|
-
if (ctx.env.SMARTUI_HTTP_PROXY || ctx.env.SMARTUI_HTTPS_PROXY)
|
|
4540
|
-
launchOptions.proxy = { server: ctx.env.SMARTUI_HTTP_PROXY || ctx.env.SMARTUI_HTTPS_PROXY };
|
|
4520
|
+
if (ctx.env.HTTP_PROXY || ctx.env.HTTPS_PROXY) launchOptions.proxy = { server: ctx.env.HTTP_PROXY || ctx.env.HTTPS_PROXY };
|
|
4521
|
+
if (ctx.env.SMARTUI_HTTP_PROXY || ctx.env.SMARTUI_HTTPS_PROXY) launchOptions.proxy = { server: ctx.env.SMARTUI_HTTP_PROXY || ctx.env.SMARTUI_HTTPS_PROXY };
|
|
4541
4522
|
ctx.browser = yield test.chromium.launch(launchOptions);
|
|
4542
4523
|
ctx.log.debug(`Chromium launched with options ${JSON.stringify(launchOptions)}`);
|
|
4543
4524
|
}
|
|
@@ -4547,11 +4528,9 @@ function processSnapshot(snapshot, ctx) {
|
|
|
4547
4528
|
const domainName = new URL(snapshot.url).hostname;
|
|
4548
4529
|
ctx.log.debug(`Setting cookies for domain: ${domainName}`);
|
|
4549
4530
|
const cookieArray = snapshot.dom.cookies.split("; ").map((cookie) => {
|
|
4550
|
-
if (!cookie)
|
|
4551
|
-
return null;
|
|
4531
|
+
if (!cookie) return null;
|
|
4552
4532
|
const [name, value] = cookie.split("=");
|
|
4553
|
-
if (!name || !value)
|
|
4554
|
-
return null;
|
|
4533
|
+
if (!name || !value) return null;
|
|
4555
4534
|
return {
|
|
4556
4535
|
name: name.trim(),
|
|
4557
4536
|
value: value.trim(),
|
|
@@ -4611,7 +4590,7 @@ function processSnapshot(snapshot, ctx) {
|
|
|
4611
4590
|
}
|
|
4612
4591
|
}
|
|
4613
4592
|
const pendingRequests = /* @__PURE__ */ new Set();
|
|
4614
|
-
yield page.route("**/*", (route, request) => __async(
|
|
4593
|
+
yield page.route("**/*", (route, request) => __async(null, null, function* () {
|
|
4615
4594
|
var _a2;
|
|
4616
4595
|
const requestUrl = request.url();
|
|
4617
4596
|
const requestHostname = new URL(requestUrl).hostname;
|
|
@@ -4624,8 +4603,7 @@ function processSnapshot(snapshot, ctx) {
|
|
|
4624
4603
|
throw new Error("resource type mp3/mp4/wav/ogg/webm");
|
|
4625
4604
|
}
|
|
4626
4605
|
ctx.config.allowedHostnames.push(new URL(snapshot.url).hostname);
|
|
4627
|
-
if (ctx.config.enableJavaScript)
|
|
4628
|
-
ALLOWED_RESOURCES.push("script");
|
|
4606
|
+
if (ctx.config.enableJavaScript) ALLOWED_RESOURCES.push("script");
|
|
4629
4607
|
if (ctx.config.basicAuthorization) {
|
|
4630
4608
|
ctx.log.debug(`Adding basic authorization to the headers for root url`);
|
|
4631
4609
|
let token = Buffer.from(`${ctx.config.basicAuthorization.username}:${ctx.config.basicAuthorization.password}`).toString("base64");
|
|
@@ -4781,9 +4759,7 @@ function processSnapshot(snapshot, ctx) {
|
|
|
4781
4759
|
ctx.log.debug(`Snapshot options: ${JSON.stringify(options)}`);
|
|
4782
4760
|
const isNotAllEmpty = (obj) => {
|
|
4783
4761
|
var _a2;
|
|
4784
|
-
for (let key in obj)
|
|
4785
|
-
if ((_a2 = obj[key]) == null ? void 0 : _a2.length)
|
|
4786
|
-
return true;
|
|
4762
|
+
for (let key in obj) if ((_a2 = obj[key]) == null ? void 0 : _a2.length) return true;
|
|
4787
4763
|
return false;
|
|
4788
4764
|
};
|
|
4789
4765
|
if (options.loadDomContent) {
|
|
@@ -4827,14 +4803,10 @@ function processSnapshot(snapshot, ctx) {
|
|
|
4827
4803
|
}
|
|
4828
4804
|
}
|
|
4829
4805
|
if (options.element && Object.keys(options.element).length) {
|
|
4830
|
-
if (options.element.id)
|
|
4831
|
-
|
|
4832
|
-
else if (options.element.
|
|
4833
|
-
|
|
4834
|
-
else if (options.element.cssSelector)
|
|
4835
|
-
processedOptions.element = options.element.cssSelector;
|
|
4836
|
-
else if (options.element.xpath)
|
|
4837
|
-
processedOptions.element = "xpath=" + options.element.xpath;
|
|
4806
|
+
if (options.element.id) processedOptions.element = "#" + options.element.id;
|
|
4807
|
+
else if (options.element.class) processedOptions.element = "." + options.element.class;
|
|
4808
|
+
else if (options.element.cssSelector) processedOptions.element = options.element.cssSelector;
|
|
4809
|
+
else if (options.element.xpath) processedOptions.element = "xpath=" + options.element.xpath;
|
|
4838
4810
|
} else if (options.ignoreDOM && Object.keys(options.ignoreDOM).length && isNotAllEmpty(options.ignoreDOM)) {
|
|
4839
4811
|
processedOptions.ignoreBoxes = {};
|
|
4840
4812
|
ignoreOrSelectDOM = "ignoreDOM";
|
|
@@ -4921,8 +4893,7 @@ function processSnapshot(snapshot, ctx) {
|
|
|
4921
4893
|
discoveryErrors.name = snapshot.name;
|
|
4922
4894
|
yield page.goto(snapshot.url, { waitUntil: "domcontentloaded", timeout: ctx.config.waitForDiscovery });
|
|
4923
4895
|
yield new Promise((r) => setTimeout(r, 1250));
|
|
4924
|
-
if (ctx.config.waitForTimeout)
|
|
4925
|
-
yield page.waitForTimeout(ctx.config.waitForTimeout);
|
|
4896
|
+
if (ctx.config.waitForTimeout) yield page.waitForTimeout(ctx.config.waitForTimeout);
|
|
4926
4897
|
yield page.waitForLoadState("networkidle", { timeout: 1e4 }).catch(() => {
|
|
4927
4898
|
ctx.log.debug("networkidle event failed to fire within 10s");
|
|
4928
4899
|
});
|
|
@@ -4945,8 +4916,7 @@ function processSnapshot(snapshot, ctx) {
|
|
|
4945
4916
|
}
|
|
4946
4917
|
}
|
|
4947
4918
|
}
|
|
4948
|
-
if (ctx.config.cliEnableJavaScript && fullPage)
|
|
4949
|
-
yield page.evaluate(scrollToBottomAndBackToTop, { frequency: 100, timing: ctx.config.scrollTime });
|
|
4919
|
+
if (ctx.config.cliEnableJavaScript && fullPage) yield page.evaluate(scrollToBottomAndBackToTop, { frequency: 100, timing: ctx.config.scrollTime });
|
|
4950
4920
|
try {
|
|
4951
4921
|
yield page.waitForLoadState("networkidle", { timeout: 15e3 });
|
|
4952
4922
|
ctx.log.debug("Network idle 500ms");
|
|
@@ -5008,8 +4978,7 @@ function processSnapshot(snapshot, ctx) {
|
|
|
5008
4978
|
return Math.max(...measurements);
|
|
5009
4979
|
});
|
|
5010
4980
|
ctx.log.debug(`Calculated content height: ${height}`);
|
|
5011
|
-
if (!Array.isArray(processedOptions[ignoreOrSelectBoxes][viewportString]))
|
|
5012
|
-
processedOptions[ignoreOrSelectBoxes][viewportString] = [];
|
|
4981
|
+
if (!Array.isArray(processedOptions[ignoreOrSelectBoxes][viewportString])) processedOptions[ignoreOrSelectBoxes][viewportString] = [];
|
|
5013
4982
|
for (const selector of selectors) {
|
|
5014
4983
|
if (selector.startsWith("coordinates=")) {
|
|
5015
4984
|
const coordString = selector.replace("coordinates=", "");
|
|
@@ -5107,7 +5076,7 @@ function processSnapshot(snapshot, ctx) {
|
|
|
5107
5076
|
processedOptions.selectDOM = options == null ? void 0 : options.selectDOM;
|
|
5108
5077
|
ctx.log.debug(`Processed options: ${JSON.stringify(processedOptions)}`);
|
|
5109
5078
|
}
|
|
5110
|
-
const checkPending = () => __async(
|
|
5079
|
+
const checkPending = () => __async(null, null, function* () {
|
|
5111
5080
|
let startTime = Date.now();
|
|
5112
5081
|
ctx.log.debug(`${pendingRequests.size} Pending requests before wait for ${snapshot.name}: ${Array.from(pendingRequests)}`);
|
|
5113
5082
|
while (pendingRequests.size > 0) {
|
|
@@ -5278,18 +5247,15 @@ var Queue = class {
|
|
|
5278
5247
|
let drop = true;
|
|
5279
5248
|
if (snapshot.options && snapshot.options.web) {
|
|
5280
5249
|
const webDrop = this.filterWebVariants(snapshot, snapshot.options.web);
|
|
5281
|
-
if (!webDrop)
|
|
5282
|
-
drop = false;
|
|
5250
|
+
if (!webDrop) drop = false;
|
|
5283
5251
|
}
|
|
5284
5252
|
if (snapshot.options && snapshot.options.mobile) {
|
|
5285
5253
|
const mobileDrop = this.filterMobileVariants(snapshot, snapshot.options.mobile);
|
|
5286
|
-
if (!mobileDrop)
|
|
5287
|
-
drop = false;
|
|
5254
|
+
if (!mobileDrop) drop = false;
|
|
5288
5255
|
}
|
|
5289
5256
|
if (!snapshot.options || snapshot.options && !snapshot.options.web && !snapshot.options.mobile) {
|
|
5290
5257
|
const configDrop = this.filterVariants(snapshot, config);
|
|
5291
|
-
if (!configDrop)
|
|
5292
|
-
drop = false;
|
|
5258
|
+
if (!configDrop) drop = false;
|
|
5293
5259
|
}
|
|
5294
5260
|
return drop;
|
|
5295
5261
|
}
|
|
@@ -5306,10 +5272,8 @@ var Queue = class {
|
|
|
5306
5272
|
const variant = `${snapshot.name}_${browser}_viewport[${width}]_viewport[${height}]`;
|
|
5307
5273
|
if (!this.variants.includes(variant)) {
|
|
5308
5274
|
allVariantsDropped = false;
|
|
5309
|
-
if (!snapshot.options)
|
|
5310
|
-
|
|
5311
|
-
if (!snapshot.options.web)
|
|
5312
|
-
snapshot.options.web = { browsers: [], viewports: [] };
|
|
5275
|
+
if (!snapshot.options) snapshot.options = {};
|
|
5276
|
+
if (!snapshot.options.web) snapshot.options.web = { browsers: [], viewports: [] };
|
|
5313
5277
|
if (!snapshot.options.web.browsers.includes(browser)) {
|
|
5314
5278
|
snapshot.options.web.browsers.push(browser);
|
|
5315
5279
|
}
|
|
@@ -5335,10 +5299,8 @@ var Queue = class {
|
|
|
5335
5299
|
const variant = `${snapshot.name}_${device}_${orientation}`;
|
|
5336
5300
|
if (!this.variants.includes(variant)) {
|
|
5337
5301
|
allVariantsDropped = false;
|
|
5338
|
-
if (!snapshot.options)
|
|
5339
|
-
|
|
5340
|
-
if (!snapshot.options.mobile)
|
|
5341
|
-
snapshot.options.mobile = { devices: [], orientation: constants_default.MOBILE_ORIENTATION_PORTRAIT, fullPage };
|
|
5302
|
+
if (!snapshot.options) snapshot.options = {};
|
|
5303
|
+
if (!snapshot.options.mobile) snapshot.options.mobile = { devices: [], orientation: constants_default.MOBILE_ORIENTATION_PORTRAIT, fullPage };
|
|
5342
5304
|
if (!snapshot.options.mobile.devices.includes(device)) {
|
|
5343
5305
|
snapshot.options.mobile.devices.push(device);
|
|
5344
5306
|
}
|
|
@@ -5657,7 +5619,7 @@ var Queue = class {
|
|
|
5657
5619
|
var startTunnel_default = (ctx) => {
|
|
5658
5620
|
return {
|
|
5659
5621
|
title: `Starting Tunnel`,
|
|
5660
|
-
task: (ctx2, task) => __async(
|
|
5622
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
5661
5623
|
updateLogContext({ task: "startTunnel" });
|
|
5662
5624
|
try {
|
|
5663
5625
|
yield startTunnelBinary(ctx2);
|
|
@@ -5883,7 +5845,7 @@ configAppFigma.name("config:create-figma-app").description("Create figma config
|
|
|
5883
5845
|
var auth_default = (ctx) => {
|
|
5884
5846
|
return {
|
|
5885
5847
|
title: `Authenticating with SmartUI`,
|
|
5886
|
-
task: (ctx2, task) => __async(
|
|
5848
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
5887
5849
|
updateLogContext({ task: "auth" });
|
|
5888
5850
|
try {
|
|
5889
5851
|
const { authResult, orgId, userId } = yield ctx2.client.auth(ctx2.log, ctx2.env);
|
|
@@ -5909,7 +5871,7 @@ var auth_default = (ctx) => {
|
|
|
5909
5871
|
var createBuild_default = (ctx) => {
|
|
5910
5872
|
return {
|
|
5911
5873
|
title: `Creating SmartUI build`,
|
|
5912
|
-
task: (ctx2, task) => __async(
|
|
5874
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
5913
5875
|
updateLogContext({ task: "createBuild" });
|
|
5914
5876
|
try {
|
|
5915
5877
|
let resp = yield ctx2.client.createBuild(ctx2.git, ctx2.config, ctx2.log, ctx2.build.name, ctx2.isStartExec, ctx2.env.SMART_GIT, ctx2.options.markBaseline, ctx2.options.baselineBuild, ctx2.options.scheduled, ctx2.env.LT_USERNAME, ctx2.env.LT_ACCESS_KEY);
|
|
@@ -6029,20 +5991,22 @@ function captureScreenshotsForConfig(ctx, browsers, urlConfig, browserName, rend
|
|
|
6029
5991
|
ctx.log.debug(`Failed resolving tunnel/proxy details: ${e}`);
|
|
6030
5992
|
}
|
|
6031
5993
|
let page;
|
|
6032
|
-
if (
|
|
6033
|
-
|
|
6034
|
-
|
|
6035
|
-
|
|
6036
|
-
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
|
|
6040
|
-
|
|
6041
|
-
if (ctx.config.userAgent
|
|
6042
|
-
|
|
6043
|
-
|
|
6044
|
-
|
|
6045
|
-
|
|
5994
|
+
if (!ctx.env.DO_NOT_USE_USER_AGENT) {
|
|
5995
|
+
if (browserName == constants_default.CHROME)
|
|
5996
|
+
contextOptions.userAgent = constants_default.CHROME_USER_AGENT;
|
|
5997
|
+
else if (browserName == constants_default.FIREFOX)
|
|
5998
|
+
contextOptions.userAgent = constants_default.FIREFOX_USER_AGENT;
|
|
5999
|
+
else if (browserName == constants_default.SAFARI)
|
|
6000
|
+
contextOptions.userAgent = constants_default.SAFARI_USER_AGENT;
|
|
6001
|
+
else if (browserName == constants_default.EDGE)
|
|
6002
|
+
contextOptions.userAgent = constants_default.EDGE_USER_AGENT;
|
|
6003
|
+
if (ctx.config.userAgent || userAgent) {
|
|
6004
|
+
if (ctx.config.userAgent !== "") {
|
|
6005
|
+
contextOptions.userAgent = ctx.config.userAgent;
|
|
6006
|
+
}
|
|
6007
|
+
if (userAgent && userAgent !== "") {
|
|
6008
|
+
contextOptions.userAgent = userAgent;
|
|
6009
|
+
}
|
|
6046
6010
|
}
|
|
6047
6011
|
}
|
|
6048
6012
|
try {
|
|
@@ -6083,7 +6047,7 @@ function captureScreenshotsForConfig(ctx, browsers, urlConfig, browserName, rend
|
|
|
6083
6047
|
yield page.setExtraHTTPHeaders(headersObject);
|
|
6084
6048
|
}
|
|
6085
6049
|
if (ctx.env.CAPTURE_RENDERING_ERRORS) {
|
|
6086
|
-
yield page.route("**/*", (route, request) => __async(
|
|
6050
|
+
yield page.route("**/*", (route, request) => __async(null, null, function* () {
|
|
6087
6051
|
var _a;
|
|
6088
6052
|
const requestUrl = request.url();
|
|
6089
6053
|
const requestHostname = new URL(requestUrl).hostname;
|
|
@@ -6145,8 +6109,7 @@ function captureScreenshotsForConfig(ctx, browsers, urlConfig, browserName, rend
|
|
|
6145
6109
|
}
|
|
6146
6110
|
let ssPath = `screenshots/${ssId}/${`${browserName}-${viewport.width}x${viewport.height}`}-${ssId}.png`;
|
|
6147
6111
|
yield page == null ? void 0 : page.setViewportSize({ width: viewport.width, height: viewport.height || constants_default.MIN_VIEWPORT_HEIGHT });
|
|
6148
|
-
if (fullPage)
|
|
6149
|
-
yield page == null ? void 0 : page.evaluate(scrollToBottomAndBackToTop);
|
|
6112
|
+
if (fullPage) yield page == null ? void 0 : page.evaluate(scrollToBottomAndBackToTop);
|
|
6150
6113
|
yield page == null ? void 0 : page.waitForTimeout(waitForTimeout || 0);
|
|
6151
6114
|
yield executeDocumentScripts(ctx, page, "beforeSnapshot", beforeSnapshotScript);
|
|
6152
6115
|
discoveryErrors.name = name;
|
|
@@ -6225,10 +6188,8 @@ function captureScreenshots(ctx) {
|
|
|
6225
6188
|
}
|
|
6226
6189
|
for (let staticConfig of ctx.webStaticConfig) {
|
|
6227
6190
|
try {
|
|
6228
|
-
if (ctx.options.parallel)
|
|
6229
|
-
|
|
6230
|
-
else
|
|
6231
|
-
yield captureScreenshotsSync(ctx, staticConfig, browsers);
|
|
6191
|
+
if (ctx.options.parallel) yield captureScreenshotsAsync(ctx, staticConfig, browsers);
|
|
6192
|
+
else yield captureScreenshotsSync(ctx, staticConfig, browsers);
|
|
6232
6193
|
delDir(`screenshots/${staticConfig.name.toLowerCase().replace(/\s/g, "_")}`);
|
|
6233
6194
|
output += `${chalk__default.default.gray(staticConfig.name)} ${chalk__default.default.green("\u2713")}
|
|
6234
6195
|
`;
|
|
@@ -6384,7 +6345,7 @@ function captureScreenshotsConcurrent(ctx) {
|
|
|
6384
6345
|
let staticURLChunks = splitURLs(ctx.webStaticConfig, urlsPerInstance);
|
|
6385
6346
|
let totalCapturedScreenshots = 0;
|
|
6386
6347
|
let output = "";
|
|
6387
|
-
const responses = yield Promise.all(staticURLChunks.map((urlConfig) => __async(
|
|
6348
|
+
const responses = yield Promise.all(staticURLChunks.map((urlConfig) => __async(null, null, function* () {
|
|
6388
6349
|
let { capturedScreenshots, finalOutput } = yield processChunk(ctx, urlConfig);
|
|
6389
6350
|
return { capturedScreenshots, finalOutput };
|
|
6390
6351
|
})));
|
|
@@ -6456,7 +6417,7 @@ function executeDocumentScripts(ctx, page, actionType, script) {
|
|
|
6456
6417
|
var captureScreenshots_default = (ctx) => {
|
|
6457
6418
|
return {
|
|
6458
6419
|
title: "Capturing screenshots",
|
|
6459
|
-
task: (ctx2, task) => __async(
|
|
6420
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
6460
6421
|
try {
|
|
6461
6422
|
ctx2.task = task;
|
|
6462
6423
|
if (ctx2.options.fetchResults) {
|
|
@@ -6558,7 +6519,7 @@ var capture_default = command2;
|
|
|
6558
6519
|
var uploadScreenshots_default = (ctx) => {
|
|
6559
6520
|
return {
|
|
6560
6521
|
title: "Uploading screenshots",
|
|
6561
|
-
task: (ctx2, task) => __async(
|
|
6522
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
6562
6523
|
try {
|
|
6563
6524
|
ctx2.task = task;
|
|
6564
6525
|
if (ctx2.options.fetchResults) {
|
|
@@ -6632,7 +6593,7 @@ command3.name("upload").description("Upload screenshots from given directory").a
|
|
|
6632
6593
|
var upload_default = command3;
|
|
6633
6594
|
|
|
6634
6595
|
// src/lib/uploadFigmaDesigns.ts
|
|
6635
|
-
var uploadFigmaDesigns_default = (ctx) => __async(
|
|
6596
|
+
var uploadFigmaDesigns_default = (ctx) => __async(null, null, function* () {
|
|
6636
6597
|
const depth = ctx.figmaDesignConfig.depth;
|
|
6637
6598
|
const figmaConfigs = ctx.figmaDesignConfig.figma_config;
|
|
6638
6599
|
let results = "";
|
|
@@ -6659,7 +6620,7 @@ var uploadFigmaDesigns_default = (ctx) => __async(void 0, null, function* () {
|
|
|
6659
6620
|
var uploadFigmaDesigns_default2 = (ctx) => {
|
|
6660
6621
|
return {
|
|
6661
6622
|
title: "Uploading Figma Designs",
|
|
6662
|
-
task: (ctx2, task) => __async(
|
|
6623
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
6663
6624
|
try {
|
|
6664
6625
|
ctx2.task = task;
|
|
6665
6626
|
updateLogContext({ task: "upload-figma" });
|
|
@@ -6681,7 +6642,7 @@ var uploadFigmaDesigns_default2 = (ctx) => {
|
|
|
6681
6642
|
};
|
|
6682
6643
|
|
|
6683
6644
|
// src/lib/uploadWebFigma.ts
|
|
6684
|
-
var uploadWebFigma_default = (ctx) => __async(
|
|
6645
|
+
var uploadWebFigma_default = (ctx) => __async(null, null, function* () {
|
|
6685
6646
|
var _a, _b;
|
|
6686
6647
|
const figmaConfig = ctx.config && ((_a = ctx.config) == null ? void 0 : _a.figma) || {};
|
|
6687
6648
|
const webConfig = ctx.config && ((_b = ctx.config) == null ? void 0 : _b.web) || {};
|
|
@@ -6719,7 +6680,7 @@ var uploadWebFigma_default = (ctx) => __async(void 0, null, function* () {
|
|
|
6719
6680
|
});
|
|
6720
6681
|
|
|
6721
6682
|
// src/lib/fetchFigma.ts
|
|
6722
|
-
var fetchFigma_default = (ctx) => __async(
|
|
6683
|
+
var fetchFigma_default = (ctx) => __async(null, null, function* () {
|
|
6723
6684
|
const buildId = ctx.build.id;
|
|
6724
6685
|
ctx.log.debug(`Fetching figma results for buildId ${buildId}`);
|
|
6725
6686
|
const startTime = Date.now();
|
|
@@ -6764,7 +6725,7 @@ function callFetchWebFigmaRecursive(startTime, buildId, ctx) {
|
|
|
6764
6725
|
var uploadWebFigma_default2 = (ctx) => {
|
|
6765
6726
|
return {
|
|
6766
6727
|
title: "Processing Web Figma",
|
|
6767
|
-
task: (ctx2, task) => __async(
|
|
6728
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
6768
6729
|
try {
|
|
6769
6730
|
ctx2.task = task;
|
|
6770
6731
|
updateLogContext({ task: "upload-figma-web" });
|
|
@@ -6796,7 +6757,7 @@ var uploadWebFigma_default2 = (ctx) => {
|
|
|
6796
6757
|
};
|
|
6797
6758
|
|
|
6798
6759
|
// src/lib/uploadAppFigma.ts
|
|
6799
|
-
var uploadAppFigma_default = (ctx) => __async(
|
|
6760
|
+
var uploadAppFigma_default = (ctx) => __async(null, null, function* () {
|
|
6800
6761
|
var _a, _b;
|
|
6801
6762
|
const figmaConfig = ctx.config && ((_a = ctx.config) == null ? void 0 : _a.figma) || {};
|
|
6802
6763
|
const mobileConfig = ctx.config && ((_b = ctx.config) == null ? void 0 : _b.mobile) || {};
|
|
@@ -6838,7 +6799,7 @@ var uploadAppFigma_default = (ctx) => __async(void 0, null, function* () {
|
|
|
6838
6799
|
var uploadAppFigma_default2 = (ctx) => {
|
|
6839
6800
|
return {
|
|
6840
6801
|
title: "Processing App Figma",
|
|
6841
|
-
task: (ctx2, task) => __async(
|
|
6802
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
6842
6803
|
try {
|
|
6843
6804
|
ctx2.task = task;
|
|
6844
6805
|
updateLogContext({ task: "upload-figma-app" });
|
|
@@ -7135,7 +7096,7 @@ var ping_default = command6;
|
|
|
7135
7096
|
var fetchBranchInfo_default = (ctx) => {
|
|
7136
7097
|
return {
|
|
7137
7098
|
title: `Fetching branch info`,
|
|
7138
|
-
task: (ctx2, task) => __async(
|
|
7099
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
7139
7100
|
updateLogContext({ task: "fetchBranchInfo" });
|
|
7140
7101
|
try {
|
|
7141
7102
|
if (ctx2.mergeBranchSource === ctx2.mergeBranchTarget) {
|
|
@@ -7173,7 +7134,7 @@ var fetchBranchInfo_default = (ctx) => {
|
|
|
7173
7134
|
var mergeBuilds_default = (ctx) => {
|
|
7174
7135
|
return {
|
|
7175
7136
|
title: `Merging smartui builds`,
|
|
7176
|
-
task: (ctx2, task) => __async(
|
|
7137
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
7177
7138
|
updateLogContext({ task: "mergeBuilds" });
|
|
7178
7139
|
try {
|
|
7179
7140
|
let resp;
|
|
@@ -7270,7 +7231,7 @@ var mergeBranch_default = command7;
|
|
|
7270
7231
|
var fetchBuildInfo_default = (ctx) => {
|
|
7271
7232
|
return {
|
|
7272
7233
|
title: `Fetching build info`,
|
|
7273
|
-
task: (ctx2, task) => __async(
|
|
7234
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
7274
7235
|
updateLogContext({ task: "fetchBuildInfo" });
|
|
7275
7236
|
try {
|
|
7276
7237
|
if (ctx2.mergeBuildSource === ctx2.mergeBuildTarget) {
|
|
@@ -7425,7 +7386,7 @@ var pingTest_default = command9;
|
|
|
7425
7386
|
var uploadPdfs_default = (ctx) => {
|
|
7426
7387
|
return {
|
|
7427
7388
|
title: "Uploading PDFs",
|
|
7428
|
-
task: (ctx2, task) => __async(
|
|
7389
|
+
task: (ctx2, task) => __async(null, null, function* () {
|
|
7429
7390
|
try {
|
|
7430
7391
|
ctx2.task = task;
|
|
7431
7392
|
updateLogContext({ task: "upload-pdf" });
|
|
@@ -7535,8 +7496,7 @@ LambdaTest SmartUI CLI v${package_default.version}`);
|
|
|
7535
7496
|
log2.warn(`This version is deprecated. A new version ${latestVersion} is available!`);
|
|
7536
7497
|
} else if (package_default.version !== latestVersion) {
|
|
7537
7498
|
log2.info(chalk__default.default.green(`A new version ${latestVersion} is available!`));
|
|
7538
|
-
} else
|
|
7539
|
-
log2.info(chalk__default.default.gray("https://www.npmjs.com/package/@lambdatest/smartui-cli\n"));
|
|
7499
|
+
} else log2.info(chalk__default.default.gray("https://www.npmjs.com/package/@lambdatest/smartui-cli\n"));
|
|
7540
7500
|
} catch (error) {
|
|
7541
7501
|
log2.debug(error);
|
|
7542
7502
|
log2.info(chalk__default.default.gray("https://www.npmjs.com/package/@lambdatest/smartui-cli\n"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambdatest/smartui-cli",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.50",
|
|
4
4
|
"description": "A command line interface (CLI) to run SmartUI tests on LambdaTest",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**/*"
|
|
@@ -28,18 +28,17 @@
|
|
|
28
28
|
"@types/which": "^3.0.2",
|
|
29
29
|
"ajv": "^8.12.0",
|
|
30
30
|
"ajv-errors": "^3.0.0",
|
|
31
|
-
"axios": "^1.
|
|
31
|
+
"axios": "^1.12.0",
|
|
32
32
|
"chalk": "^4.1.2",
|
|
33
33
|
"commander": "^11.1.0",
|
|
34
|
-
"cross-spawn": "^7.0.
|
|
35
|
-
"fastify": "^4.
|
|
36
|
-
"form-data": "^4.0.
|
|
34
|
+
"cross-spawn": "^7.0.6",
|
|
35
|
+
"fastify": "^4.29.1",
|
|
36
|
+
"form-data": "^4.0.4",
|
|
37
37
|
"json-stringify-safe": "^5.0.1",
|
|
38
38
|
"listr2": "^7.0.1",
|
|
39
39
|
"node-cache": "^5.1.2",
|
|
40
40
|
"postcss": "^8.5.6",
|
|
41
41
|
"sharp": "^0.33.4",
|
|
42
|
-
"tsup": "^7.2.0",
|
|
43
42
|
"uuid": "^11.0.3",
|
|
44
43
|
"which": "^4.0.0",
|
|
45
44
|
"winston": "^3.10.0"
|
|
@@ -49,7 +48,8 @@
|
|
|
49
48
|
},
|
|
50
49
|
"devDependencies": {
|
|
51
50
|
"find-free-port": "^2.0.0",
|
|
52
|
-
"typescript": "^5.3.2"
|
|
51
|
+
"typescript": "^5.3.2",
|
|
52
|
+
"tsup": "^8.5.1"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"build": "tsup",
|