@applitools/core 2.3.14 → 2.4.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 +6 -0
  2. package/dist/automation/extract-text.js +2 -2
  3. package/dist/automation/locate-text.js +2 -2
  4. package/dist/automation/locate.js +6 -2
  5. package/dist/check-and-close.js +5 -6
  6. package/dist/check.js +10 -9
  7. package/dist/classic/core.js +14 -14
  8. package/dist/classic/get-base-eyes.js +5 -5
  9. package/dist/classic/open-eyes.js +7 -7
  10. package/dist/close-batch.js +1 -1
  11. package/dist/core.js +19 -19
  12. package/dist/delete-test.js +1 -1
  13. package/dist/extract-text.js +1 -1
  14. package/dist/{make-ec-client.js → get-ec-client.js} +7 -7
  15. package/dist/get-typed-eyes.js +5 -5
  16. package/dist/locate-text.js +1 -1
  17. package/dist/locate.js +1 -1
  18. package/dist/make-manager.js +3 -3
  19. package/dist/open-eyes.js +4 -9
  20. package/dist/ufg/check-and-close.js +9 -5
  21. package/dist/ufg/check.js +7 -3
  22. package/dist/ufg/core.js +46 -41
  23. package/dist/ufg/get-base-eyes.js +9 -6
  24. package/dist/ufg/get-nml-client.js +5 -5
  25. package/dist/ufg/get-ufg-client.js +6 -6
  26. package/dist/ufg/open-eyes.js +7 -15
  27. package/dist/universal/core-server.js +2 -1
  28. package/dist/universal/core.js +23 -18
  29. package/package.json +29 -30
  30. package/types/automation/extract-text.d.ts +3 -4
  31. package/types/automation/locate-text.d.ts +3 -4
  32. package/types/automation/locate.d.ts +3 -4
  33. package/types/automation/types.d.ts +11 -12
  34. package/types/classic/core.d.ts +2 -2
  35. package/types/classic/get-base-eyes.d.ts +9 -8
  36. package/types/classic/open-eyes.d.ts +5 -5
  37. package/types/classic/types.d.ts +7 -6
  38. package/types/close-batch.d.ts +2 -3
  39. package/types/core.d.ts +2 -2
  40. package/types/delete-test.d.ts +2 -3
  41. package/types/extract-text.d.ts +2 -3
  42. package/types/{make-ec-client.d.ts → get-ec-client.d.ts} +1 -3
  43. package/types/get-manager-results.d.ts +2 -3
  44. package/types/get-typed-eyes.d.ts +3 -6
  45. package/types/locate-text.d.ts +2 -3
  46. package/types/locate.d.ts +2 -3
  47. package/types/make-manager.d.ts +4 -3
  48. package/types/open-eyes.d.ts +3 -4
  49. package/types/types.d.ts +10 -9
  50. package/types/ufg/abort.d.ts +2 -2
  51. package/types/ufg/close.d.ts +2 -2
  52. package/types/ufg/core.d.ts +2 -2
  53. package/types/ufg/get-base-eyes.d.ts +10 -14
  54. package/types/ufg/get-nml-client.d.ts +2 -2
  55. package/types/ufg/get-results.d.ts +2 -2
  56. package/types/ufg/get-ufg-client.d.ts +3 -3
  57. package/types/ufg/open-eyes.d.ts +5 -11
  58. package/types/ufg/types.d.ts +18 -17
  59. package/types/universal/core.d.ts +6 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 2.4.0 - 2023/3/12
6
+
7
+ ### Features
8
+ ### Bug fixes
9
+ - Fixed ufg concurrency regression
10
+
5
11
  ## 2.3.14 - 2023/3/7
6
12
 
7
13
  ### Features
