@applitools/core 3.11.8 → 4.0.0

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 (59) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/dist/abort.js +3 -3
  3. package/dist/automation/abort.js +7 -7
  4. package/dist/automation/close.js +7 -7
  5. package/dist/automation/get-results.js +2 -2
  6. package/dist/automation/utils/{extract-renderer-key.js → to-environment-key.js} +4 -8
  7. package/dist/automation/utils/uniquify-environments.js +27 -0
  8. package/dist/classic/check-and-close.js +36 -35
  9. package/dist/classic/check.js +36 -35
  10. package/dist/classic/get-base-eyes.js +3 -12
  11. package/dist/classic/open-eyes.js +7 -7
  12. package/dist/classic/utils/extract-default-environments.js +70 -0
  13. package/dist/classic/utils/take-screenshots.js +1 -1
  14. package/dist/close-batch.js +3 -3
  15. package/dist/close.js +3 -3
  16. package/dist/core.js +2 -2
  17. package/dist/delete-test.js +3 -3
  18. package/dist/extract-text.js +3 -3
  19. package/dist/get-account-info.js +3 -3
  20. package/dist/get-manager-results.js +1 -1
  21. package/dist/locate-text.js +3 -3
  22. package/dist/locate.js +3 -3
  23. package/dist/log-event.js +3 -3
  24. package/dist/open-eyes.js +18 -18
  25. package/dist/ufg/check-and-close.js +39 -39
  26. package/dist/ufg/check.js +39 -39
  27. package/dist/ufg/get-base-eyes.js +4 -4
  28. package/dist/ufg/open-eyes.js +5 -5
  29. package/dist/ufg/utils/{extract-default-renderers.js → extract-default-environment.js} +3 -3
  30. package/dist/ufg/utils/take-dom-snapshots.js +17 -17
  31. package/dist/universal/core-server.js +12 -13
  32. package/dist/utils/{extract-environment.js → extract-test-environment.js} +3 -3
  33. package/package.json +28 -25
  34. package/types/abort.d.ts +3 -3
  35. package/types/automation/abort.d.ts +3 -3
  36. package/types/automation/close.d.ts +3 -3
  37. package/types/automation/types.d.ts +23 -26
  38. package/types/automation/utils/to-environment-key.d.ts +2 -0
  39. package/types/automation/utils/uniquify-environments.d.ts +2 -0
  40. package/types/classic/check-and-close.d.ts +5 -5
  41. package/types/classic/check.d.ts +3 -3
  42. package/types/classic/utils/extract-default-environments.d.ts +9 -0
  43. package/types/classic/utils/take-screenshots.d.ts +2 -2
  44. package/types/close.d.ts +3 -3
  45. package/types/get-typed-eyes.d.ts +1 -4
  46. package/types/types.d.ts +1 -1
  47. package/types/ufg/check-and-close.d.ts +5 -5
  48. package/types/ufg/check.d.ts +3 -3
  49. package/types/ufg/core.d.ts +1 -1
  50. package/types/ufg/utils/extract-default-environment.d.ts +5 -0
  51. package/types/ufg/utils/take-dom-snapshots.d.ts +3 -4
  52. package/types/utils/extract-test-environment.d.ts +2 -0
  53. package/dist/automation/utils/uniquify-renderers.js +0 -27
  54. package/dist/classic/utils/extract-default-renderers.js +0 -72
  55. package/types/automation/utils/extract-renderer-key.d.ts +0 -2
  56. package/types/automation/utils/uniquify-renderers.d.ts +0 -2
  57. package/types/classic/utils/extract-default-renderers.d.ts +0 -9
  58. package/types/ufg/utils/extract-default-renderers.d.ts +0 -5
  59. package/types/utils/extract-environment.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,128 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.0.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.11.8...js/core@4.0.0) (2023-10-17)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * update core to v4 ([#1936](https://github.com/applitools/eyes.sdk.javascript1/issues/1936))
9
+
10
+ ### Features
11
+
12
+ * update core to v4 ([#1936](https://github.com/applitools/eyes.sdk.javascript1/issues/1936)) ([1b68d39](https://github.com/applitools/eyes.sdk.javascript1/commit/1b68d3945d96b17b9ab1f1a87d352206fd0c81d6))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * upgrade dom-snapshot ([#1969](https://github.com/applitools/eyes.sdk.javascript1/issues/1969)) ([458beb8](https://github.com/applitools/eyes.sdk.javascript1/commit/458beb803aec3e6d51484a557b3eed8f537a709d))
18
+
19
+
20
+ ### Code Refactoring
21
+
22
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
23
+
24
+
25
+ ### Dependencies
26
+
27
+ * @applitools/utils bumped to 1.6.2
28
+ #### Code Refactoring
29
+
30
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
31
+ * @applitools/logger bumped to 2.0.12
32
+ #### Code Refactoring
33
+
34
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
35
+
36
+
37
+
38
+ * @applitools/socket bumped to 1.1.12
39
+ #### Code Refactoring
40
+
41
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
42
+
43
+
44
+
45
+ * @applitools/req bumped to 1.6.2
46
+ #### Code Refactoring
47
+
48
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
49
+
50
+
51
+
52
+ * @applitools/image bumped to 1.1.7
53
+ #### Bug Fixes
54
+
55
+ * avoid using ascii text decoder ([1b68d39](https://github.com/applitools/eyes.sdk.javascript1/commit/1b68d3945d96b17b9ab1f1a87d352206fd0c81d6))
56
+
57
+
58
+ #### Code Refactoring
59
+
60
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
61
+
62
+
63
+
64
+ * @applitools/spec-driver-selenium bumped to 1.5.62
65
+
66
+ * @applitools/spec-driver-puppeteer bumped to 1.2.4
67
+ #### Code Refactoring
68
+
69
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
70
+
71
+
72
+
73
+ * @applitools/screenshoter bumped to 3.8.14
74
+ #### Bug Fixes
75
+
76
+ * allow css scrolling when taking screenshot of the webview ([2d3a257](https://github.com/applitools/eyes.sdk.javascript1/commit/2d3a2572768e7f979d16297ca316a79ab2538adb))
77
+
78
+
79
+ #### Code Refactoring
80
+
81
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
82
+
83
+
84
+
85
+ * @applitools/ufg-client bumped to 1.9.6
86
+ #### Code Refactoring
87
+
88
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
89
+ * drop jsdom dependency ([1b68d39](https://github.com/applitools/eyes.sdk.javascript1/commit/1b68d3945d96b17b9ab1f1a87d352206fd0c81d6))
90
+
91
+
92
+
93
+ * @applitools/spec-driver-webdriver bumped to 1.0.48
94
+
95
+ * @applitools/driver bumped to 1.14.4
96
+ #### Code Refactoring
97
+
98
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
99
+
100
+
101
+
102
+ * @applitools/nml-client bumped to 1.5.14
103
+
104
+ * @applitools/tunnel-client bumped to 1.2.4
105
+ #### Code Refactoring
106
+
107
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
108
+
109
+
110
+
111
+ * @applitools/ec-client bumped to 1.7.13
112
+ #### Code Refactoring
113
+
114
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
115
+
116
+
117
+
118
+ * @applitools/core-base bumped to 1.7.2
119
+ #### Code Refactoring
120
+
121
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
122
+
123
+
124
+
125
+
3
126
  ## [3.11.8](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.11.7...js/core@3.11.8) (2023-10-09)
4
127
 
5
128
 
package/dist/abort.js CHANGED
@@ -25,14 +25,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeAbort = void 0;
27
27
  const utils = __importStar(require("@applitools/utils"));
28
- function makeAbort({ eyes, renderers: defaultRenderers, logger: mainLogger, }) {
28
+ function makeAbort({ eyes, environments: defaultEnvironments, logger: mainLogger, }) {
29
29
  return async function abort({ settings, logger = mainLogger, } = {}) {
30
30
  var _a;
31
31
  logger = logger.extend(mainLogger, { tags: [`abort-${utils.general.shortid()}`] });
32
32
  const typedEyes = await eyes.getTypedEyes({ logger });
33
33
  settings !== null && settings !== void 0 ? settings : (settings = {});
34
- if (typedEyes.type === 'classic' && !utils.types.isEmpty(defaultRenderers)) {
35
- (_a = settings.renderers) !== null && _a !== void 0 ? _a : (settings.renderers = defaultRenderers);
34
+ if (typedEyes.type === 'classic' && !utils.types.isEmpty(defaultEnvironments)) {
35
+ (_a = settings.environments) !== null && _a !== void 0 ? _a : (settings.environments = defaultEnvironments);
36
36
  }
37
37
  await typedEyes.abort({ settings, logger });
38
38
  };
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeAbort = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
- const uniquify_renderers_1 = require("./utils/uniquify-renderers");
6
- function makeAbort({ eyes, target, controller, renderers: defaultRenderers, spec, logger: mainLogger, }) {
5
+ const uniquify_environments_1 = require("./utils/uniquify-environments");
6
+ function makeAbort({ eyes, target, controller, environments: defaultEnvironments, spec, logger: mainLogger, }) {
7
7
  return async function abort({ settings, logger = mainLogger, } = {}) {
8
8
  var _a;
9
9
  logger = logger.extend(mainLogger);
@@ -27,11 +27,11 @@ function makeAbort({ eyes, target, controller, renderers: defaultRenderers, spec
27
27
  logger.warn('Command "abort" received an error during extracting driver metadata', error);
28
28
  }
29
29
  }
30
- (_a = settings.renderers) !== null && _a !== void 0 ? _a : (settings.renderers = defaultRenderers);
31
- if (eyes.storage.size === 0 && settings.renderers && settings.renderers.length > 0) {
32
- const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)(settings.renderers);
33
- logger.log('Command "abort" starting filler tests for renderers', uniqueRenderers);
34
- await Promise.all(uniqueRenderers.map(renderer => eyes.getBaseEyes({ settings: { renderer }, logger })));
30
+ (_a = settings.environments) !== null && _a !== void 0 ? _a : (settings.environments = defaultEnvironments);
31
+ if (eyes.storage.size === 0 && settings.environments && settings.environments.length > 0) {
32
+ const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)(settings.environments);
33
+ logger.log('Command "abort" starting filler tests for environments', uniqueEnvironments);
34
+ await Promise.all(uniqueEnvironments.map(environment => eyes.getBaseEyes({ settings: { environment }, logger })));
35
35
  }
36
36
  eyes.storage.forEach(async (item) => {
37
37
  var _a, _b;
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeClose = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
- const uniquify_renderers_1 = require("./utils/uniquify-renderers");
6
- function makeClose({ eyes, target, renderers: defaultRenderers, spec, logger: mainLogger, }) {
5
+ const uniquify_environments_1 = require("./utils/uniquify-environments");
6
+ function makeClose({ eyes, target, environments: defaultEnvironments, spec, logger: mainLogger, }) {
7
7
  return async function close({ settings, logger = mainLogger, } = {}) {
8
8
  var _a;
9
9
  logger = logger.extend(mainLogger);
@@ -26,11 +26,11 @@ function makeClose({ eyes, target, renderers: defaultRenderers, spec, logger: ma
26
26
  logger.warn('Command "close" received an error during extracting driver metadata', error);
27
27
  }
28
28
  }
29
- (_a = settings.renderers) !== null && _a !== void 0 ? _a : (settings.renderers = defaultRenderers);
30
- if (eyes.storage.size === 0 && settings.renderers && settings.renderers.length > 0) {
31
- const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)(settings.renderers);
32
- logger.log('Command "close" starting filler tests for renderers', settings.renderers);
33
- await Promise.all(uniqueRenderers.map(renderer => eyes.getBaseEyes({ settings: { renderer }, logger })));
29
+ (_a = settings.environments) !== null && _a !== void 0 ? _a : (settings.environments = defaultEnvironments);
30
+ if (eyes.storage.size === 0 && settings.environments && settings.environments.length > 0) {
31
+ const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)(settings.environments);
32
+ logger.log('Command "close" starting filler tests for environments', settings.environments);
33
+ await Promise.all(uniqueEnvironments.map(environment => eyes.getBaseEyes({ settings: { environment }, logger })));
34
34
  }
35
35
  eyes.storage.forEach(async (item) => {
36
36
  var _a, _b;
@@ -11,13 +11,13 @@ function makeGetResults({ eyes, logger: mainLogger }) {
11
11
  try {
12
12
  const [eyes] = await Promise.all([item.eyes, ...item.jobs]);
13
13
  const [result] = await eyes.getResults({ settings, logger });
14
- return { ...result, renderer: eyes.test.renderer };
14
+ return { ...result, environment: eyes.test.environment };
15
15
  }
16
16
  catch (error) {
17
17
  if (error instanceof abort_error_1.AbortError && ((_a = error.info) === null || _a === void 0 ? void 0 : _a.eyes)) {
18
18
  logger.warn('Command "getResults" received an abort error during performing', settings);
19
19
  const [result] = await error.info.eyes.getResults({ settings, logger });
20
- return { ...result, renderer: error.info.renderer };
20
+ return { ...result, environment: error.info.environment };
21
21
  }
22
22
  logger.fatal('Command "getResults" received an error during performing', settings);
23
23
  throw error;
@@ -23,13 +23,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.extractRendererKey = void 0;
26
+ exports.toEnvironmentKey = void 0;
27
27
  const utils = __importStar(require("@applitools/utils"));
28
- function extractRendererKey(renderer) {
29
- var _a;
30
- const originalRenderer = utils.types.has(renderer, 'environment')
31
- ? (_a = renderer.environment.renderer) !== null && _a !== void 0 ? _a : renderer
32
- : renderer;
33
- return JSON.stringify(originalRenderer);
28
+ function toEnvironmentKey(environment) {
29
+ return JSON.stringify(utils.types.has(environment, 'requested') ? environment.requested : environment);
34
30
  }
35
- exports.extractRendererKey = extractRendererKey;
31
+ exports.toEnvironmentKey = toEnvironmentKey;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uniquifyEnvironments = void 0;
4
+ function uniquifyEnvironments(environments) {
5
+ const duplications = new Map(environments.map(environment => [JSON.stringify(environment), 0]));
6
+ return environments.reduce((uniqueEnvironments, environment) => {
7
+ const key = JSON.stringify(environment);
8
+ let index = duplications.get(key);
9
+ if (index > 0) {
10
+ if (!environment.environmentId) {
11
+ let uniqueEnvironment;
12
+ do {
13
+ uniqueEnvironment = { ...environment, environmentId: `${index}` };
14
+ index += 1;
15
+ } while (duplications.has(JSON.stringify(uniqueEnvironment)));
16
+ uniqueEnvironments.push(uniqueEnvironment);
17
+ }
18
+ }
19
+ else {
20
+ index += 1;
21
+ uniqueEnvironments.push(environment);
22
+ }
23
+ duplications.set(key, index);
24
+ return uniqueEnvironments;
25
+ }, []);
26
+ }
27
+ exports.uniquifyEnvironments = uniquifyEnvironments;
@@ -28,11 +28,11 @@ const driver_1 = require("@applitools/driver");
28
28
  const take_screenshots_1 = require("./utils/take-screenshots");
29
29
  const to_base_check_settings_1 = require("../automation/utils/to-base-check-settings");
30
30
  const wait_for_lazy_load_1 = require("../automation/utils/wait-for-lazy-load");
31
- const uniquify_renderers_1 = require("../automation/utils/uniquify-renderers");
32
- const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
31
+ const uniquify_environments_1 = require("../automation/utils/uniquify-environments");
32
+ const to_environment_key_1 = require("../automation/utils/to-environment-key");
33
33
  const abort_error_1 = require("../errors/abort-error");
34
34
  const utils = __importStar(require("@applitools/utils"));
35
- function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRenderers = [], spec, signal, logger: mainLogger, }) {
35
+ function makeCheckAndClose({ eyes, target: defaultTarget, environments: defaultEnvironments = [], spec, signal, logger: mainLogger, }) {
36
36
  return async function checkAndClose({ target = defaultTarget, settings = {}, logger = mainLogger, } = {}) {
37
37
  var _a, _b;
38
38
  logger = logger.extend(mainLogger);
@@ -43,26 +43,26 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
43
43
  logger.warn('Command "checkAndClose" was called after test was already aborted');
44
44
  throw new abort_error_1.AbortError('Command "checkAndClose" was called after test was already aborted');
45
45
  }
46
- const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : defaultRenderers);
46
+ const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)((_a = settings.environments) !== null && _a !== void 0 ? _a : defaultEnvironments);
47
47
  const baseTargets = [];
48
48
  const baseSettings = [];
49
- const transformedRenderers = [];
49
+ const exactEnvironments = [];
50
50
  if ((0, driver_1.isDriver)(target, spec)) {
51
51
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger });
52
52
  await driver.currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
53
- const environment = await driver.getEnvironment();
54
- uniqueRenderers.forEach(renderer => {
53
+ const driverEnvironment = await driver.getEnvironment();
54
+ uniqueEnvironments.forEach(environment => {
55
55
  var _a, _b;
56
56
  var _c, _d;
57
- if (utils.types.has(renderer, 'iosDeviceInfo')) {
58
- (_a = (_c = renderer.iosDeviceInfo).version) !== null && _a !== void 0 ? _a : (_c.version = environment.platformVersion);
57
+ if (utils.types.has(environment, 'iosDeviceInfo')) {
58
+ (_a = (_c = environment.iosDeviceInfo).version) !== null && _a !== void 0 ? _a : (_c.version = driverEnvironment.platformVersion);
59
59
  }
60
- else if (utils.types.has(renderer, 'androidDeviceInfo')) {
61
- (_b = (_d = renderer.androidDeviceInfo).version) !== null && _b !== void 0 ? _b : (_d.version = environment.platformVersion);
60
+ else if (utils.types.has(environment, 'androidDeviceInfo')) {
61
+ (_b = (_d = environment.androidDeviceInfo).version) !== null && _b !== void 0 ? _b : (_d.version = driverEnvironment.platformVersion);
62
62
  }
63
- return renderer;
63
+ return environment;
64
64
  });
65
- if (settings.lazyLoad && environment.isWeb) {
65
+ if (settings.lazyLoad && driverEnvironment.isWeb) {
66
66
  await (0, wait_for_lazy_load_1.waitForLazyLoad)({
67
67
  context: driver.currentContext,
68
68
  settings: settings.lazyLoad !== true ? settings.lazyLoad : {},
@@ -70,19 +70,19 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
70
70
  });
71
71
  }
72
72
  const { elementReferencesToCalculate, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
73
- if (environment.isWeb || !environment.isApplitoolsLib || settings.screenshotMode === 'default') {
73
+ if (driverEnvironment.isWeb || !driverEnvironment.isApplitoolsLib || settings.screenshotMode === 'default') {
74
74
  const screenshots = await (0, take_screenshots_1.takeScreenshots)({
75
75
  driver,
76
76
  settings: {
77
77
  ...settings,
78
- renderers: uniqueRenderers,
78
+ environments: uniqueEnvironments,
79
79
  regionsToCalculate: elementReferencesToCalculate,
80
80
  calculateView: !!settings.pageId,
81
81
  domSettings: settings.sendDom ? { proxy: eyes.test.eyesServer.proxy } : undefined,
82
82
  },
83
83
  logger,
84
84
  });
85
- transformedRenderers.push(...uniqueRenderers);
85
+ exactEnvironments.push(...uniqueEnvironments);
86
86
  screenshots.forEach(({ calculatedRegions, ...baseTarget }) => {
87
87
  baseTargets.push(baseTarget);
88
88
  baseSettings.push(getBaseCheckSettings({ calculatedRegions }));
@@ -91,12 +91,12 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
91
91
  else {
92
92
  const nmlClient = await eyes.core.getNMLClient({
93
93
  driver,
94
- settings: { ...eyes.test.eyesServer, renderEnvironmentsUrl: eyes.test.renderEnvironmentsUrl },
94
+ settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
95
95
  logger,
96
96
  });
97
97
  const screenshots = await nmlClient.takeScreenshots({
98
98
  settings: {
99
- renderers: uniqueRenderers,
99
+ environments: uniqueEnvironments,
100
100
  fully: settings.fully,
101
101
  stitchMode: settings.stitchMode,
102
102
  hideScrollbars: settings.hideScrollbars,
@@ -109,56 +109,57 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
109
109
  },
110
110
  logger,
111
111
  });
112
- screenshots.forEach(({ calculatedRegions: _calculatedRegions, renderEnvironment, ...baseTarget }) => {
113
- transformedRenderers.push({ environment: renderEnvironment });
112
+ screenshots.forEach(({ environment, ...baseTarget }) => {
113
+ exactEnvironments.push(environment);
114
114
  baseTargets.push({ ...baseTarget, isTransformed: true });
115
115
  baseSettings.push(getBaseCheckSettings({ calculatedRegions: [] }));
116
116
  });
117
117
  }
118
118
  }
119
119
  else {
120
- transformedRenderers.push(...uniqueRenderers);
120
+ exactEnvironments.push(...uniqueEnvironments);
121
121
  baseTargets.push(target);
122
122
  baseSettings.push(settings);
123
123
  }
124
- const promises = transformedRenderers.map(async (renderer, index) => {
125
- const rendererLogger = logger.extend({ tags: [`renderer-${utils.general.shortid()}`] });
124
+ const promises = exactEnvironments.map(async (environment, index) => {
125
+ var _a, _b, _c;
126
+ const environmentLogger = logger.extend({ tags: [`environment-${utils.general.shortid()}`] });
126
127
  try {
127
128
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
128
- rendererLogger.warn('Command "checkAndClose" was aborted before checking');
129
+ environmentLogger.warn('Command "checkAndClose" was aborted before checking');
129
130
  throw new abort_error_1.AbortError('Command "checkAndClose" was aborted before checking');
130
131
  }
131
- const baseEyes = await eyes.getBaseEyes({ settings: { renderer }, logger: rendererLogger });
132
+ const baseEyes = await eyes.getBaseEyes({ settings: { environment }, logger: environmentLogger });
132
133
  try {
133
134
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
134
- rendererLogger.warn('Command "checkAndClose" was aborted before checking');
135
+ environmentLogger.warn('Command "checkAndClose" was aborted before checking');
135
136
  throw new abort_error_1.AbortError('Command "checkAndClose" was aborted before checking');
136
137
  }
137
138
  else if (!baseEyes.running) {
138
- rendererLogger.warn(`Check on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
139
- throw new abort_error_1.AbortError(`Check on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
139
+ environmentLogger.warn(`Check on environment with id "${(_a = baseEyes.test.environment) === null || _a === void 0 ? void 0 : _a.environmentId}" was aborted during one of the previous steps`);
140
+ throw new abort_error_1.AbortError(`Check on environment with id "${(_b = baseEyes.test.environment) === null || _b === void 0 ? void 0 : _b.environmentId}" was aborted during one of the previous steps`);
140
141
  }
141
142
  await baseEyes.checkAndClose({
142
143
  target: baseTargets[index],
143
144
  settings: baseSettings[index],
144
- logger: rendererLogger,
145
+ logger: environmentLogger,
145
146
  });
146
147
  }
147
148
  catch (error) {
148
- rendererLogger.error(`Check on environment with id "${baseEyes.test.renderEnvironmentId}" failed due to an error`, error);
149
- await baseEyes.abort({ logger: rendererLogger });
149
+ environmentLogger.error(`Check on environment with id "${(_c = baseEyes.test.environment) === null || _c === void 0 ? void 0 : _c.environmentId}" failed due to an error`, error);
150
+ await baseEyes.abort({ logger: environmentLogger });
150
151
  error.info = { eyes: baseEyes };
151
152
  throw error;
152
153
  }
153
154
  }
154
155
  catch (error) {
155
- rendererLogger.error(`Check with id ${renderer.id} failed before checking started due to an error`, error);
156
- error.info = { ...error.info, userTestId: eyes.test.userTestId, renderer };
156
+ environmentLogger.error(`Environment with id ${environment.environmentId} failed before checking started due to an error`, error);
157
+ error.info = { ...error.info, userTestId: eyes.test.userTestId, environment: environment };
157
158
  throw error;
158
159
  }
159
160
  });
160
- transformedRenderers.forEach((renderer, index) => {
161
- const key = (0, extract_renderer_key_1.extractRendererKey)(renderer);
161
+ exactEnvironments.forEach((environment, index) => {
162
+ const key = (0, to_environment_key_1.toEnvironmentKey)(environment);
162
163
  let item = eyes.storage.get(key);
163
164
  if (!item) {
164
165
  item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };
@@ -28,11 +28,11 @@ const driver_1 = require("@applitools/driver");
28
28
  const take_screenshots_1 = require("./utils/take-screenshots");
29
29
  const to_base_check_settings_1 = require("../automation/utils/to-base-check-settings");
30
30
  const wait_for_lazy_load_1 = require("../automation/utils/wait-for-lazy-load");
31
- const uniquify_renderers_1 = require("../automation/utils/uniquify-renderers");
32
- const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
31
+ const uniquify_environments_1 = require("../automation/utils/uniquify-environments");
32
+ const to_environment_key_1 = require("../automation/utils/to-environment-key");
33
33
  const abort_error_1 = require("../errors/abort-error");
34
34
  const utils = __importStar(require("@applitools/utils"));
35
- function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers = [], spec, signal, logger: mainLogger, }) {
35
+ function makeCheck({ eyes, target: defaultTarget, environments: defaultEnvironments = [], spec, signal, logger: mainLogger, }) {
36
36
  return async function check({ target = defaultTarget, settings = {}, logger = mainLogger, } = {}) {
37
37
  var _a, _b;
38
38
  logger = logger.extend(mainLogger);
@@ -43,26 +43,26 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
43
43
  logger.warn('Command "check" was called after test was already aborted');
44
44
  throw new abort_error_1.AbortError('Command "check" was called after test was already aborted');
45
45
  }
46
- const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : defaultRenderers);
46
+ const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)((_a = settings.environments) !== null && _a !== void 0 ? _a : defaultEnvironments);
47
47
  const baseTargets = [];
48
48
  const baseSettings = [];
49
- const transformedRenderers = [];
49
+ const exactEnvironments = [];
50
50
  if ((0, driver_1.isDriver)(target, spec)) {
51
51
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger });
52
52
  await driver.currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
53
- const environment = await driver.getEnvironment();
54
- uniqueRenderers.forEach(renderer => {
53
+ const driverEnvironment = await driver.getEnvironment();
54
+ uniqueEnvironments.forEach(environment => {
55
55
  var _a, _b;
56
56
  var _c, _d;
57
- if (utils.types.has(renderer, 'iosDeviceInfo')) {
58
- (_a = (_c = renderer.iosDeviceInfo).version) !== null && _a !== void 0 ? _a : (_c.version = environment.platformVersion);
57
+ if (utils.types.has(environment, 'iosDeviceInfo')) {
58
+ (_a = (_c = environment.iosDeviceInfo).version) !== null && _a !== void 0 ? _a : (_c.version = driverEnvironment.platformVersion);
59
59
  }
60
- else if (utils.types.has(renderer, 'androidDeviceInfo')) {
61
- (_b = (_d = renderer.androidDeviceInfo).version) !== null && _b !== void 0 ? _b : (_d.version = environment.platformVersion);
60
+ else if (utils.types.has(environment, 'androidDeviceInfo')) {
61
+ (_b = (_d = environment.androidDeviceInfo).version) !== null && _b !== void 0 ? _b : (_d.version = driverEnvironment.platformVersion);
62
62
  }
63
- return renderer;
63
+ return environment;
64
64
  });
65
- if (settings.lazyLoad && environment.isWeb) {
65
+ if (settings.lazyLoad && driverEnvironment.isWeb) {
66
66
  await (0, wait_for_lazy_load_1.waitForLazyLoad)({
67
67
  context: driver.currentContext,
68
68
  settings: settings.lazyLoad !== true ? settings.lazyLoad : {},
@@ -70,19 +70,19 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
70
70
  });
71
71
  }
72
72
  const { elementReferencesToCalculate, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
73
- if (environment.isWeb || !environment.isApplitoolsLib || settings.screenshotMode === 'default') {
73
+ if (driverEnvironment.isWeb || !driverEnvironment.isApplitoolsLib || settings.screenshotMode === 'default') {
74
74
  const screenshots = await (0, take_screenshots_1.takeScreenshots)({
75
75
  driver,
76
76
  settings: {
77
77
  ...settings,
78
- renderers: uniqueRenderers,
78
+ environments: uniqueEnvironments,
79
79
  regionsToCalculate: elementReferencesToCalculate,
80
80
  calculateView: !!settings.pageId,
81
81
  domSettings: settings.sendDom ? { proxy: eyes.test.eyesServer.proxy } : undefined,
82
82
  },
83
83
  logger,
84
84
  });
85
- transformedRenderers.push(...uniqueRenderers);
85
+ exactEnvironments.push(...uniqueEnvironments);
86
86
  screenshots.forEach(({ calculatedRegions, ...baseTarget }) => {
87
87
  baseTargets.push(baseTarget);
88
88
  baseSettings.push(getBaseCheckSettings({ calculatedRegions }));
@@ -91,12 +91,12 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
91
91
  else {
92
92
  const nmlClient = await eyes.core.getNMLClient({
93
93
  driver,
94
- settings: { ...eyes.test.eyesServer, renderEnvironmentsUrl: eyes.test.renderEnvironmentsUrl },
94
+ settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
95
95
  logger,
96
96
  });
97
97
  const screenshots = await nmlClient.takeScreenshots({
98
98
  settings: {
99
- renderers: uniqueRenderers,
99
+ environments: uniqueEnvironments,
100
100
  fully: settings.fully,
101
101
  stitchMode: settings.stitchMode,
102
102
  hideScrollbars: settings.hideScrollbars,
@@ -109,57 +109,58 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
109
109
  },
110
110
  logger,
111
111
  });
112
- screenshots.forEach(({ calculatedRegions: _calculatedRegions, renderEnvironment, ...baseTarget }) => {
113
- transformedRenderers.push({ environment: renderEnvironment });
112
+ screenshots.forEach(({ environment, ...baseTarget }) => {
113
+ exactEnvironments.push(environment);
114
114
  baseTargets.push({ ...baseTarget, isTransformed: true });
115
115
  baseSettings.push(getBaseCheckSettings({ calculatedRegions: [] }));
116
116
  });
117
117
  }
118
118
  }
119
119
  else {
120
- transformedRenderers.push(...uniqueRenderers);
120
+ exactEnvironments.push(...uniqueEnvironments);
121
121
  baseTargets.push(target);
122
122
  baseSettings.push(settings);
123
123
  }
124
- const promises = transformedRenderers.map(async (renderer, index) => {
125
- const rendererLogger = logger.extend({ tags: [`renderer-${utils.general.shortid()}`] });
124
+ const promises = exactEnvironments.map(async (environment, index) => {
125
+ var _a, _b, _c;
126
+ const environmentLogger = logger.extend({ tags: [`environment-${utils.general.shortid()}`] });
126
127
  try {
127
128
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
128
- rendererLogger.warn('Command "check" was aborted before checking');
129
+ environmentLogger.warn('Command "check" was aborted before checking');
129
130
  throw new abort_error_1.AbortError('Command "check" was aborted before checking');
130
131
  }
131
- const baseEyes = await eyes.getBaseEyes({ settings: { renderer }, logger: rendererLogger });
132
+ const baseEyes = await eyes.getBaseEyes({ settings: { environment }, logger: environmentLogger });
132
133
  try {
133
134
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
134
- rendererLogger.warn('Command "check" was aborted before checking');
135
+ environmentLogger.warn('Command "check" was aborted before checking');
135
136
  throw new abort_error_1.AbortError('Command "check" was aborted before checking');
136
137
  }
137
138
  else if (!baseEyes.running) {
138
- rendererLogger.warn(`Check on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
139
- throw new abort_error_1.AbortError(`Check on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
139
+ environmentLogger.warn(`Check on environment with id "${(_a = baseEyes.test.environment) === null || _a === void 0 ? void 0 : _a.environmentId}" was aborted during one of the previous steps`);
140
+ throw new abort_error_1.AbortError(`Check on environment with id "${(_b = baseEyes.test.environment) === null || _b === void 0 ? void 0 : _b.environmentId}" was aborted during one of the previous steps`);
140
141
  }
141
142
  await baseEyes.check({
142
143
  target: baseTargets[index],
143
144
  settings: baseSettings[index],
144
- logger: rendererLogger,
145
+ logger: environmentLogger,
145
146
  });
146
147
  }
147
148
  catch (error) {
148
- rendererLogger.error(`Check on environment with id "${baseEyes.test.renderEnvironmentId}" failed due to an error`, error);
149
+ environmentLogger.error(`Check on environment with id "${(_c = baseEyes.test.environment) === null || _c === void 0 ? void 0 : _c.environmentId}" failed due to an error`, error);
149
150
  if (baseEyes.running && !(signal === null || signal === void 0 ? void 0 : signal.aborted))
150
- await baseEyes.abort({ logger: rendererLogger });
151
+ await baseEyes.abort({ logger: environmentLogger });
151
152
  error.info = { eyes: baseEyes };
152
153
  throw error;
153
154
  }
154
155
  }
155
156
  catch (error) {
156
- rendererLogger.error(`Check with id ${renderer.id} failed before checking started due to an error`, error);
157
- error.info = { ...error.info, userTestId: eyes.test.userTestId, renderer };
157
+ environmentLogger.error(`Environment with id ${environment.environmentId} failed before checking started due to an error`, error);
158
+ error.info = { ...error.info, userTestId: eyes.test.userTestId, environment };
158
159
  throw error;
159
160
  }
160
161
  });
161
- transformedRenderers.forEach((renderer, index) => {
162
- const key = (0, extract_renderer_key_1.extractRendererKey)(renderer);
162
+ exactEnvironments.forEach((environment, index) => {
163
+ const key = (0, to_environment_key_1.toEnvironmentKey)(environment);
163
164
  let item = eyes.storage.get(key);
164
165
  if (!item) {
165
166
  item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };