@applitools/core 2.5.2 → 2.5.3-legacy

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 (190) hide show
  1. package/dist/abort.js +40 -0
  2. package/dist/automation/abort.js +47 -0
  3. package/dist/automation/close.js +52 -0
  4. package/dist/automation/extract-text.js +3 -2
  5. package/dist/automation/get-nml-client.js +36 -0
  6. package/dist/automation/get-results.js +21 -0
  7. package/dist/automation/get-viewport-size.js +3 -2
  8. package/dist/automation/locate-text.js +3 -2
  9. package/dist/automation/locate.js +3 -2
  10. package/dist/automation/set-viewport-size.js +3 -2
  11. package/dist/automation/types.js +0 -15
  12. package/dist/automation/utils/report-kobiton.js +21 -0
  13. package/dist/automation/utils/take-screenshot.js +4 -2
  14. package/dist/automation/utils/to-base-check-settings.js +69 -7
  15. package/dist/automation/utils/to-environment-key.js +31 -0
  16. package/dist/automation/utils/uniquify-environments.js +27 -0
  17. package/dist/automation/utils/wait-for-lazy-load.js +9 -8
  18. package/dist/autonomous/core.js +25 -0
  19. package/dist/autonomous/create-render-results.js +49 -0
  20. package/dist/autonomous/create-render-target.js +19 -0
  21. package/dist/autonomous/get-render-results.js +55 -0
  22. package/dist/autonomous/open-eyes.js +13 -0
  23. package/dist/autonomous/start-renders.js +67 -0
  24. package/dist/autonomous/take-snapshots.js +16 -0
  25. package/dist/autonomous/types.js +17 -0
  26. package/dist/check-and-close.js +32 -15
  27. package/dist/check.js +33 -30
  28. package/dist/classic/check-and-close.js +189 -46
  29. package/dist/classic/check.js +319 -60
  30. package/dist/classic/core.js +6 -5
  31. package/dist/classic/get-base-eyes.js +27 -7
  32. package/dist/classic/open-eyes.js +47 -57
  33. package/dist/classic/utils/extract-default-environments.js +73 -0
  34. package/dist/classic/utils/take-dom-capture.js +2 -1
  35. package/dist/classic/utils/take-screenshots.js +63 -0
  36. package/dist/cli/cli.js +99 -3
  37. package/dist/close-batch.js +8 -7
  38. package/dist/close.js +32 -4
  39. package/dist/core.js +43 -9
  40. package/dist/delete-test.js +9 -7
  41. package/dist/extract-text.js +9 -5
  42. package/dist/get-account-info.js +36 -0
  43. package/dist/get-ec-client.js +3 -2
  44. package/dist/get-eyes-results.js +29 -3
  45. package/dist/get-manager-results.js +52 -18
  46. package/dist/get-typed-eyes.js +5 -6
  47. package/dist/index.js +3 -3
  48. package/dist/lang.js +31 -0
  49. package/dist/locate-text.js +7 -5
  50. package/dist/locate.js +7 -5
  51. package/dist/make-manager.js +34 -11
  52. package/dist/offline/merge-configs.js +42 -0
  53. package/dist/offline/run-offline-snapshots.js +341 -0
  54. package/dist/open-eyes.js +192 -48
  55. package/dist/run-offline-snapshots.js +336 -0
  56. package/dist/troubleshoot/check-network.js +5 -1
  57. package/dist/troubleshoot/eyes.js +3 -3
  58. package/dist/troubleshoot/logs.js +76 -0
  59. package/dist/troubleshoot/ufg.js +23 -16
  60. package/dist/ufg/check-and-close.js +109 -174
  61. package/dist/ufg/check.js +111 -178
  62. package/dist/ufg/core.js +10 -8
  63. package/dist/ufg/create-render-target-from-snapshot.js +21 -0
  64. package/dist/ufg/get-base-eyes.js +40 -12
  65. package/dist/ufg/get-ufg-client.js +13 -4
  66. package/dist/ufg/open-eyes.js +33 -57
  67. package/dist/ufg/take-snapshots.js +92 -0
  68. package/dist/ufg/utils/extract-default-environment.js +22 -0
  69. package/dist/ufg/utils/generate-safe-selectors.js +9 -32
  70. package/dist/ufg/utils/take-dom-snapshot.js +61 -26
  71. package/dist/ufg/utils/take-dom-snapshots.js +99 -68
  72. package/dist/ufg/utils/to-generated-selectors.js +67 -0
  73. package/dist/ufg/utils/to-safe-check-settings.js +69 -0
  74. package/dist/universal/core-server.js +53 -22
  75. package/dist/universal/core.js +23 -6
  76. package/dist/universal/history.js +9 -0
  77. package/dist/universal/spec-driver.js +46 -50
  78. package/dist/{ufg/get-nml-client.js → utils/ensure-offline-folder.js} +14 -13
  79. package/dist/utils/extract-branching-timestamp.js +56 -0
  80. package/dist/utils/extract-current-commit.js +72 -0
  81. package/dist/utils/extract-git-info.js +168 -0
  82. package/dist/utils/extract-start-info.js +100 -0
  83. package/dist/utils/extract-test-environment.js +70 -0
  84. package/dist/utils/memory-usage-logging.js +46 -0
  85. package/dist/utils/populate-eyes-server-settings.js +41 -0
  86. package/dist/utils/validate-sdk-version.js +89 -0
  87. package/package.json +3 -3
  88. package/types/abort.d.ts +13 -0
  89. package/types/automation/abort.d.ts +16 -0
  90. package/types/automation/close.d.ts +14 -0
  91. package/types/automation/extract-text.d.ts +1 -1
  92. package/types/automation/get-nml-client.d.ts +16 -0
  93. package/types/automation/get-results.d.ts +11 -0
  94. package/types/automation/get-viewport-size.d.ts +1 -1
  95. package/types/automation/locate-text.d.ts +1 -1
  96. package/types/automation/locate.d.ts +1 -1
  97. package/types/automation/set-viewport-size.d.ts +1 -1
  98. package/types/automation/types.d.ts +107 -16
  99. package/types/automation/utils/report-kobiton.d.ts +12 -0
  100. package/types/automation/utils/take-screenshot.d.ts +5 -2
  101. package/types/automation/utils/to-base-check-settings.d.ts +13 -3
  102. package/types/automation/utils/to-environment-key.d.ts +2 -0
  103. package/types/automation/utils/uniquify-environments.d.ts +2 -0
  104. package/types/automation/utils/wait-for-lazy-load.d.ts +4 -8
  105. package/types/autonomous/core.d.ts +19 -0
  106. package/types/autonomous/create-render-results.d.ts +10 -0
  107. package/types/autonomous/create-render-target.d.ts +12 -0
  108. package/types/autonomous/get-render-results.d.ts +12 -0
  109. package/types/autonomous/open-eyes.d.ts +13 -0
  110. package/types/autonomous/start-renders.d.ts +12 -0
  111. package/types/autonomous/take-snapshots.d.ts +15 -0
  112. package/types/autonomous/types.d.ts +57 -0
  113. package/types/check-and-close.d.ts +3 -3
  114. package/types/check.d.ts +3 -3
  115. package/types/classic/check-and-close.d.ts +12 -5
  116. package/types/classic/check.d.ts +6 -3
  117. package/types/classic/core.d.ts +8 -2
  118. package/types/classic/get-base-eyes.d.ts +4 -8
  119. package/types/classic/open-eyes.d.ts +3 -4
  120. package/types/classic/types.d.ts +4 -5
  121. package/types/classic/utils/extract-default-environments.d.ts +9 -0
  122. package/types/classic/utils/take-dom-capture.d.ts +8 -0
  123. package/types/classic/utils/take-screenshots.d.ts +18 -0
  124. package/types/close-batch.d.ts +1 -1
  125. package/types/close.d.ts +3 -2
  126. package/types/core.d.ts +11 -2
  127. package/types/delete-test.d.ts +1 -1
  128. package/types/extract-text.d.ts +1 -1
  129. package/types/get-account-info.d.ts +11 -0
  130. package/types/get-ec-client.d.ts +1 -1
  131. package/types/get-eyes-results.d.ts +1 -1
  132. package/types/get-manager-results.d.ts +1 -1
  133. package/types/get-typed-eyes.d.ts +2 -4
  134. package/types/index.d.ts +2 -1
  135. package/types/lang.d.ts +32 -0
  136. package/types/locate-text.d.ts +1 -1
  137. package/types/locate.d.ts +1 -1
  138. package/types/make-manager.d.ts +11 -2
  139. package/types/offline/merge-configs.d.ts +1 -0
  140. package/types/offline/run-offline-snapshots.d.ts +11 -0
  141. package/types/open-eyes.d.ts +11 -2
  142. package/types/run-offline-snapshots.d.ts +6 -0
  143. package/types/troubleshoot/logs.d.ts +25 -0
  144. package/types/types.d.ts +19 -11
  145. package/types/ufg/check-and-close.d.ts +18 -10
  146. package/types/ufg/check.d.ts +5 -4
  147. package/types/ufg/core.d.ts +8 -5
  148. package/types/ufg/create-render-target-from-snapshot.d.ts +8 -0
  149. package/types/ufg/get-base-eyes.d.ts +4 -9
  150. package/types/ufg/get-ufg-client.d.ts +6 -3
  151. package/types/ufg/open-eyes.d.ts +3 -4
  152. package/types/ufg/take-snapshots.d.ts +17 -0
  153. package/types/ufg/types.d.ts +39 -39
  154. package/types/ufg/utils/extract-default-environment.d.ts +5 -0
  155. package/types/ufg/utils/generate-safe-selectors.d.ts +3 -12
  156. package/types/ufg/utils/take-dom-snapshot.d.ts +16 -21
  157. package/types/ufg/utils/take-dom-snapshots.d.ts +14 -10
  158. package/types/ufg/utils/to-generated-selectors.d.ts +34 -0
  159. package/types/ufg/utils/to-safe-check-settings.d.ts +22 -0
  160. package/types/universal/core-server.d.ts +6 -2
  161. package/types/universal/core.d.ts +6 -2
  162. package/types/universal/spec-driver.d.ts +6 -5
  163. package/types/universal/types.d.ts +59 -51
  164. package/types/utils/ensure-offline-folder.d.ts +1 -0
  165. package/types/utils/extract-branching-timestamp.d.ts +16 -0
  166. package/types/utils/extract-current-commit.d.ts +24 -0
  167. package/types/utils/extract-git-info.d.ts +59 -0
  168. package/types/utils/extract-start-info.d.ts +29 -0
  169. package/types/utils/extract-test-environment.d.ts +2 -0
  170. package/types/utils/memory-usage-logging.d.ts +7 -0
  171. package/types/utils/populate-eyes-server-settings.d.ts +2 -0
  172. package/types/utils/validate-sdk-version.d.ts +42 -0
  173. package/CHANGELOG.md +0 -222
  174. package/dist/classic/abort.js +0 -22
  175. package/dist/classic/close.js +0 -22
  176. package/dist/ufg/abort.js +0 -32
  177. package/dist/ufg/close.js +0 -37
  178. package/dist/ufg/get-results.js +0 -27
  179. package/dist/ufg/utils/take-vhses.js +0 -153
  180. package/dist/ufg/utils/uniquify-renderers.js +0 -27
  181. package/dist/utils/extract-ci-provider.js +0 -31
  182. package/types/classic/abort.d.ts +0 -16
  183. package/types/classic/close.d.ts +0 -16
  184. package/types/ufg/abort.d.ts +0 -21
  185. package/types/ufg/close.d.ts +0 -19
  186. package/types/ufg/get-nml-client.d.ts +0 -17
  187. package/types/ufg/get-results.d.ts +0 -16
  188. package/types/ufg/utils/take-vhses.d.ts +0 -17
  189. package/types/ufg/utils/uniquify-renderers.d.ts +0 -2
  190. package/types/utils/extract-ci-provider.d.ts +0 -1