@@ -33,7 +33,7 @@ function makeExtractText({ core, spec, logger: defaultLogger }) {
33
33
  return async function extractText({ target, settings, logger = defaultLogger, }) {
34
34
  logger.log('Command "extractText" is called with settings', settings);
35
35
  if (!(0, driver_1.isDriver)(target, spec)) {
36
- return core.extractText({ target, settings: settings, logger });
36
+ return core.base.extractText({ target, settings: settings, logger });
37
37
  }
38
38
  settings = utils.types.isArray(settings) ? settings : [settings];
39
39
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
@@ -63,7 +63,7 @@ function makeExtractText({ core, spec, logger: defaultLogger }) {
63
63
  }
64
64
  delete settings.region;
65
65
  delete settings.normalization;
66
- const results = await core.extractText({
66
+ const results = await core.base.extractText({
67
67
  target: baseTarget,
68
68
  settings: settings,
69
69
  logger,
@@ -32,7 +32,7 @@ function makeLocateText({ core, spec, logger: defaultLogger }) {
32
32
  return async function locateText({ target, settings, logger = defaultLogger, }) {
33
33
  logger.log('Command "locateText" is called with settings', settings);
34
34
  if (!(0, driver_1.isDriver)(target, spec)) {
35
- return core.locateText({ target, settings: settings, logger });
35
+ return core.base.locateText({ target, settings: settings, logger });
36
36
  }
37
37
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
38
38
  const screenshot = await (0, take_screenshot_1.takeScreenshot)({ driver, settings, logger });
@@ -45,7 +45,7 @@ function makeLocateText({ core, spec, logger: defaultLogger }) {
45
45
  // else await screenshot.element?.setAttribute('data-applitools-scroll', 'true')
46
46
  // baseTarget.dom = await takeDomCapture({driver, logger}).catch(() => null)
47
47
  }
48
- const results = await core.locateText({
48
+ const results = await core.base.locateText({
49
49
  target: baseTarget,
50
50
  settings: settings,
51
51
  logger,
@@ -7,12 +7,16 @@ function makeLocate({ spec, core, logger: defaultLogger }) {
7
7
  return async function locate({ settings, target, logger = defaultLogger, }) {
8
8
  logger.log(`Command "locate" is called with settings`, settings);
9
9
  if (!(0, driver_1.isDriver)(target, spec)) {
10
- return core.locate({ target, settings: settings, logger });
10
+ return core.base.locate({ target, settings: settings, logger });
11
11
  }
12
12
  const driver = await (0, driver_1.makeDriver)({ driver: target, spec, logger });
13
13
  const screenshot = await (0, take_screenshot_1.takeScreenshot)({ driver, settings, logger });
14
14
  const baseTarget = { image: await screenshot.image.toPng() };
15
- const results = await core.locate({ target: baseTarget, settings: settings, logger });
15
+ const results = await core.base.locate({
16
+ target: baseTarget,
17
+ settings: settings,
18
+ logger,
19
+ });
16
20
  return results;
17
21
  };
18
22
  }
@@ -4,16 +4,15 @@ exports.makeCheckAndClose = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
5
  function makeCheckAndClose({ type: defaultType = 'classic', eyes, target: defaultTarget, spec, logger: defaultLogger, }) {
6
6
  return async function checkAndClose({ type = defaultType, target = defaultTarget, settings = {}, config, logger = defaultLogger, } = {}) {
7
+ var _a;
7
8
  settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...config === null || config === void 0 ? void 0 : config.check, ...config === null || config === void 0 ? void 0 : config.close, ...settings };
8
9
  const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
9
10
  const typedEyes = await eyes.getTypedEyes({
10
11
  type,
11
- settings: driver
12
- ? {
13
- type: driver.isNative ? 'native' : 'web',
14
- renderers: settings.renderers,
15
- }
16
- : undefined,
12
+ settings: (_a = settings.renderers) === null || _a === void 0 ? void 0 : _a.map(renderer => ({
13
+ type: (driver === null || driver === void 0 ? void 0 : driver.isNative) ? 'native' : 'web',
14
+ renderer,
15
+ })),
17
16
  logger,
18
17
  });
19
18
  const results = await typedEyes.checkAndClose({ target: driver !== null && driver !== void 0 ? driver : target, settings, logger });
package/dist/check.js CHANGED
@@ -33,8 +33,8 @@ const chalk_1 = __importDefault(require("chalk"));
33
33
  function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget, spec, logger: defaultLogger, }) {
34
34
  let stepIndex = 0;
35
35
  return async function check({ type = defaultType, target = defaultTarget, settings, config, logger = defaultLogger, } = {}) {
36
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
37
- var _r, _s, _t, _u;
36
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
37
+ var _s, _t, _u, _v;
38
38
  settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...config === null || config === void 0 ? void 0 : config.check, ...settings };
39
39
  (_a = settings.fully) !== null && _a !== void 0 ? _a : (settings.fully = !settings.region && (!settings.frames || settings.frames.length === 0));
40
40
  (_b = settings.waitBeforeCapture) !== null && _b !== void 0 ? _b : (settings.waitBeforeCapture = 100);
@@ -47,12 +47,12 @@ function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget,
47
47
  (_h = settings.sendDom) !== null && _h !== void 0 ? _h : (settings.sendDom = eyes.test.account.rcaEnabled || settings.matchLevel === 'Layout' || settings.enablePatterns || settings.useDom);
48
48
  (_j = settings.autProxy) !== null && _j !== void 0 ? _j : (settings.autProxy = eyes.test.server.proxy);
49
49
  (_k = settings.useDom) !== null && _k !== void 0 ? _k : (settings.useDom = false);
50
- (_l = (_r = settings).retryTimeout) !== null && _l !== void 0 ? _l : (_r.retryTimeout = 2000);
50
+ (_l = (_s = settings).retryTimeout) !== null && _l !== void 0 ? _l : (_s.retryTimeout = 2000);
51
51
  settings.lazyLoad = settings.lazyLoad === true ? {} : settings.lazyLoad;
52
52
  if (settings.lazyLoad) {
53
- (_m = (_s = settings.lazyLoad).scrollLength) !== null && _m !== void 0 ? _m : (_s.scrollLength = 300);
54
- (_o = (_t = settings.lazyLoad).waitingTime) !== null && _o !== void 0 ? _o : (_t.waitingTime = 2000);
55
- (_p = (_u = settings.lazyLoad).maxAmountToScroll) !== null && _p !== void 0 ? _p : (_u.maxAmountToScroll = 15000);
53
+ (_m = (_t = settings.lazyLoad).scrollLength) !== null && _m !== void 0 ? _m : (_t.scrollLength = 300);
54
+ (_o = (_u = settings.lazyLoad).waitingTime) !== null && _o !== void 0 ? _o : (_u.waitingTime = 2000);
55
+ (_p = (_v = settings.lazyLoad).maxAmountToScroll) !== null && _p !== void 0 ? _p : (_v.maxAmountToScroll = 15000);
56
56
  }
57
57
  settings.stepIndex = stepIndex++;
58
58
  (_q = settings.waitBetweenStitches) !== null && _q !== void 0 ? _q : (settings.waitBetweenStitches = utils.types.isObject(settings.lazyLoad) ? settings.lazyLoad.waitingTime : 100);
@@ -62,9 +62,10 @@ function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget,
62
62
  const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
63
63
  const typedEyes = await eyes.getTypedEyes({
64
64
  type,
65
- settings: driver
66
- ? { type: driver.isNative ? 'native' : 'web', renderers: settings.renderers }
67
- : undefined,
65
+ settings: (_r = settings.renderers) === null || _r === void 0 ? void 0 : _r.map(renderer => ({
66
+ type: (driver === null || driver === void 0 ? void 0 : driver.isNative) ? 'native' : 'web',
67
+ renderer,
68
+ })),
68
69
  logger,
69
70
  });
70
71
  const results = await typedEyes.check({ target: driver !== null && driver !== void 0 ? driver : target, settings, logger });
@@ -33,22 +33,22 @@ const locate_text_1 = require("../automation/locate-text");
33
33
  const extract_text_1 = require("../automation/extract-text");
34
34
  const open_eyes_1 = require("./open-eyes");
35
35
  const utils = __importStar(require("@applitools/utils"));
36
- function makeCore({ spec, core, agentId = 'core-classic', cwd = process.cwd(), logger: defaultLogger, }) {
36
+ function makeCore({ spec, base, agentId = 'core-classic', cwd = process.cwd(), logger: defaultLogger, }) {
37
37
  var _a;
38
38
  const logger = (_a = defaultLogger === null || defaultLogger === void 0 ? void 0 : defaultLogger.extend({ label: 'core-classic' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'core-classic' });
39
- logger.log(`Core classic is initialized ${core ? 'with' : 'without'} custom base core`);
40
- core !== null && core !== void 0 ? core : (core = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
41
- return utils.general.extend(core, {
42
- type: 'classic',
43
- isDriver: spec && spec.isDriver,
44
- isElement: spec && spec.isElement,
45
- isSelector: spec && spec.isSelector,
46
- getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
47
- setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
48
- locate: (0, locate_1.makeLocate)({ spec, core, logger }),
49
- locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
50
- extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
51
- openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, logger }),
39
+ logger.log(`Core classic is initialized ${base ? 'with' : 'without'} custom base core`);
40
+ base !== null && base !== void 0 ? base : (base = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
41
+ return utils.general.extend(base, core => {
42
+ return {
43
+ type: 'classic',
44
+ base: base,
45
+ getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
46
+ setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
47
+ locate: (0, locate_1.makeLocate)({ spec, core, logger }),
48
+ locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
49
+ extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
50
+ openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, logger }),
51
+ };
52
52
  });
53
53
  }
54
54
  exports.makeCore = makeCore;
@@ -25,15 +25,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeGetBaseEyes = void 0;
27
27
  const utils = __importStar(require("@applitools/utils"));
28
- function makeGetBaseEyes({ settings, core, eyes, logger: defaultLogger }) {
28
+ function makeGetBaseEyes({ settings, eyes, base, logger: defaultLogger }) {
29
29
  const getBaseEyesWithCache = utils.general.cachify(getBaseEyes, () => 'default');
30
- if (eyes)
31
- getBaseEyesWithCache.setCachedValue('default', Promise.resolve(eyes));
30
+ if (base)
31
+ getBaseEyesWithCache.setCachedValue('default', Promise.resolve(base));
32
32
  return getBaseEyesWithCache;
33
33
  async function getBaseEyes({ logger = defaultLogger } = {}) {
34
34
  logger.log(`Command "getBaseEyes" is called with settings`, settings);
35
- const eyes = await core.openEyes({ settings, logger });
36
- return [eyes];
35
+ const baseEyes = await eyes.core.base.openEyes({ settings, logger });
36
+ return [baseEyes];
37
37
  }
38
38
  }
39
39
  exports.makeGetBaseEyes = makeGetBaseEyes;
@@ -32,12 +32,12 @@ const close_1 = require("./close");
32
32
  const abort_1 = require("./abort");
33
33
  const utils = __importStar(require("@applitools/utils"));
34
34
  function makeOpenEyes({ core, spec, logger: defaultLogger }) {
35
- return async function openEyes({ target, settings, eyes, logger = defaultLogger, }) {
35
+ return async function openEyes({ target, settings, base, logger = defaultLogger, }) {
36
36
  var _a, _b, _c, _d, _e;
37
37
  var _f;
38
- logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), eyes ? 'predefined eyes' : '');
38
+ logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), base ? 'predefined eyes' : '');
39
39
  const driver = target && (await (0, driver_1.makeDriver)({ spec, driver: target, logger, customConfig: settings }));
40
- if (driver && !eyes) {
40
+ if (driver && !base) {
41
41
  const currentContext = driver.currentContext;
42
42
  (_a = settings.environment) !== null && _a !== void 0 ? _a : (settings.environment = {});
43
43
  if (driver.isEC) {
@@ -79,11 +79,11 @@ function makeOpenEyes({ core, spec, logger: defaultLogger }) {
79
79
  }
80
80
  await currentContext.focus();
81
81
  }
82
- const getBaseEyes = (0, get_base_eyes_1.makeGetBaseEyes)({ settings, core, eyes, logger });
83
- const [baseEyes] = await getBaseEyes();
84
- return utils.general.extend(baseEyes, eyes => ({
82
+ base !== null && base !== void 0 ? base : (base = [await core.base.openEyes({ settings, logger })]);
83
+ return utils.general.extend(base[0], eyes => ({
85
84
  type: 'classic',
86
- getBaseEyes,
85
+ core,
86
+ getBaseEyes: (0, get_base_eyes_1.makeGetBaseEyes)({ settings, eyes, base, logger }),
87
87
  check: (0, check_1.makeCheck)({ eyes, target: driver, spec, logger }),
88
88
  checkAndClose: (0, check_and_close_1.makeCheckAndClose)({ eyes, target: driver, spec, logger }),
89
89
  close: (0, close_1.makeClose)({ eyes, target: driver, spec, logger }),
@@ -33,7 +33,7 @@ function makeCloseBatch({ core, logger: defaultLogger }) {
33
33
  (_a = settings.serverUrl) !== null && _a !== void 0 ? _a : (settings.serverUrl = (_b = utils.general.getEnvValue('SERVER_URL')) !== null && _b !== void 0 ? _b : 'https://eyesapi.applitools.com');
34
34
  (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
35
35
  });
36
- await core.closeBatch({ settings, logger });
36
+ await core.base.closeBatch({ settings, logger });
37
37
  };
38
38
  }
39
39
  exports.makeCloseBatch = makeCloseBatch;
package/dist/core.js CHANGED
@@ -35,27 +35,27 @@ const open_eyes_1 = require("./open-eyes");
35
35
  const make_manager_1 = require("./make-manager");
36
36
  const close_batch_1 = require("./close-batch");
37
37
  const delete_test_1 = require("./delete-test");
38
- const make_ec_client_1 = require("./make-ec-client");
38
+ const get_ec_client_1 = require("./get-ec-client");
39
39
  const utils = __importStar(require("@applitools/utils"));
40
- function makeCore({ spec, concurrency, core: defaultCore, agentId = 'core', cwd = process.cwd(), logger, } = {}) {
40
+ function makeCore({ spec, concurrency, base: defaultBase, agentId = 'core', cwd = process.cwd(), logger: defaultLogger, } = {}) {
41
41
  var _a;
42
- logger = (_a = logger === null || logger === void 0 ? void 0 : logger.extend({ label: 'core' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'core' });
43
- logger.log(`Core is initialized ${defaultCore ? 'with' : 'without'} custom base core`);
44
- const core = defaultCore !== null && defaultCore !== void 0 ? defaultCore : (0, core_base_1.makeCore)({ agentId, cwd, logger });
45
- return utils.general.extend(core, {
46
- isDriver: spec && spec.isDriver,
47
- isElement: spec && spec.isElement,
48
- isSelector: spec && spec.isSelector,
49
- getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
50
- setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
51
- locate: (0, locate_1.makeLocate)({ spec, core, logger }),
52
- locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
53
- extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
54
- openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, concurrency, logger }),
55
- makeManager: (0, make_manager_1.makeMakeManager)({ spec, core: defaultCore, concurrency, agentId, logger }),
56
- closeBatch: (0, close_batch_1.makeCloseBatch)({ core, logger }),
57
- deleteTest: (0, delete_test_1.makeDeleteTest)({ core, logger }),
58
- makeECClient: (0, make_ec_client_1.makeMakeECClient)({ core, logger }),
42
+ const logger = (_a = defaultLogger === null || defaultLogger === void 0 ? void 0 : defaultLogger.extend({ label: 'core' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'core' });
43
+ logger.log(`Core is initialized ${defaultBase ? 'with' : 'without'} custom base core`);
44
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, cwd, logger });
45
+ return utils.general.extend(base, core => {
46
+ return {
47
+ base: base,
48
+ getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
49
+ setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
50
+ getECClient: (0, get_ec_client_1.makeGetECClient)({ logger }),
51
+ makeManager: (0, make_manager_1.makeMakeManager)({ spec, concurrency, core, base: defaultBase, agentId, logger }),
52
+ locate: (0, locate_1.makeLocate)({ spec, core, logger }),
53
+ locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
54
+ extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
55
+ openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, concurrency, logger }),
56
+ closeBatch: (0, close_batch_1.makeCloseBatch)({ core, logger }),
57
+ deleteTest: (0, delete_test_1.makeDeleteTest)({ core, logger }),
58
+ };
59
59
  });
60
60
  }
61
61
  exports.makeCore = makeCore;
@@ -33,7 +33,7 @@ function makeDeleteTest({ core, logger: defaultLogger }) {
33
33
  (_a = settings.serverUrl) !== null && _a !== void 0 ? _a : (settings.serverUrl = (_b = utils.general.getEnvValue('SERVER_URL')) !== null && _b !== void 0 ? _b : 'https://eyesapi.applitools.com');
34
34
  (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
35
35
  });
36
- await core.deleteTest({ settings, logger });
36
+ await core.base.deleteTest({ settings, logger });
37
37
  };
38
38
  }
39
39
  exports.makeDeleteTest = makeDeleteTest;
@@ -36,7 +36,7 @@ function makeExtractText({ spec, core, logger: defaultLogger }) {
36
36
  (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
37
37
  return settings;
38
38
  });
39
- const classicCore = (0, core_1.makeCore)({ spec, core, logger });
39
+ const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
40
40
  const results = await classicCore.extractText({ target, settings, logger });
41
41
  return results;
42
42
  };
@@ -23,14 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.makeMakeECClient = void 0;
26
+ exports.makeGetECClient = void 0;
27
+ const ec_client_1 = require("@applitools/ec-client");
27
28
  const utils = __importStar(require("@applitools/utils"));
28
- function makeMakeECClient({ logger: defaultLogger }) {
29
- return utils.general.cachify(makeECClient, ([options]) => options === null || options === void 0 ? void 0 : options.settings);
30
- async function makeECClient({ settings, logger = defaultLogger, } = {}) {
31
- const { makeECClient } = require('@applitools/ec-client');
32
- const client = await makeECClient({ settings, logger });
29
+ function makeGetECClient({ logger: defaultLogger }) {
30
+ return utils.general.cachify(getECClient, ([options]) => [options === null || options === void 0 ? void 0 : options.settings]);
31
+ async function getECClient({ settings, logger = defaultLogger, } = {}) {
32
+ const client = await (0, ec_client_1.makeECClient)({ settings, logger });
33
33
  return client;
34
34
  }
35
35
  }
36
- exports.makeMakeECClient = makeMakeECClient;
36
+ exports.makeGetECClient = makeGetECClient;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeGetTypedEyes = void 0;
4
4
  function makeGetTypedEyes({ type: defaultType, settings: defaultSettings, target, cores, logger: defaultLogger, }) {
5
5
  let eyes;
6
- return async function getTypesEyes({ type = defaultType, settings, logger = defaultLogger, } = {}) {
6
+ return async function getTypedEyes({ type = defaultType, settings, logger = defaultLogger, } = {}) {
7
7
  if (!eyes) {
8
8
  eyes = await cores[type].openEyes({ target, settings: defaultSettings, logger });
9
9
  return eyes;
@@ -12,13 +12,13 @@ function makeGetTypedEyes({ type: defaultType, settings: defaultSettings, target
12
12
  return eyes;
13
13
  }
14
14
  else if (type === 'ufg') {
15
- const baseEyes = await eyes.getBaseEyes();
16
- const typedEyes = await cores.ufg.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
15
+ const base = await eyes.getBaseEyes({ logger });
16
+ const typedEyes = await cores.ufg.openEyes({ target, settings: defaultSettings, base, logger });
17
17
  return typedEyes;
18
18
  }
19
19
  else {
20
- const baseEyes = (await Promise.all(settings.renderers.map(renderer => eyes.getBaseEyes({ settings: { type: settings.type, renderer } })))).flat();
21
- const typedEyes = await cores.classic.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
20
+ const base = (await Promise.all(settings.map(settings => eyes.getBaseEyes({ settings, logger })))).flat();
21
+ const typedEyes = await cores.classic.openEyes({ target, settings: defaultSettings, base, logger });
22
22
  return typedEyes;
23
23
  }
24
24
  };
@@ -32,7 +32,7 @@ function makeLocateText({ spec, core, logger: defaultLogger }) {
32
32
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
33
33
  (_a = settings.serverUrl) !== null && _a !== void 0 ? _a : (settings.serverUrl = (_b = utils.general.getEnvValue('SERVER_URL')) !== null && _b !== void 0 ? _b : 'https://eyesapi.applitools.com');
34
34
  (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
35
- const classicCore = (0, core_1.makeCore)({ spec, core, logger });
35
+ const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
36
36
  const results = await classicCore.locateText({ target, settings, logger });
37
37
  return results;
38
38
  };
package/dist/locate.js CHANGED
@@ -32,7 +32,7 @@ function makeLocate({ spec, core, logger: defaultLogger }) {
32
32
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
33
33
  (_a = settings.serverUrl) !== null && _a !== void 0 ? _a : (settings.serverUrl = (_b = utils.general.getEnvValue('SERVER_URL')) !== null && _b !== void 0 ? _b : 'https://eyesapi.applitools.com');
34
34
  (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
35
- const classicCore = (0, core_1.makeCore)({ spec, core, logger });
35
+ const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
36
36
  const results = await classicCore.locate({ target, settings, logger });
37
37
  return results;
38
38
  };
@@ -30,14 +30,14 @@ const core_2 = require("./ufg/core");
30
30
  const open_eyes_1 = require("./open-eyes");
31
31
  const get_manager_results_1 = require("./get-manager-results");
32
32
  const utils = __importStar(require("@applitools/utils"));
33
- function makeMakeManager({ spec, core, concurrency: defaultConcurrency = utils.general.getEnvValue('CONCURRENCY', 'number'), agentId: defaultAgentId, cwd = process.cwd(), logger: defaultLogger, }) {
33
+ function makeMakeManager({ spec, concurrency: defaultConcurrency = utils.general.getEnvValue('CONCURRENCY', 'number'), core, base, agentId: defaultAgentId, cwd = process.cwd(), logger: defaultLogger, }) {
34
34
  return async function makeManager({ type = 'classic', concurrency = defaultConcurrency, legacyConcurrency, batch, agentId = type === 'ufg' ? defaultAgentId === null || defaultAgentId === void 0 ? void 0 : defaultAgentId.replace(/(\/\d)/, '.visualgrid$1') : defaultAgentId, logger = defaultLogger, } = {}) {
35
35
  var _a, _b;
36
36
  concurrency !== null && concurrency !== void 0 ? concurrency : (concurrency = utils.types.isInteger(legacyConcurrency) ? legacyConcurrency * 5 : 5);
37
37
  batch !== null && batch !== void 0 ? batch : (batch = {});
38
38
  (_a = batch.id) !== null && _a !== void 0 ? _a : (batch.id = (_b = utils.general.getEnvValue('BATCH_ID')) !== null && _b !== void 0 ? _b : `generated-${utils.general.guid()}`);
39
- core !== null && core !== void 0 ? core : (core = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
40
- const cores = { ufg: (0, core_2.makeCore)({ spec, core, concurrency, logger }), classic: (0, core_1.makeCore)({ spec, core, logger }) };
39
+ base !== null && base !== void 0 ? base : (base = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
40
+ const cores = { ufg: (0, core_2.makeCore)({ spec, base, concurrency, logger }), classic: (0, core_1.makeCore)({ spec, base, logger }) };
41
41
  const storage = [];
42
42
  return {
43
43
  openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, batch, spec, core, cores, logger }), async (openEyes, options) => {
package/dist/open-eyes.js CHANGED
@@ -53,14 +53,9 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
53
53
  (_o = settings.baselineBranchName) !== null && _o !== void 0 ? _o : (settings.baselineBranchName = utils.general.getEnvValue('BASELINE_BRANCH'));
54
54
  (_p = settings.ignoreBaseline) !== null && _p !== void 0 ? _p : (settings.ignoreBaseline = false);
55
55
  (_q = settings.compareWithParentBranch) !== null && _q !== void 0 ? _q : (settings.compareWithParentBranch = false);
56
- if (type === 'ufg') {
57
- const ufgSettings = settings;
58
- const ufgConfig = config;
59
- (_r = ufgSettings.renderConcurrency) !== null && _r !== void 0 ? _r : (ufgSettings.renderConcurrency = (_t = (_s = ufgConfig === null || ufgConfig === void 0 ? void 0 : ufgConfig.check) === null || _s === void 0 ? void 0 : _s.renderers) === null || _t === void 0 ? void 0 : _t.length);
60
- }
61
56
  const driver = target && (await (0, driver_1.makeDriver)({ spec, driver: target, logger, customConfig: settings }));
62
57
  if (driver === null || driver === void 0 ? void 0 : driver.isEC) {
63
- (_u = settings.properties) !== null && _u !== void 0 ? _u : (settings.properties = []);
58
+ (_r = settings.properties) !== null && _r !== void 0 ? _r : (settings.properties = []);
64
59
  settings.properties.push({ name: 'Running platform', value: 'Execution cloud' });
65
60
  }
66
61
  core.logEvent({
@@ -73,7 +68,7 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
73
68
  event: {
74
69
  type: 'runnerStarted',
75
70
  testConcurrency: concurrency,
76
- concurrentRendersPerTest: settings.renderConcurrency,
71
+ concurrentRendersPerTest: (_u = (_t = (_s = config === null || config === void 0 ? void 0 : config.check) === null || _s === void 0 ? void 0 : _s.renderers) === null || _t === void 0 ? void 0 : _t.length) !== null && _u !== void 0 ? _u : 1,
77
72
  node: { version: process.version, platform: process.platform, arch: process.arch },
78
73
  driverUrl: driver === null || driver === void 0 ? void 0 : driver.remoteHostname,
79
74
  extractedCIProvider: (0, extract_ci_provider_1.extractCIProvider)(),
@@ -86,8 +81,8 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
86
81
  settings: settings,
87
82
  target: driver,
88
83
  cores: cores !== null && cores !== void 0 ? cores : {
89
- ufg: (0, core_2.makeCore)({ spec, core, concurrency: concurrency !== null && concurrency !== void 0 ? concurrency : 5, logger }),
90
- classic: (0, core_1.makeCore)({ spec, core, logger }),
84
+ ufg: (0, core_2.makeCore)({ spec, base: core.base, concurrency: concurrency !== null && concurrency !== void 0 ? concurrency : 5, logger }),
85
+ classic: (0, core_1.makeCore)({ spec, base: core.base, logger }),
91
86
  },
92
87
  logger,
93
88
  });
@@ -45,10 +45,15 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
45
45
  logger.warn('Command "checkAndClose" was called after test was already aborted');
46
46
  throw new abort_error_1.AbortError('Command "checkAndClose" was called after test was already aborted');
47
47
  }
48
- const ufgClient = await eyes.getUFGClient({ logger });
49
48
  const { elementReferencesToCalculate, elementReferenceToTarget, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({
50
49
  settings,
51
50
  });
51
+ const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : []);
52
+ const ufgClient = await eyes.core.getUFGClient({
53
+ config: { ...eyes.test.account, ...eyes.test.account.ufg, proxy: eyes.test.server.proxy },
54
+ concurrency: uniqueRenderers.length,
55
+ logger,
56
+ });
52
57
  let snapshots;
53
58
  let snapshotUrl;
54
59
  let snapshotTitle;
@@ -56,9 +61,8 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
56
61
  let regionToTarget;
57
62
  let scrollRootSelector;
58
63
  let selectorsToCalculate;
59
- const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : []);
60
- if ((0, driver_1.isDriver)(target, spec)) {
61
- const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
64
+ const driver = spec && (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
65
+ if (driver) {
62
66
  if (uniqueRenderers.length === 0) {
63
67
  if (driver.isWeb) {
64
68
  const viewportSize = await driver.getViewportSize();
@@ -130,7 +134,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
130
134
  snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({ driver, ...snapshotOptions, logger });
131
135
  }
132
136
  else {
133
- const nmlClient = await eyes.getNMLClient({ driver, logger });
137
+ const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.server, driver, logger });
134
138
  if (nmlClient) {
135
139
  snapshots = (await nmlClient.takeSnapshots({ ...snapshotOptions, logger }));
136
140
  }
package/dist/ufg/check.js CHANGED
@@ -45,10 +45,15 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: defaultL
45
45
  logger.warn('Command "check" was called after test was already aborted');
46
46
  throw new abort_error_1.AbortError('Command "check" was called after test was already aborted');
47
47
  }
48
- const ufgClient = await eyes.getUFGClient({ logger });
49
48
  const { elementReferencesToCalculate, elementReferenceToTarget, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({
50
49
  settings,
51
50
  });
51
+ const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : []);
52
+ const ufgClient = await eyes.core.getUFGClient({
53
+ config: { ...eyes.test.account, ...eyes.test.account.ufg, proxy: eyes.test.server.proxy },
54
+ concurrency: uniqueRenderers.length || 5,
55
+ logger,
56
+ });
52
57
  let snapshots;
53
58
  let snapshotUrl;
54
59
  let snapshotTitle;
@@ -56,7 +61,6 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: defaultL
56
61
  let regionToTarget;
57
62
  let scrollRootSelector;
58
63
  let selectorsToCalculate;
59
- const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : []);
60
64
  const driver = spec && (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
61
65
  if (driver) {
62
66
  await driver.currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
@@ -131,7 +135,7 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: defaultL
131
135
  snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({ driver, ...snapshotOptions, logger });
132
136
  }
133
137
  else {
134
- const nmlClient = await eyes.getNMLClient({ driver, logger });
138
+ const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.server, driver, logger });
135
139
  if (nmlClient) {
136
140
  snapshots = (await nmlClient.takeSnapshots({ ...snapshotOptions, logger }));
137
141
  }