@applitools/core 3.10.0 → 3.10.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,64 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.10.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.10.0...js/core@3.10.1) (2023-09-04)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * @applitools/utils bumped to 1.6.0
9
+ #### Features
10
+
11
+ * add support for fallback in `req` ([#1899](https://github.com/applitools/eyes.sdk.javascript1/issues/1899)) ([d69c4b5](https://github.com/applitools/eyes.sdk.javascript1/commit/d69c4b5830370c471dfc25b6e2caddca8b458df9))
12
+ * @applitools/logger bumped to 2.0.10
13
+
14
+ * @applitools/socket bumped to 1.1.10
15
+
16
+ * @applitools/req bumped to 1.6.0
17
+ #### Features
18
+
19
+ * add support for fallback in `req` ([#1899](https://github.com/applitools/eyes.sdk.javascript1/issues/1899)) ([d69c4b5](https://github.com/applitools/eyes.sdk.javascript1/commit/d69c4b5830370c471dfc25b6e2caddca8b458df9))
20
+ * update testcafe ([#1884](https://github.com/applitools/eyes.sdk.javascript1/issues/1884)) ([104f1b6](https://github.com/applitools/eyes.sdk.javascript1/commit/104f1b6cc0d4f107ba46404383de2fa11fe99dcf))
21
+
22
+
23
+
24
+ * @applitools/spec-driver-puppeteer bumped to 1.2.0
25
+ #### Features
26
+
27
+ * update testcafe ([#1884](https://github.com/applitools/eyes.sdk.javascript1/issues/1884)) ([104f1b6](https://github.com/applitools/eyes.sdk.javascript1/commit/104f1b6cc0d4f107ba46404383de2fa11fe99dcf))
28
+
29
+
30
+
31
+ * @applitools/spec-driver-webdriver bumped to 1.0.44
32
+
33
+ * @applitools/spec-driver-selenium bumped to 1.5.58
34
+
35
+ * @applitools/driver bumped to 1.14.0
36
+ #### Features
37
+
38
+ * update testcafe ([#1884](https://github.com/applitools/eyes.sdk.javascript1/issues/1884)) ([104f1b6](https://github.com/applitools/eyes.sdk.javascript1/commit/104f1b6cc0d4f107ba46404383de2fa11fe99dcf))
39
+
40
+
41
+
42
+ * @applitools/ufg-client bumped to 1.8.0
43
+ #### Features
44
+
45
+ * add support for fallback in `req` ([#1899](https://github.com/applitools/eyes.sdk.javascript1/issues/1899)) ([d69c4b5](https://github.com/applitools/eyes.sdk.javascript1/commit/d69c4b5830370c471dfc25b6e2caddca8b458df9))
46
+
47
+
48
+
49
+ * @applitools/image bumped to 1.1.5
50
+
51
+ * @applitools/screenshoter bumped to 3.8.10
52
+
53
+ * @applitools/nml-client bumped to 1.5.10
54
+
55
+ * @applitools/tunnel-client bumped to 1.2.2
56
+
57
+ * @applitools/ec-client bumped to 1.7.7
58
+
59
+ * @applitools/core-base bumped to 1.5.3
60
+
61
+
3
62
  ## [3.10.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.9.1...js/core@3.10.0) (2023-08-30)
4
63
 
5
64
 
@@ -11,7 +11,7 @@ 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: item.renderer };
14
+ return { ...result, renderer: eyes.test.renderer };
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)) {
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.extractRendererKey = void 0;
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);
34
+ }
35
+ exports.extractRendererKey = extractRendererKey;
@@ -29,6 +29,7 @@ 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
31
  const uniquify_renderers_1 = require("../automation/utils/uniquify-renderers");
32
+ const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
32
33
  const abort_error_1 = require("../errors/abort-error");
33
34
  const utils = __importStar(require("@applitools/utils"));
34
35
  function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRenderers = [], spec, signal, logger: mainLogger, }) {
@@ -45,10 +46,22 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
45
46
  const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : defaultRenderers);
46
47
  const baseTargets = [];
47
48
  const baseSettings = [];
49
+ const transformedRenderers = [];
48
50
  if ((0, driver_1.isDriver)(target, spec)) {
49
51
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger });
50
52
  await driver.currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
51
53
  const environment = await driver.getEnvironment();
54
+ uniqueRenderers.forEach(renderer => {
55
+ var _a, _b;
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);
59
+ }
60
+ else if (utils.types.has(renderer, 'androidDeviceInfo')) {
61
+ (_b = (_d = renderer.androidDeviceInfo).version) !== null && _b !== void 0 ? _b : (_d.version = environment.platformVersion);
62
+ }
63
+ return renderer;
64
+ });
52
65
  if (settings.lazyLoad && environment.isWeb) {
53
66
  await (0, wait_for_lazy_load_1.waitForLazyLoad)({
54
67
  context: driver.currentContext,
@@ -69,6 +82,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
69
82
  },
70
83
  logger,
71
84
  });
85
+ transformedRenderers.push(...uniqueRenderers);
72
86
  screenshots.forEach(({ calculatedRegions, ...baseTarget }) => {
73
87
  baseTargets.push(baseTarget);
74
88
  baseSettings.push(getBaseCheckSettings({ calculatedRegions }));
@@ -95,18 +109,19 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
95
109
  },
96
110
  logger,
97
111
  });
98
- screenshots.forEach(({ calculatedRegions: _calculatedRegions, renderEnvironment, ...baseTarget }, index) => {
99
- uniqueRenderers[index] = { environment: renderEnvironment };
112
+ screenshots.forEach(({ calculatedRegions: _calculatedRegions, renderEnvironment, ...baseTarget }) => {
113
+ transformedRenderers.push({ environment: renderEnvironment });
100
114
  baseTargets.push({ ...baseTarget, isTransformed: true });
101
115
  baseSettings.push(getBaseCheckSettings({ calculatedRegions: [] }));
102
116
  });
103
117
  }
104
118
  }
105
119
  else {
120
+ transformedRenderers.push(...uniqueRenderers);
106
121
  baseTargets.push(target);
107
122
  baseSettings.push(settings);
108
123
  }
109
- const promises = uniqueRenderers.map(async (renderer, index) => {
124
+ const promises = transformedRenderers.map(async (renderer, index) => {
110
125
  const rendererLogger = logger.extend({ tags: [`renderer-${utils.general.shortid()}`] });
111
126
  try {
112
127
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
@@ -142,11 +157,11 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
142
157
  throw error;
143
158
  }
144
159
  });
145
- uniqueRenderers.forEach((renderer, index) => {
146
- const key = JSON.stringify(renderer);
160
+ transformedRenderers.forEach((renderer, index) => {
161
+ const key = (0, extract_renderer_key_1.extractRendererKey)(renderer);
147
162
  let item = eyes.storage.get(key);
148
163
  if (!item) {
149
- item = { renderer, eyes: null, jobs: [] };
164
+ item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };
150
165
  eyes.storage.set(key, item);
151
166
  }
152
167
  item.jobs.push(promises[index]);
@@ -29,6 +29,7 @@ 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
31
  const uniquify_renderers_1 = require("../automation/utils/uniquify-renderers");
32
+ const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
32
33
  const abort_error_1 = require("../errors/abort-error");
33
34
  const utils = __importStar(require("@applitools/utils"));
34
35
  function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers = [], spec, signal, logger: mainLogger, }) {
@@ -45,10 +46,22 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
45
46
  const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : defaultRenderers);
46
47
  const baseTargets = [];
47
48
  const baseSettings = [];
49
+ const transformedRenderers = [];
48
50
  if ((0, driver_1.isDriver)(target, spec)) {
49
51
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger });
50
52
  await driver.currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
51
53
  const environment = await driver.getEnvironment();
54
+ uniqueRenderers.forEach(renderer => {
55
+ var _a, _b;
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);
59
+ }
60
+ else if (utils.types.has(renderer, 'androidDeviceInfo')) {
61
+ (_b = (_d = renderer.androidDeviceInfo).version) !== null && _b !== void 0 ? _b : (_d.version = environment.platformVersion);
62
+ }
63
+ return renderer;
64
+ });
52
65
  if (settings.lazyLoad && environment.isWeb) {
53
66
  await (0, wait_for_lazy_load_1.waitForLazyLoad)({
54
67
  context: driver.currentContext,
@@ -69,6 +82,7 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
69
82
  },
70
83
  logger,
71
84
  });
85
+ transformedRenderers.push(...uniqueRenderers);
72
86
  screenshots.forEach(({ calculatedRegions, ...baseTarget }) => {
73
87
  baseTargets.push(baseTarget);
74
88
  baseSettings.push(getBaseCheckSettings({ calculatedRegions }));
@@ -82,17 +96,7 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
82
96
  });
83
97
  const screenshots = await nmlClient.takeScreenshots({
84
98
  settings: {
85
- renderers: uniqueRenderers.map(renderer => {
86
- var _a, _b;
87
- var _c, _d;
88
- if (utils.types.has(renderer, 'iosDeviceInfo')) {
89
- (_a = (_c = renderer.iosDeviceInfo).version) !== null && _a !== void 0 ? _a : (_c.version = environment.platformVersion);
90
- }
91
- else if (utils.types.has(renderer, 'androidDeviceInfo')) {
92
- (_b = (_d = renderer.androidDeviceInfo).version) !== null && _b !== void 0 ? _b : (_d.version = environment.platformVersion);
93
- }
94
- return renderer;
95
- }),
99
+ renderers: uniqueRenderers,
96
100
  fully: settings.fully,
97
101
  stitchMode: settings.stitchMode,
98
102
  hideScrollbars: settings.hideScrollbars,
@@ -105,18 +109,19 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
105
109
  },
106
110
  logger,
107
111
  });
108
- screenshots.forEach(({ calculatedRegions: _calculatedRegions, renderEnvironment, ...baseTarget }, index) => {
109
- uniqueRenderers[index] = { environment: renderEnvironment };
112
+ screenshots.forEach(({ calculatedRegions: _calculatedRegions, renderEnvironment, ...baseTarget }) => {
113
+ transformedRenderers.push({ environment: renderEnvironment });
110
114
  baseTargets.push({ ...baseTarget, isTransformed: true });
111
115
  baseSettings.push(getBaseCheckSettings({ calculatedRegions: [] }));
112
116
  });
113
117
  }
114
118
  }
115
119
  else {
120
+ transformedRenderers.push(...uniqueRenderers);
116
121
  baseTargets.push(target);
117
122
  baseSettings.push(settings);
118
123
  }
119
- const promises = uniqueRenderers.map(async (renderer, index) => {
124
+ const promises = transformedRenderers.map(async (renderer, index) => {
120
125
  const rendererLogger = logger.extend({ tags: [`renderer-${utils.general.shortid()}`] });
121
126
  try {
122
127
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
@@ -153,11 +158,11 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
153
158
  throw error;
154
159
  }
155
160
  });
156
- uniqueRenderers.forEach((renderer, index) => {
157
- const key = JSON.stringify(renderer);
161
+ transformedRenderers.forEach((renderer, index) => {
162
+ const key = (0, extract_renderer_key_1.extractRendererKey)(renderer);
158
163
  let item = eyes.storage.get(key);
159
164
  if (!item) {
160
- item = { renderer, eyes: null, jobs: [] };
165
+ item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };
161
166
  eyes.storage.set(key, item);
162
167
  }
163
168
  item.jobs.push(promises[index]);
@@ -24,18 +24,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeGetBaseEyes = void 0;
27
+ const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
27
28
  const utils = __importStar(require("@applitools/utils"));
28
29
  function makeGetBaseEyes({ settings: defaultSettings, eyes, logger: mainLogger, }) {
29
30
  const getBaseEyesWithCache = utils.general.wrap(getBaseEyes, (getBaseEyes, options) => {
30
- const key = JSON.stringify(options.settings.renderer);
31
+ const key = (0, extract_renderer_key_1.extractRendererKey)(options.settings.renderer);
31
32
  let item = eyes.storage.get(key);
32
33
  if (!item) {
33
- item = { renderer: options.settings.renderer, eyes: getBaseEyes(options), jobs: [] };
34
+ item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };
34
35
  eyes.storage.set(key, item);
35
36
  }
36
- else if (!item.eyes) {
37
- item.eyes = getBaseEyes(options);
38
- }
37
+ if (!item.eyes.settled)
38
+ item.eyes.resolve(getBaseEyes(options));
39
39
  return item.eyes;
40
40
  });
41
41
  return getBaseEyesWithCache;
@@ -49,6 +49,7 @@ function makeGetBaseEyes({ settings: defaultSettings, eyes, logger: mainLogger,
49
49
  else {
50
50
  // NOTE: ios and android handled by nml-client
51
51
  // TODO: chrome emulation, desktop
52
+ environment = { renderer: settings.renderer };
52
53
  }
53
54
  return eyes.core.base.openEyes({
54
55
  settings: {
@@ -33,6 +33,7 @@ const wait_for_lazy_load_1 = require("../automation/utils/wait-for-lazy-load");
33
33
  const to_base_check_settings_1 = require("../automation/utils/to-base-check-settings");
34
34
  const generate_safe_selectors_1 = require("./utils/generate-safe-selectors");
35
35
  const uniquify_renderers_1 = require("../automation/utils/uniquify-renderers");
36
+ const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
36
37
  const abort_error_1 = require("../errors/abort-error");
37
38
  const utils = __importStar(require("@applitools/utils"));
38
39
  const chalk_1 = __importDefault(require("chalk"));
@@ -264,10 +265,10 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
264
265
  }
265
266
  });
266
267
  uniqueRenderers.forEach((renderer, index) => {
267
- const key = JSON.stringify(renderer);
268
+ const key = (0, extract_renderer_key_1.extractRendererKey)(renderer);
268
269
  let item = eyes.storage.get(key);
269
270
  if (!item) {
270
- item = { renderer, eyes: null, jobs: [] };
271
+ item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };
271
272
  eyes.storage.set(key, item);
272
273
  }
273
274
  item.jobs.push(promises[index]);
package/dist/ufg/check.js CHANGED
@@ -33,6 +33,7 @@ const wait_for_lazy_load_1 = require("../automation/utils/wait-for-lazy-load");
33
33
  const to_base_check_settings_1 = require("../automation/utils/to-base-check-settings");
34
34
  const generate_safe_selectors_1 = require("./utils/generate-safe-selectors");
35
35
  const uniquify_renderers_1 = require("../automation/utils/uniquify-renderers");
36
+ const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
36
37
  const abort_error_1 = require("../errors/abort-error");
37
38
  const utils = __importStar(require("@applitools/utils"));
38
39
  const chalk_1 = __importDefault(require("chalk"));
@@ -266,10 +267,10 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
266
267
  }
267
268
  });
268
269
  uniqueRenderers.forEach((renderer, index) => {
269
- const key = JSON.stringify(renderer);
270
+ const key = (0, extract_renderer_key_1.extractRendererKey)(renderer);
270
271
  let item = eyes.storage.get(key);
271
272
  if (!item) {
272
- item = { renderer, eyes: null, jobs: [] };
273
+ item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };
273
274
  eyes.storage.set(key, item);
274
275
  }
275
276
  item.jobs.push(promises[index]);
@@ -30,12 +30,11 @@ function makeGetBaseEyes({ settings: defaultSettings, eyes, logger: mainLogger,
30
30
  const key = JSON.stringify(options.settings.renderer);
31
31
  let item = eyes.storage.get(key);
32
32
  if (!item) {
33
- item = { renderer: options.settings.renderer, eyes: getBaseEyes(options), jobs: [] };
33
+ item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };
34
34
  eyes.storage.set(key, item);
35
35
  }
36
- else if (!item.eyes) {
37
- item.eyes = getBaseEyes(options);
38
- }
36
+ if (!item.eyes.settled)
37
+ item.eyes.resolve(getBaseEyes(options));
39
38
  return item.eyes;
40
39
  });
41
40
  return getBaseEyesWithCache;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "3.10.0",
3
+ "version": "3.10.1",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -65,20 +65,20 @@
65
65
  "compress": "GZip"
66
66
  },
67
67
  "dependencies": {
68
- "@applitools/core-base": "1.5.2",
68
+ "@applitools/core-base": "1.5.3",
69
69
  "@applitools/dom-capture": "11.2.2",
70
70
  "@applitools/dom-snapshot": "4.7.10",
71
- "@applitools/driver": "1.13.6",
72
- "@applitools/ec-client": "1.7.6",
73
- "@applitools/logger": "2.0.9",
74
- "@applitools/nml-client": "1.5.9",
75
- "@applitools/req": "1.5.4",
76
- "@applitools/screenshoter": "3.8.9",
71
+ "@applitools/driver": "1.14.0",
72
+ "@applitools/ec-client": "1.7.7",
73
+ "@applitools/logger": "2.0.10",
74
+ "@applitools/nml-client": "1.5.10",
75
+ "@applitools/req": "1.6.0",
76
+ "@applitools/screenshoter": "3.8.10",
77
77
  "@applitools/snippets": "2.4.23",
78
- "@applitools/socket": "1.1.9",
79
- "@applitools/spec-driver-webdriver": "1.0.43",
80
- "@applitools/ufg-client": "1.7.2",
81
- "@applitools/utils": "1.5.2",
78
+ "@applitools/socket": "1.1.10",
79
+ "@applitools/spec-driver-webdriver": "1.0.44",
80
+ "@applitools/ufg-client": "1.8.0",
81
+ "@applitools/utils": "1.6.0",
82
82
  "@types/ws": "8.5.5",
83
83
  "abort-controller": "3.0.0",
84
84
  "chalk": "4.1.2",
@@ -89,11 +89,11 @@
89
89
  },
90
90
  "devDependencies": {
91
91
  "@applitools/bongo": "^5.6.1",
92
- "@applitools/spec-driver-puppeteer": "^1.1.74",
93
- "@applitools/spec-driver-selenium": "^1.5.57",
92
+ "@applitools/spec-driver-puppeteer": "^1.2.0",
93
+ "@applitools/spec-driver-selenium": "^1.5.58",
94
94
  "@applitools/test-server": "^1.2.2",
95
95
  "@applitools/test-utils": "^1.5.17",
96
- "@applitools/tunnel-client": "^1.2.1",
96
+ "@applitools/tunnel-client": "^1.2.2",
97
97
  "@types/node": "^12.20.55",
98
98
  "@types/selenium-webdriver": "^4.1.2",
99
99
  "@types/yargs": "^17.0.22",
@@ -1,4 +1,4 @@
1
- import type { MaybeArray, Size, Region } from '@applitools/utils';
1
+ import type { MaybeArray, Size, Region, ControlledPromise } from '@applitools/utils';
2
2
  import type * as BaseCore from '@applitools/core-base/types';
3
3
  import { type SpecType, type Driver, type ElementReference, type ContextReference } from '@applitools/driver';
4
4
  import { type NMLClient, type NMLClientSettings } from '@applitools/nml-client';
@@ -112,8 +112,7 @@ export interface Eyes<TSpec extends SpecType> extends BaseCore.Eyes {
112
112
  }): Promise<TestResult[]>;
113
113
  }
114
114
  export type EyesStorage = Map<string, {
115
- renderer?: Renderer;
116
- eyes: Promise<BaseCore.Eyes>;
115
+ eyes: ControlledPromise<BaseCore.Eyes>;
117
116
  jobs: Promise<void>[];
118
117
  }>;
119
118
  export interface GetBaseEyesSettings {
@@ -0,0 +1,2 @@
1
+ import type { Renderer } from '../types';
2
+ export declare function extractRendererKey(renderer: Renderer): string;
package/types/types.d.ts CHANGED
@@ -105,8 +105,8 @@ export interface ManagerSettings {
105
105
  }
106
106
  export type Config<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
107
107
  open: Partial<Omit<OpenSettings<TType>, 'userCommandId'>>;
108
- screenshot: Partial<Omit<ClassicCore.ScreenshotSettings<TSpec>, 'userCommandId'>>;
109
- check: Partial<Omit<CheckSettings<TSpec, TType>, keyof ClassicCore.ScreenshotSettings<TSpec> | 'userCommandId'>>;
108
+ screenshot: Partial<Omit<AutomationCore.ScreenshotSettings<TSpec>, 'userCommandId'>>;
109
+ check: Partial<Omit<CheckSettings<TSpec, TType>, 'userCommandId'>>;
110
110
  close: Partial<Omit<CloseSettings<TType>, 'userCommandId'>>;
111
111
  };
112
112
  export type OpenSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.OpenSettings : ClassicCore.OpenSettings;
@@ -17,5 +17,5 @@ type Options<TSpec extends SpecType> = {
17
17
  cwd?: string;
18
18
  logger?: Logger;
19
19
  };
20
- export declare function makeCore<TSpec extends SpecType>({ spec, clients, base, concurrency, fetchConcurrency, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
20
+ export declare function makeCore<TSpec extends SpecType = never>({ spec, clients, base, concurrency, fetchConcurrency, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
21
21
  export {};
@@ -1,7 +1,7 @@
1
1
  import type { Size } from '@applitools/utils';
2
2
  import { type Logger } from '@applitools/logger';
3
3
  import { type SpecType, type Driver } from '@applitools/driver';
4
- import { type DomSnapshot, type Renderer, type ChromeEmulationDevice, type IOSDevice, type ScreenOrientation } from '@applitools/ufg-client';
4
+ import { type DomSnapshot, type Renderer } from '@applitools/ufg-client';
5
5
  import { type DomSnapshotSettings } from './take-dom-snapshot';
6
6
  export * from './take-dom-snapshot';
7
7
  export type DomSnapshotsSettings = DomSnapshotSettings & {
@@ -20,8 +20,8 @@ export declare function takeDomSnapshots<TSpec extends SpecType>({ driver, setti
20
20
  beforeEachSnapshot?(): void | Promise<void>;
21
21
  };
22
22
  provides?: {
23
- getChromeEmulationDevices(): Promise<Record<ChromeEmulationDevice, Record<ScreenOrientation, Size>>>;
24
- getIOSDevices(): Promise<Record<IOSDevice, Record<ScreenOrientation, Size>>>;
23
+ getChromeEmulationDevices(): Promise<Record<string, Record<string, Size>>>;
24
+ getIOSDevices(): Promise<Record<string, Record<string, Size>>>;
25
25
  };
26
26
  logger: Logger;
27
27
  }): Promise<DomSnapshot[]>;