@@ -1,22 +1,50 @@
1
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.makeGetManagerResults = void 0;
4
27
  const test_error_1 = require("./errors/test-error");
5
28
  const internal_error_1 = require("./errors/internal-error");
6
29
  const separate_duplicate_results_1 = require("./utils/separate-duplicate-results");
7
- function makeGetManagerResults({ core, storage, logger: defaultLogger, }) {
8
- return async function getManagerResults({ settings, logger = defaultLogger, } = {}) {
30
+ const utils = __importStar(require("@applitools/utils"));
31
+ function makeGetManagerResults({ core, storage, logger: mainLogger, }) {
32
+ return async function getManagerResults({ settings, logger = mainLogger, } = {}) {
9
33
  var _a, _b, _c;
34
+ logger = logger.extend(mainLogger, { tags: [`get-manager-results-${utils.general.shortid()}`] });
10
35
  let containers = await storage.reduce(async (promise, eyes) => {
11
36
  try {
12
37
  const results = await eyes.getResults({ settings: { ...settings, throwErr: false }, logger });
13
38
  return promise.then(containers => {
14
- return containers.concat(results.map(result => ({
15
- result,
16
- error: result.status !== 'Passed' ? new test_error_1.TestError(result) : undefined,
17
- userTestId: result.userTestId,
18
- renderer: result.renderer,
19
- })));
39
+ return containers.concat(results.map(result => {
40
+ var _a;
41
+ return ({
42
+ result,
43
+ error: result.status !== 'Passed' ? (_a = result.reason) !== null && _a !== void 0 ? _a : new test_error_1.TestError(result) : undefined,
44
+ userTestId: result.userTestId,
45
+ environment: result.environment,
46
+ });
47
+ }));
20
48
  });
21
49
  }
22
50
  catch (error) {
@@ -32,14 +60,20 @@ function makeGetManagerResults({ core, storage, logger: defaultLogger, }) {
32
60
  else {
33
61
  await Promise.all(duplicateContainers.map(async (container) => {
34
62
  if (container.result) {
35
- await core.deleteTest({
36
- settings: {
37
- ...container.result.server,
38
- testId: container.result.id,
39
- batchId: container.result.batchId,
40
- secretToken: container.result.secretToken,
41
- },
42
- });
63
+ // the server will also delete the test if it's a duplicate, so in newer server versions it's a redundancy and that's ok if it fails
64
+ try {
65
+ await core.deleteTest({
66
+ settings: {
67
+ ...container.result.eyesServer,
68
+ testId: container.result.id,
69
+ batchId: container.result.batchId,
70
+ secretToken: container.result.secretToken,
71
+ },
72
+ });
73
+ }
74
+ catch (err) {
75
+ logger.log('Did not delete duplicate test', { testId: container.result.id, error: err });
76
+ }
43
77
  }
44
78
  }));
45
79
  logger.log('Done cleaning up duplicate tests!');
@@ -47,8 +81,8 @@ function makeGetManagerResults({ core, storage, logger: defaultLogger, }) {
47
81
  }
48
82
  const batches = storage.reduce((batches, eyes) => {
49
83
  if (!eyes.test.keepBatchOpen) {
50
- const settings = { ...eyes.test.server, batchId: eyes.test.batchId };
51
- batches[`${settings.serverUrl}:${settings.apiKey}:${settings.batchId}`] = settings;
84
+ const settings = { ...eyes.test.eyesServer, batchId: eyes.test.batchId, batchBuildId: eyes.test.batchBuildId };
85
+ batches[`${settings.eyesServerUrl}:${settings.apiKey}:${settings.batchId}`] = settings;
52
86
  }
53
87
  return batches;
54
88
  }, {});
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeGetTypedEyes = void 0;
4
- function makeGetTypedEyes({ type: defaultType, settings: defaultSettings, target, cores, logger: defaultLogger, }) {
4
+ function makeGetTypedEyes({ type: defaultType, settings: defaultSettings, target, cores, logger: mainLogger, }) {
5
5
  let eyes;
6
- return async function getTypedEyes({ type = defaultType, settings, logger = defaultLogger, } = {}) {
6
+ return async function getTypedEyes({ type = defaultType, logger = mainLogger, } = {}) {
7
+ logger = logger.extend(mainLogger);
7
8
  if (!eyes) {
8
9
  eyes = await cores[type].openEyes({ target, settings: defaultSettings, logger });
9
10
  return eyes;
@@ -12,13 +13,11 @@ function makeGetTypedEyes({ type: defaultType, settings: defaultSettings, target
12
13
  return eyes;
13
14
  }
14
15
  else if (type === 'ufg') {
15
- const base = await eyes.getBaseEyes({ logger });
16
- const typedEyes = await cores.ufg.openEyes({ target, settings: defaultSettings, base, logger });
16
+ const typedEyes = await cores.ufg.openEyes({ target, settings: defaultSettings, storage: eyes.storage, logger });
17
17
  return typedEyes;
18
18
  }
19
19
  else {
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 });
20
+ const typedEyes = await cores.classic.openEyes({ target, settings: defaultSettings, storage: eyes.storage, logger });
22
21
  return typedEyes;
23
22
  }
24
23
  };
package/dist/index.js CHANGED
@@ -26,12 +26,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.takeDomSnapshots = exports.formatters = void 0;
29
+ exports.logs = exports.formatters = void 0;
30
30
  __exportStar(require("./types"), exports);
31
31
  __exportStar(require("./core"), exports);
32
32
  __exportStar(require("./universal/core-server"), exports);
33
33
  __exportStar(require("./universal/core-server-process"), exports);
34
+ __exportStar(require("./autonomous/core"), exports);
34
35
  __exportStar(require("@applitools/driver/dist/debug"), exports);
35
36
  exports.formatters = __importStar(require("./utils/format-results"));
36
- var take_dom_snapshots_1 = require("./ufg/utils/take-dom-snapshots");
37
- Object.defineProperty(exports, "takeDomSnapshots", { enumerable: true, get: function () { return take_dom_snapshots_1.takeDomSnapshots; } });
37
+ exports.logs = __importStar(require("./troubleshoot/logs"));
package/dist/lang.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applitoolsLibConflictingCapabilitiesWarning = exports.requestedEnvironmentOutOfDriverBoundsWarning = exports.breakpointOutOfDriverBoundsWarning = exports.requestedEnvironmentSmallerThenBreakpointWarning = exports.outdatedSdkVersionWarning = exports.edgeUfgEnvironmentDeprecatedWarning = exports.matchLevelContentDeprecatedWarning = void 0;
4
+ exports.matchLevelContentDeprecatedWarning = `The "Content" match level value has been deprecated, use "IgnoreColors" instead.`;
5
+ exports.edgeUfgEnvironmentDeprecatedWarning = `The 'edge' option that is being used in your browsers' configuration will soon be deprecated. Please change it to either 'edgelegacy' for the legacy version or to 'edgechromium' for the new Chromium-based version. Please note, when using the built-in BrowserType enum, then the values are BrowserType.EDGE_LEGACY and BrowserType.EDGE_CHROMIUM, respectively.`;
6
+ const outdatedSdkVersionWarning = (options) => {
7
+ return `You are using "${options.currentVersion}" and there is a newer version "${options.latestVersion}" of the "${options.name}" SDK.`;
8
+ };
9
+ exports.outdatedSdkVersionWarning = outdatedSdkVersionWarning;
10
+ const requestedEnvironmentSmallerThenBreakpointWarning = (options) => {
11
+ const browsers = options.browsers.map(({ name, width }) => `(${name}, ${width})`).join(', ');
12
+ return `The following configuration's viewport-widths are smaller than the smallest configured layout breakpoint (${options.breakpoint} pixels): [${browsers}]. As a fallback, the resources that will be used for these configurations have been captured on a viewport-width of ${options.breakpoint} - 1 pixels. If an additional layout breakpoint is needed for you to achieve better results - please add it to your configuration.`;
13
+ };
14
+ exports.requestedEnvironmentSmallerThenBreakpointWarning = requestedEnvironmentSmallerThenBreakpointWarning;
15
+ const breakpointOutOfDriverBoundsWarning = (options) => {
16
+ const browsers = options.browsers.map(({ name, width }) => `(${name}, ${width})`).join(', ');
17
+ return `One of the configured layout breakpoints is ${options.requiredWidth} pixels, while your local browser has a limit of ${options.actualWidth}, so the SDK couldn't resize it to the desired size. As a fallback, the resources that will be used for the following configurations: [${browsers}] have been captured on the browser's limit (${options.actualWidth} pixels). To resolve this, you may use a headless browser as it can be resized to any size.`;
18
+ };
19
+ exports.breakpointOutOfDriverBoundsWarning = breakpointOutOfDriverBoundsWarning;
20
+ const requestedEnvironmentOutOfDriverBoundsWarning = (options) => {
21
+ const browsers = options.browsers.map(({ name }) => `(${name})`).join(', ');
22
+ return `The following configurations [${browsers}] have a viewport-width of ${options.requiredWidth} pixels, while your local browser has a limit of ${options.actualWidth} pixels, so the SDK couldn't resize it to the desired size. As a fallback, the resources that will be used for these checkpoints have been captured on the browser's limit (${options.actualWidth} pixels). To resolve this, you may use a headless browser as it can be resized to any size.`;
23
+ };
24
+ exports.requestedEnvironmentOutOfDriverBoundsWarning = requestedEnvironmentOutOfDriverBoundsWarning;
25
+ const applitoolsLibConflictingCapabilitiesWarning = (options) => {
26
+ const conflictingCapabilities = Object.entries(options.conflictingCapabilities)
27
+ .map(entry => entry.join(': '))
28
+ .join(', ');
29
+ return `We have identified ${conflictingCapabilities} in your driver capabilities, this may prevent Applitools Native Library from loading. If you are not sure whether this will cause a problem, contact Support.`;
30
+ };
31
+ exports.applitoolsLibConflictingCapabilitiesWarning = applitoolsLibConflictingCapabilitiesWarning;
@@ -25,13 +25,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeLocateText = void 0;
27
27
  const core_1 = require("./classic/core");
28
+ const populate_eyes_server_settings_1 = require("./utils/populate-eyes-server-settings");
28
29
  const utils = __importStar(require("@applitools/utils"));
29
- function makeLocateText({ spec, core, logger: defaultLogger }) {
30
- return async function locateText({ target, settings, config, logger = defaultLogger, }) {
31
- var _a, _b, _c;
30
+ function makeLocateText({ spec, core, logger: mainLogger }) {
31
+ return async function locateText({ target, settings, config, logger = mainLogger, }) {
32
+ logger = logger.extend(mainLogger, { tags: [`locate-text-${utils.general.shortid()}`] });
32
33
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
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
- (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
34
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
35
+ logger.mask(settings.apiKey);
36
+ logger.mask(settings.eyesServerUrl);
35
37
  const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
36
38
  const results = await classicCore.locateText({ target, settings, logger });
37
39
  return results;
package/dist/locate.js CHANGED
@@ -25,13 +25,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeLocate = void 0;
27
27
  const core_1 = require("./classic/core");
28
+ const populate_eyes_server_settings_1 = require("./utils/populate-eyes-server-settings");
28
29
  const utils = __importStar(require("@applitools/utils"));
29
- function makeLocate({ spec, core, logger: defaultLogger }) {
30
- return async function locate({ target, settings, config, logger = defaultLogger, }) {
31
- var _a, _b, _c;
30
+ function makeLocate({ spec, core, logger: mainLogger }) {
31
+ return async function locate({ target, settings, config, logger = mainLogger, }) {
32
+ logger = logger.extend(mainLogger, { tags: [`locate-${utils.general.shortid()}`] });
32
33
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
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
- (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
34
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
35
+ logger.mask(settings.apiKey);
36
+ logger.mask(settings.eyesServerUrl);
35
37
  const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
36
38
  const results = await classicCore.locate({ target, settings, logger });
37
39
  return results;
@@ -30,20 +30,43 @@ 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, concurrency: defaultConcurrency = utils.general.getEnvValue('CONCURRENCY', 'number'), core, base, agentId: defaultAgentId, cwd = process.cwd(), logger: defaultLogger, }) {
34
- return async function makeManager({ type = 'classic', settings, logger = defaultLogger, } = {}) {
35
- var _a, _b, _c, _d, _e;
36
- var _f;
33
+ function makeMakeManager({ spec, clients, core, base: defaultBase, agentId: defaultAgentId, environment, cwd = process.cwd(), logger: mainLogger, asyncCache, offlineLocationPath, maskLog, }) {
34
+ return async function makeManager({ type = 'classic', settings, logger = mainLogger, } = {}) {
35
+ var _a, _b, _c, _d, _e, _f, _g;
36
+ var _h, _j;
37
+ logger = logger.extend(mainLogger, { tags: [`manager-${type}-${utils.general.shortid()}`], maskLog });
37
38
  settings !== null && settings !== void 0 ? settings : (settings = {});
38
- (_a = settings.concurrency) !== null && _a !== void 0 ? _a : (settings.concurrency = defaultConcurrency !== null && defaultConcurrency !== void 0 ? defaultConcurrency : (utils.types.isInteger(settings.legacyConcurrency) ? settings.legacyConcurrency * 5 : 5));
39
- (_b = settings.batch) !== null && _b !== void 0 ? _b : (settings.batch = {});
40
- (_c = (_f = settings.batch).id) !== null && _c !== void 0 ? _c : (_f.id = (_d = utils.general.getEnvValue('BATCH_ID')) !== null && _d !== void 0 ? _d : `generated-${utils.general.guid()}`);
41
- (_e = settings.agentId) !== null && _e !== void 0 ? _e : (settings.agentId = type === 'ufg' ? defaultAgentId === null || defaultAgentId === void 0 ? void 0 : defaultAgentId.replace(/(\/\d)/, '.visualgrid$1') : defaultAgentId);
42
- base !== null && base !== void 0 ? base : (base = (0, core_base_1.makeCore)({ agentId: settings.agentId, concurrency: settings.concurrency, cwd, logger }));
43
- const cores = { ufg: (0, core_2.makeCore)({ spec, base, logger }), classic: (0, core_1.makeCore)({ spec, base, logger }) };
39
+ (_a = settings.concurrency) !== null && _a !== void 0 ? _a : (settings.concurrency = (_b = utils.general.getEnvValue('CONCURRENCY', 'number')) !== null && _b !== void 0 ? _b : (utils.types.isInteger(settings.legacyConcurrency) ? settings.legacyConcurrency * 5 : 100));
40
+ (_c = settings.batch) !== null && _c !== void 0 ? _c : (settings.batch = {});
41
+ (_d = (_h = settings.batch).id) !== null && _d !== void 0 ? _d : (_h.id = (_e = utils.general.getEnvValue('BATCH_ID')) !== null && _e !== void 0 ? _e : `generated-${utils.general.guid()}`);
42
+ (_f = (_j = settings.batch).buildId) !== null && _f !== void 0 ? _f : (_j.buildId = utils.general.getEnvValue('BATCH_BUILD_ID'));
43
+ (_g = settings.agentId) !== null && _g !== void 0 ? _g : (settings.agentId = type === 'ufg' ? defaultAgentId === null || defaultAgentId === void 0 ? void 0 : defaultAgentId.replace(/(\/\d)/, '.visualgrid$1') : defaultAgentId);
44
+ logger.log('Command "makeManager" is called with settings', settings);
45
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId: settings.agentId, concurrency: settings.concurrency, logger, offlineLocationPath, maskLog });
46
+ const fetchConcurrency = settings.fetchConcurrency;
47
+ const cores = {
48
+ ufg: (0, core_2.makeCore)({ spec, clients, base, fetchConcurrency, asyncCache, logger, offlineLocationPath, maskLog }),
49
+ classic: (0, core_1.makeCore)({ spec, clients, base, logger, maskLog }),
50
+ };
44
51
  const storage = [];
45
52
  return {
46
- openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, batch: settings.batch, spec, core, cores, logger }), async (openEyes, options) => {
53
+ get concurrency() {
54
+ return base.concurrency;
55
+ },
56
+ base,
57
+ openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({
58
+ type,
59
+ clients,
60
+ batch: settings.batch,
61
+ removeDuplicateTests: settings.removeDuplicateTests,
62
+ spec,
63
+ core,
64
+ cores,
65
+ environment,
66
+ asyncCache,
67
+ cwd,
68
+ logger,
69
+ }), async (openEyes, options) => {
47
70
  const eyes = await openEyes(options);
48
71
  storage.push(eyes);
49
72
  return eyes;
@@ -0,0 +1,42 @@
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.mergeConfigs = void 0;
27
+ const utils = __importStar(require("@applitools/utils"));
28
+ function mergeConfigs(base, other) {
29
+ return Object.entries(other).reduce((base, [key, value]) => {
30
+ if (utils.types.has(base, key) &&
31
+ utils.types.isObject(value) &&
32
+ !(value instanceof String) &&
33
+ !utils.types.isArray(value)) {
34
+ base[key] = mergeConfigs(base[key], value);
35
+ }
36
+ else if (value !== undefined) {
37
+ base[key] = value;
38
+ }
39
+ return base;
40
+ }, { ...base });
41
+ }
42
+ exports.mergeConfigs = mergeConfigs;