@applitools/core 4.52.0 → 4.53.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/CHANGELOG.md CHANGED
@@ -1,5 +1,127 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.53.1](https://github.com/Applitools-Dev/sdk/compare/js/core@4.53.0...js/core@4.53.1) (2025-12-01)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * handle CSS variables in Shadow DOM adopted stylesheets | FLD-3790 ([#3381](https://github.com/Applitools-Dev/sdk/issues/3381)) ([b2bfca3](https://github.com/Applitools-Dev/sdk/commit/b2bfca3cd706cd996d78d51c6242148fbb8ce741))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * @applitools/utils bumped to 1.14.1
14
+ #### Bug Fixes
15
+
16
+ * setup script compatibility with ESM | AD-11756 ([#3363](https://github.com/Applitools-Dev/sdk/issues/3363)) ([d1222f4](https://github.com/Applitools-Dev/sdk/commit/d1222f40a74ab62782bebeeb0cf899aac3f3d3b6))
17
+ * @applitools/dom-snapshot bumped to 4.15.2
18
+ #### Bug Fixes
19
+
20
+ * handle CSS variables in Shadow DOM adopted stylesheets | FLD-3790 ([#3381](https://github.com/Applitools-Dev/sdk/issues/3381)) ([b2bfca3](https://github.com/Applitools-Dev/sdk/commit/b2bfca3cd706cd996d78d51c6242148fbb8ce741))
21
+
22
+
23
+
24
+ * @applitools/logger bumped to 2.2.7
25
+
26
+ * @applitools/socket bumped to 1.3.8
27
+
28
+ * @applitools/req bumped to 1.8.7
29
+
30
+ * @applitools/image bumped to 1.2.6
31
+
32
+ * @applitools/driver bumped to 1.24.3
33
+
34
+ * @applitools/spec-driver-webdriver bumped to 1.5.3
35
+
36
+ * @applitools/spec-driver-selenium bumped to 1.7.9
37
+
38
+ * @applitools/spec-driver-puppeteer bumped to 1.6.9
39
+
40
+ * @applitools/screenshoter bumped to 3.12.10
41
+
42
+ * @applitools/nml-client bumped to 1.11.12
43
+
44
+ * @applitools/tunnel-client bumped to 1.11.5
45
+
46
+ * @applitools/ufg-client bumped to 1.18.3
47
+
48
+ * @applitools/core-base bumped to 1.30.1
49
+
50
+ * @applitools/ec-client bumped to 1.12.14
51
+
52
+
53
+ ## [4.53.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.52.0...js/core@4.53.0) (2025-11-19)
54
+
55
+
56
+ ### Features
57
+
58
+ * disable heartbeats whenever no tests are running ([#3344](https://github.com/Applitools-Dev/sdk/issues/3344)) ([b66d28a](https://github.com/Applitools-Dev/sdk/commit/b66d28a7a382f26b68de70c8633c027cb4bdf225))
59
+
60
+
61
+ ### Bug Fixes
62
+
63
+ * better nml error messages ([#3311](https://github.com/Applitools-Dev/sdk/issues/3311)) ([3deea01](https://github.com/Applitools-Dev/sdk/commit/3deea0130636c44573adc919b95c1c99e6d194f1))
64
+ * fails to create test with coded dynamic region | AD-11074 ([#3361](https://github.com/Applitools-Dev/sdk/issues/3361)) ([7f8c8cd](https://github.com/Applitools-Dev/sdk/commit/7f8c8cd85c0cd2e5861cd33fbc29c465903258d5))
65
+ * resolved an issue with `matchTimeout` changing `retryTimeout` ([f656f59](https://github.com/Applitools-Dev/sdk/commit/f656f59dbfb7c41fdb569fbc56d2e9daecefb854))
66
+
67
+
68
+ ### Dependencies
69
+
70
+ * @applitools/utils bumped to 1.14.0
71
+ #### Features
72
+
73
+ * disable heartbeats whenever no tests are running ([#3344](https://github.com/Applitools-Dev/sdk/issues/3344)) ([b66d28a](https://github.com/Applitools-Dev/sdk/commit/b66d28a7a382f26b68de70c8633c027cb4bdf225))
74
+ * @applitools/nml-client bumped to 1.11.11
75
+ #### Bug Fixes
76
+
77
+ * better nml error messages ([#3311](https://github.com/Applitools-Dev/sdk/issues/3311)) ([3deea01](https://github.com/Applitools-Dev/sdk/commit/3deea0130636c44573adc919b95c1c99e6d194f1))
78
+
79
+
80
+
81
+ * @applitools/logger bumped to 2.2.6
82
+
83
+ * @applitools/dom-snapshot bumped to 4.15.1
84
+
85
+ * @applitools/socket bumped to 1.3.7
86
+
87
+ * @applitools/req bumped to 1.8.6
88
+
89
+ * @applitools/image bumped to 1.2.5
90
+
91
+ * @applitools/dom-capture bumped to 11.6.7
92
+
93
+ * @applitools/driver bumped to 1.24.2
94
+
95
+ * @applitools/spec-driver-webdriver bumped to 1.5.2
96
+
97
+ * @applitools/spec-driver-selenium bumped to 1.7.8
98
+
99
+ * @applitools/spec-driver-puppeteer bumped to 1.6.8
100
+
101
+ * @applitools/screenshoter bumped to 3.12.9
102
+
103
+ * @applitools/tunnel-client bumped to 1.11.4
104
+
105
+ * @applitools/ufg-client bumped to 1.18.2
106
+
107
+ * @applitools/core-base bumped to 1.30.0
108
+ #### Features
109
+
110
+ * disable heartbeats whenever no tests are running ([#3344](https://github.com/Applitools-Dev/sdk/issues/3344)) ([b66d28a](https://github.com/Applitools-Dev/sdk/commit/b66d28a7a382f26b68de70c8633c027cb4bdf225))
111
+
112
+
113
+ #### Bug Fixes
114
+
115
+ * fails to create test with coded dynamic region | AD-11074 ([#3361](https://github.com/Applitools-Dev/sdk/issues/3361)) ([7f8c8cd](https://github.com/Applitools-Dev/sdk/commit/7f8c8cd85c0cd2e5861cd33fbc29c465903258d5))
116
+ * resolved an issue with `matchTimeout` changing `retryTimeout` ([f656f59](https://github.com/Applitools-Dev/sdk/commit/f656f59dbfb7c41fdb569fbc56d2e9daecefb854))
117
+
118
+
119
+
120
+ * @applitools/ec-client bumped to 1.12.13
121
+
122
+ * @applitools/test-server bumped to 1.3.5
123
+
124
+
3
125
  ## [4.52.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.51.0...js/core@4.52.0) (2025-11-09)
4
126
 
5
127
 
@@ -5,16 +5,19 @@ const calculate_required_sizes_1 = require("../automation/utils/calculate-requir
5
5
  const defaults_1 = require("../automation/utils/defaults");
6
6
  const verify_environment_info_1 = require("../ufg/utils/verify-environment-info");
7
7
  const populate_eyes_server_settings_1 = require("../utils/populate-eyes-server-settings");
8
- function makeCalculateEstimatedTime({ core, logger }) {
8
+ function makeCalculateEstimatedTime({ core, logger, }) {
9
9
  return async function calculateEstimatedTime({ settings }) {
10
10
  var _a;
11
11
  (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
12
12
  const accountInfo = await core.getAccountInfo({ settings, logger });
13
- const ufgClient = await core.getUFGClient({ settings: {
13
+ const ufgClient = await core.getUFGClient({
14
+ settings: {
14
15
  ...settings,
15
16
  ufgServerUrl: accountInfo.ufgServer.ufgServerUrl,
16
17
  accessToken: accountInfo.ufgServer.accessToken,
17
- }, logger });
18
+ },
19
+ logger,
20
+ });
18
21
  const deviceProviders = {
19
22
  getChromeEmulationDevices: ufgClient.getChromeEmulationDevices.bind(ufgClient),
20
23
  getIOSDevices: ufgClient.getIOSDevices.bind(ufgClient),
@@ -27,9 +30,7 @@ function makeCalculateEstimatedTime({ core, logger }) {
27
30
  ...(typeof settings.lazyLoad === 'object' ? settings.lazyLoad : {}),
28
31
  };
29
32
  // Calculate lazy load time per breakpoint
30
- const lazyLoadTimePerBreakpoint = settings.lazyLoad
31
- ? Math.ceil(maxAmountToScroll / scrollLength) * waitingTime
32
- : 0;
33
+ const lazyLoadTimePerBreakpoint = settings.lazyLoad ? Math.ceil(maxAmountToScroll / scrollLength) * waitingTime : 0;
33
34
  // Calculate total times (only handle number case for time estimation, default from defaults.ts)
34
35
  const waitBeforeCapture = Number(settings.waitBeforeCapture) || defaults_1.DEFAULT_WAIT_BEFORE_CAPTURE;
35
36
  // Calculate required sizes count using the same logic as take-dom-snapshots
package/dist/check.js CHANGED
@@ -56,7 +56,7 @@ function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget,
56
56
  !utils.types.isEmpty(settings.accessibilitySettings));
57
57
  (_h = settings.autProxy) !== null && _h !== void 0 ? _h : (settings.autProxy = eyes.test.eyesServer.proxy);
58
58
  (_j = settings.useDom) !== null && _j !== void 0 ? _j : (settings.useDom = false);
59
- (_k = (_r = settings).retryTimeout) !== null && _k !== void 0 ? _k : (_r.retryTimeout = 0);
59
+ (_k = (_r = settings).matchTimeout) !== null && _k !== void 0 ? _k : (_r.matchTimeout = 0);
60
60
  settings.lazyLoad = settings.lazyLoad === true ? {} : settings.lazyLoad;
61
61
  if (settings.lazyLoad) {
62
62
  (_l = (_s = settings.lazyLoad).scrollLength) !== null && _l !== void 0 ? _l : (_s.scrollLength = defaults_1.DEFAULT_LAZY_LOAD.scrollLength);
@@ -64,7 +64,9 @@ function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget,
64
64
  (_o = (_u = settings.lazyLoad).maxAmountToScroll) !== null && _o !== void 0 ? _o : (_u.maxAmountToScroll = defaults_1.DEFAULT_LAZY_LOAD.maxAmountToScroll);
65
65
  }
66
66
  settings.stepIndex = stepIndex++;
67
- (_p = settings.waitBetweenStitches) !== null && _p !== void 0 ? _p : (settings.waitBetweenStitches = utils.types.isObject(settings.lazyLoad) ? settings.lazyLoad.waitingTime : defaults_1.DEFAULT_WAIT_BEFORE_CAPTURE);
67
+ (_p = settings.waitBetweenStitches) !== null && _p !== void 0 ? _p : (settings.waitBetweenStitches = utils.types.isObject(settings.lazyLoad)
68
+ ? settings.lazyLoad.waitingTime
69
+ : defaults_1.DEFAULT_WAIT_BEFORE_CAPTURE);
68
70
  if (settings.mobileOptions) {
69
71
  (_q = (_v = settings.mobileOptions).keepNavigationBar) !== null && _q !== void 0 ? _q : (_v.keepNavigationBar = false);
70
72
  }
@@ -55,16 +55,16 @@ function makeCheck({ eyes, target: defaultTarget, environments: defaultEnvironme
55
55
  let driver = undefined;
56
56
  if ((0, driver_1.isDriver)(target, spec)) {
57
57
  driver = await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger });
58
- if (settings.retryTimeout) {
59
- // when retry timeout is set, retry checking until it passes or timeout is reached. This will stall the client test execution until it passes or timeout is reached to prevent the test from continuing and changing the state of the app
60
- logger.log(`Retry timeout is set to ${settings.retryTimeout}ms - will retry checking until it passes or timeout is reached`);
58
+ if (settings.matchTimeout) {
59
+ // when match timeout is set, retry checking until it passes or timeout is reached. This will stall the client test execution until it passes or timeout is reached to prevent the test from continuing and changing the state of the app
60
+ logger.log(`Match timeout is set to ${settings.matchTimeout}ms - will retry checking until it passes or timeout is reached`);
61
61
  const start = Date.now();
62
62
  const environmentLogger = logger.extend({ tags: [`environment-${utils.general.shortid()}`] });
63
63
  // this getter actually open the eyes session if it's not already open
64
64
  const baseEyes = await Promise.all(uniqueEnvironments.map(environment => getBaseEyes({ environment, driver, logger: environmentLogger })));
65
65
  // if the test is new for any of the environments, we wait for the page to stabaliize before starting the checks. This should prevent us from creating a baseline with a loading spinner or something similar
66
66
  if (baseEyes.map(baseEye => baseEye.test.isNew).some(isNew => isNew)) {
67
- await new Promise(resolve => setTimeout(resolve, settings.retryTimeout));
67
+ await new Promise(resolve => setTimeout(resolve, settings.matchTimeout));
68
68
  }
69
69
  let asExpected = false, retries = 0;
70
70
  do {
@@ -93,12 +93,12 @@ function makeCheck({ eyes, target: defaultTarget, environments: defaultEnvironme
93
93
  putInStorage(exactEnvironment, eyes, Promise.resolve());
94
94
  });
95
95
  }
96
- } while (!asExpected && Date.now() - start < settings.retryTimeout);
96
+ } while (!asExpected && Date.now() - start < settings.matchTimeout);
97
97
  }
98
98
  else {
99
99
  // generate base targets (images to be compared) and settings for each environment
100
100
  const baseScreenshotsAndSettings = await generateBaseScreenshotsAndSettings(settings, uniqueEnvironments, eyes, logger, driver);
101
- // when no retry timeout is set, queue all environment checks against the server without stalling the client test execution
101
+ // when no match timeout is set, queue all environment checks against the server without stalling the client test execution
102
102
  baseScreenshotsAndSettings.forEach(({ exactEnvironment: environment, baseSetting, baseTarget }) => {
103
103
  checkInTheBackground(environment, baseTarget, baseSetting);
104
104
  });
@@ -339,8 +339,11 @@ async function runOfflineSnapshots(options) {
339
339
  logger: checkLogger,
340
340
  heartbeat: {
341
341
  processId: '',
342
- startPeriodicHeartbeatMessaging(settings) {
343
- logger.log('heartbeat is not used (offline)', settings);
342
+ acquire(settings) {
343
+ logger.log('acquire | heartbeat is not used (offline)', settings);
344
+ },
345
+ release() {
346
+ logger.log('release | heartbeat is not used (offline)');
344
347
  },
345
348
  },
346
349
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "4.52.0",
3
+ "version": "4.53.1",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -79,20 +79,20 @@
79
79
  }
80
80
  },
81
81
  "dependencies": {
82
- "@applitools/core-base": "1.29.0",
83
- "@applitools/dom-capture": "11.6.6",
84
- "@applitools/dom-snapshot": "4.15.0",
85
- "@applitools/driver": "1.24.1",
86
- "@applitools/ec-client": "1.12.12",
87
- "@applitools/logger": "2.2.5",
88
- "@applitools/nml-client": "1.11.10",
89
- "@applitools/req": "1.8.5",
90
- "@applitools/screenshoter": "3.12.8",
82
+ "@applitools/core-base": "1.30.1",
83
+ "@applitools/dom-capture": "11.6.7",
84
+ "@applitools/dom-snapshot": "4.15.2",
85
+ "@applitools/driver": "1.24.3",
86
+ "@applitools/ec-client": "1.12.14",
87
+ "@applitools/logger": "2.2.7",
88
+ "@applitools/nml-client": "1.11.12",
89
+ "@applitools/req": "1.8.7",
90
+ "@applitools/screenshoter": "3.12.10",
91
91
  "@applitools/snippets": "2.7.0",
92
- "@applitools/socket": "1.3.6",
93
- "@applitools/spec-driver-webdriver": "1.5.1",
94
- "@applitools/ufg-client": "1.18.1",
95
- "@applitools/utils": "1.13.0",
92
+ "@applitools/socket": "1.3.8",
93
+ "@applitools/spec-driver-webdriver": "1.5.3",
94
+ "@applitools/ufg-client": "1.18.3",
95
+ "@applitools/utils": "1.14.1",
96
96
  "@types/ws": "8.5.5",
97
97
  "abort-controller": "3.0.0",
98
98
  "chalk": "4.1.2",
@@ -106,11 +106,11 @@
106
106
  "devDependencies": {
107
107
  "@applitools/bongo": "^5.10.0",
108
108
  "@applitools/sea": "^1.0.0",
109
- "@applitools/spec-driver-puppeteer": "^1.6.7",
110
- "@applitools/spec-driver-selenium": "^1.7.7",
111
- "@applitools/test-server": "^1.3.4",
109
+ "@applitools/spec-driver-puppeteer": "^1.6.9",
110
+ "@applitools/spec-driver-selenium": "^1.7.9",
111
+ "@applitools/test-server": "^1.3.5",
112
112
  "@applitools/test-utils": "^1.5.17",
113
- "@applitools/tunnel-client": "^1.11.3",
113
+ "@applitools/tunnel-client": "^1.11.5",
114
114
  "@types/mocha": "^10.0.7",
115
115
  "@types/node": "^12.20.55",
116
116
  "@types/selenium-webdriver": "^4.1.2",
@@ -5,7 +5,7 @@ import type { Logger } from '@applitools/logger';
5
5
  type Options<TSpec extends SpecType> = {
6
6
  settings: Partial<SnapshotSettings<TSpec>> & EyesServerSettings;
7
7
  };
8
- export declare function makeCalculateEstimatedTime<TSpec extends SpecType>({ core, logger }: {
8
+ export declare function makeCalculateEstimatedTime<TSpec extends SpecType>({ core, logger, }: {
9
9
  core: UFGCore<TSpec>;
10
10
  logger: Logger;
11
11
  }): ({ settings }: Options<TSpec>) => Promise<EstimatedTimeResult>;
@@ -17,7 +17,7 @@ export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, target
17
17
  settings?: (BaseCheckSettings<utils.Region | import("@applitools/driver").ElementReference<TSpec>> & import("./types").ScreenshotSettings<TSpec> & {
18
18
  environments?: Environment[] | undefined;
19
19
  } & {
20
- retryTimeout?: number | undefined;
20
+ matchTimeout?: number | undefined;
21
21
  } & BaseCloseSettings & {
22
22
  environments?: Environment[] | undefined;
23
23
  }) | undefined;
@@ -30,5 +30,5 @@ export type OpenSettings = AutomationCore.OpenSettings & {
30
30
  keepPlatformNameAsIs?: boolean;
31
31
  };
32
32
  export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
33
- retryTimeout?: number;
33
+ matchTimeout?: number;
34
34
  };