@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.
Files changed (2) hide show
  1. package/dist/index.cjs +108 -148
  2. 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
- reject(err);
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
- browsers[constants_default.CHROME] = yield test.chromium.launch(launchOptions);
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(this, null, function* () {
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(this, null, function* () {
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(this, null, function* () {
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(this, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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.48";
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.6.0",
2861
+ axios: "^1.12.0",
2866
2862
  chalk: "^4.1.2",
2867
2863
  commander: "^11.1.0",
2868
- "cross-spawn": "^7.0.3",
2869
- fastify: "^4.24.3",
2870
- "form-data": "^4.0.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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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
- processedOptions.proxy = { server: ctx.env.HTTP_PROXY || ctx.env.HTTPS_PROXY };
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
- processedOptions.element = "#" + options.element.id;
4416
- else if (options.element.class)
4417
- processedOptions.element = "." + options.element.class;
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
- launchOptions.proxy = { server: ctx.env.HTTP_PROXY || ctx.env.HTTPS_PROXY };
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(this, null, function* () {
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
- processedOptions.element = "#" + options.element.id;
4832
- else if (options.element.class)
4833
- processedOptions.element = "." + options.element.class;
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(this, null, function* () {
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
- snapshot.options = {};
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
- snapshot.options = {};
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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 (browserName == constants_default.CHROME)
6033
- contextOptions.userAgent = constants_default.CHROME_USER_AGENT;
6034
- else if (browserName == constants_default.FIREFOX)
6035
- contextOptions.userAgent = constants_default.FIREFOX_USER_AGENT;
6036
- else if (browserName == constants_default.SAFARI)
6037
- contextOptions.userAgent = constants_default.SAFARI_USER_AGENT;
6038
- else if (browserName == constants_default.EDGE)
6039
- contextOptions.userAgent = constants_default.EDGE_USER_AGENT;
6040
- if (ctx.config.userAgent || userAgent) {
6041
- if (ctx.config.userAgent !== "") {
6042
- contextOptions.userAgent = ctx.config.userAgent;
6043
- }
6044
- if (userAgent && userAgent !== "") {
6045
- contextOptions.userAgent = userAgent;
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(this, null, function* () {
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
- yield captureScreenshotsAsync(ctx, staticConfig, browsers);
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(this, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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(void 0, null, function* () {
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.48",
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.6.0",
31
+ "axios": "^1.12.0",
32
32
  "chalk": "^4.1.2",
33
33
  "commander": "^11.1.0",
34
- "cross-spawn": "^7.0.3",
35
- "fastify": "^4.24.3",
36
- "form-data": "^4.0.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",