@applitools/core 3.11.5 → 3.11.7

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,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.11.7](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.11.6...js/core@3.11.7) (2023-10-04)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * @applitools/ufg-client bumped to 1.9.4
9
+ #### Bug Fixes
10
+
11
+ * async cache should wait for upload ([#1961](https://github.com/applitools/eyes.sdk.javascript1/issues/1961)) ([53c7204](https://github.com/applitools/eyes.sdk.javascript1/commit/53c72046738d5589fc53c16822f9b2efd142357c))
12
+
13
+ ## [3.11.6](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.11.5...js/core@3.11.6) (2023-10-02)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * move lazyload option to take-dom-snapshots ([#1947](https://github.com/applitools/eyes.sdk.javascript1/issues/1947)) ([1833613](https://github.com/applitools/eyes.sdk.javascript1/commit/18336131048733d6d31d31ea4fa959c299320bfe))
19
+
3
20
  ## [3.11.5](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.11.4...js/core@3.11.5) (2023-09-29)
4
21
 
5
22
 
@@ -3,20 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitForLazyLoad = void 0;
4
4
  const { lazyLoad } = require('@applitools/snippets');
5
5
  async function waitForLazyLoad({ context, settings, logger, }) {
6
- var _a, _b, _c, _d, _e;
6
+ var _a, _b;
7
7
  logger.log('lazy loading the page before capturing a screenshot');
8
+ const { scrollLength = 300, waitingTime = 2000, maxAmountToScroll = 15000, } = typeof settings === 'boolean' ? {} : settings;
8
9
  await context.executePoll(lazyLoad, {
9
10
  main: [
10
11
  await context.getScrollingElement(),
11
12
  {
12
- scrollLength: (_a = settings.scrollLength) !== null && _a !== void 0 ? _a : 300,
13
- waitingTime: (_b = settings.waitingTime) !== null && _b !== void 0 ? _b : 2000,
14
- maxAmountToScroll: (_c = settings.maxAmountToScroll) !== null && _c !== void 0 ? _c : 15000,
13
+ scrollLength: scrollLength,
14
+ waitingTime: waitingTime,
15
+ maxAmountToScroll: maxAmountToScroll,
15
16
  },
16
17
  ],
17
18
  poll: [],
18
19
  executionTimeout: 5 * 60 * 1000,
19
- pollTimeout: (_e = (_d = settings.pollTimeout) !== null && _d !== void 0 ? _d : settings.waitingTime) !== null && _e !== void 0 ? _e : 2000,
20
+ pollTimeout: (_b = (_a = settings.pollTimeout) !== null && _a !== void 0 ? _a : settings.waitingTime) !== null && _b !== void 0 ? _b : 2000,
20
21
  });
21
22
  }
22
23
  exports.waitForLazyLoad = waitForLazyLoad;
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.makeCheckAndClose = void 0;
30
30
  const driver_1 = require("@applitools/driver");
31
31
  const take_dom_snapshots_1 = require("./utils/take-dom-snapshots");
32
- const wait_for_lazy_load_1 = require("../automation/utils/wait-for-lazy-load");
33
32
  const to_base_check_settings_1 = require("../automation/utils/to-base-check-settings");
34
33
  const uniquify_renderers_1 = require("../automation/utils/uniquify-renderers");
35
34
  const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
@@ -79,23 +78,13 @@ function makeCheckAndClose({ eyes, target: defaultTarget, renderers: defaultRend
79
78
  layoutBreakpoints: settings.layoutBreakpoints,
80
79
  renderers: uniqueRenderers,
81
80
  skipResources: ufgClient.getCachedResourceUrls(),
81
+ lazyLoad: settings.lazyLoad,
82
82
  calculateRegionsOptions: {
83
83
  elementReferencesToCalculate,
84
84
  elementReferenceToTarget,
85
85
  scrollRootElement: settings.scrollRootElement,
86
86
  },
87
87
  },
88
- hooks: {
89
- async beforeSnapshots() {
90
- if (settings.lazyLoad && environment.isWeb) {
91
- await (0, wait_for_lazy_load_1.waitForLazyLoad)({
92
- context: driver.currentContext,
93
- settings: settings.lazyLoad !== true ? settings.lazyLoad : {},
94
- logger,
95
- });
96
- }
97
- },
98
- },
99
88
  provides: {
100
89
  getChromeEmulationDevices: ufgClient.getChromeEmulationDevices,
101
90
  getIOSDevices: ufgClient.getIOSDevices,
package/dist/ufg/check.js CHANGED
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.makeCheck = void 0;
30
30
  const driver_1 = require("@applitools/driver");
31
31
  const take_dom_snapshots_1 = require("./utils/take-dom-snapshots");
32
- const wait_for_lazy_load_1 = require("../automation/utils/wait-for-lazy-load");
33
32
  const to_base_check_settings_1 = require("../automation/utils/to-base-check-settings");
34
33
  const uniquify_renderers_1 = require("../automation/utils/uniquify-renderers");
35
34
  const extract_renderer_key_1 = require("../automation/utils/extract-renderer-key");
@@ -79,23 +78,13 @@ function makeCheck({ eyes, target: defaultTarget, renderers: defaultRenderers =
79
78
  layoutBreakpoints: settings.layoutBreakpoints,
80
79
  renderers: uniqueRenderers,
81
80
  skipResources: ufgClient.getCachedResourceUrls(),
81
+ lazyLoad: settings.lazyLoad,
82
82
  calculateRegionsOptions: {
83
83
  elementReferencesToCalculate,
84
84
  elementReferenceToTarget,
85
85
  scrollRootElement: settings.scrollRootElement,
86
86
  },
87
87
  },
88
- hooks: {
89
- async beforeSnapshots() {
90
- if (settings.lazyLoad && environment.isWeb) {
91
- await (0, wait_for_lazy_load_1.waitForLazyLoad)({
92
- context: driver.currentContext,
93
- settings: settings.lazyLoad !== true ? settings.lazyLoad : {},
94
- logger,
95
- });
96
- }
97
- },
98
- },
99
88
  provides: {
100
89
  getChromeEmulationDevices: ufgClient.getChromeEmulationDevices,
101
90
  getIOSDevices: ufgClient.getIOSDevices,
@@ -34,9 +34,10 @@ const take_dom_snapshot_1 = require("./take-dom-snapshot");
34
34
  const utils = __importStar(require("@applitools/utils"));
35
35
  const chalk_1 = __importDefault(require("chalk"));
36
36
  const calculate_regions_1 = require("./calculate-regions");
37
+ const wait_for_lazy_load_1 = require("../../automation/utils/wait-for-lazy-load");
37
38
  __exportStar(require("./take-dom-snapshot"), exports);
38
39
  async function takeDomSnapshots({ driver, settings, hooks, provides, logger, }) {
39
- var _a, _b, _c, _d, _e, _f, _g, _h;
40
+ var _a, _b, _c, _d, _e, _f, _g;
40
41
  const currentContext = driver.currentContext;
41
42
  let calculateRegionsResults = {};
42
43
  const waitBeforeCapture = async () => {
@@ -47,8 +48,14 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
47
48
  await utils.general.sleep(settings.waitBeforeCapture);
48
49
  }
49
50
  };
50
- await ((_a = hooks === null || hooks === void 0 ? void 0 : hooks.beforeSnapshots) === null || _a === void 0 ? void 0 : _a.call(hooks));
51
- if (!((_b = settings.layoutBreakpoints) === null || _b === void 0 ? void 0 : _b.reload) && settings.calculateRegionsOptions) {
51
+ if (settings.lazyLoad) {
52
+ await (0, wait_for_lazy_load_1.waitForLazyLoad)({
53
+ context: driver.currentContext,
54
+ settings: settings.lazyLoad !== true ? settings.lazyLoad : {},
55
+ logger,
56
+ });
57
+ }
58
+ if (!((_a = settings.layoutBreakpoints) === null || _a === void 0 ? void 0 : _a.reload) && settings.calculateRegionsOptions) {
52
59
  calculateRegionsResults = await (0, calculate_regions_1.calculateRegions)({
53
60
  ...settings.calculateRegionsOptions,
54
61
  driver,
@@ -56,13 +63,13 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
56
63
  }
57
64
  if (!settings.layoutBreakpoints) {
58
65
  logger.log(`taking single dom snapshot`);
59
- await ((_c = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _c === void 0 ? void 0 : _c.call(hooks));
66
+ await ((_b = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _b === void 0 ? void 0 : _b.call(hooks));
60
67
  await waitBeforeCapture();
61
68
  const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
62
- await ((_d = calculateRegionsResults === null || calculateRegionsResults === void 0 ? void 0 : calculateRegionsResults.cleanupGeneratedSelectors) === null || _d === void 0 ? void 0 : _d.call(calculateRegionsResults));
69
+ await ((_c = calculateRegionsResults === null || calculateRegionsResults === void 0 ? void 0 : calculateRegionsResults.cleanupGeneratedSelectors) === null || _c === void 0 ? void 0 : _c.call(calculateRegionsResults));
63
70
  return Array(settings.renderers.length).fill({ snapshot, ...calculateRegionsResults });
64
71
  }
65
- const isStrictBreakpoints = utils.types.isArray((_e = settings.layoutBreakpoints) === null || _e === void 0 ? void 0 : _e.breakpoints);
72
+ const isStrictBreakpoints = utils.types.isArray((_d = settings.layoutBreakpoints) === null || _d === void 0 ? void 0 : _d.breakpoints);
66
73
  const requiredWidths = await settings.renderers.reduce(async (prev, renderer, index) => {
67
74
  const { name, width } = (await extractRendererInfo({ renderer }));
68
75
  const requiredWidths = await prev;
@@ -90,7 +97,7 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
90
97
  const snapshotsResults = Array(settings.renderers.length);
91
98
  if (requiredWidths.has(viewportSize.width)) {
92
99
  logger.log(`taking dom snapshot for existing width ${viewportSize.width}`);
93
- await ((_f = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _f === void 0 ? void 0 : _f.call(hooks));
100
+ await ((_e = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _e === void 0 ? void 0 : _e.call(hooks));
94
101
  await waitBeforeCapture();
95
102
  const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
96
103
  requiredWidths.get(viewportSize.width).forEach(({ index }) => {
@@ -128,7 +135,7 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
128
135
  logger.log(message);
129
136
  }
130
137
  }
131
- await ((_g = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _g === void 0 ? void 0 : _g.call(hooks));
138
+ await ((_f = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _f === void 0 ? void 0 : _f.call(hooks));
132
139
  await waitBeforeCapture();
133
140
  const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
134
141
  browsersInfo.forEach(({ index }) => {
@@ -141,7 +148,7 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
141
148
  await waitBeforeCapture();
142
149
  }
143
150
  else {
144
- (_h = calculateRegionsResults === null || calculateRegionsResults === void 0 ? void 0 : calculateRegionsResults.cleanupGeneratedSelectors) === null || _h === void 0 ? void 0 : _h.call(calculateRegionsResults);
151
+ (_g = calculateRegionsResults === null || calculateRegionsResults === void 0 ? void 0 : calculateRegionsResults.cleanupGeneratedSelectors) === null || _g === void 0 ? void 0 : _g.call(calculateRegionsResults);
145
152
  }
146
153
  return snapshotsResults;
147
154
  function calculateBreakpoint({ breakpoints, value }) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "3.11.5",
3
+ "version": "3.11.7",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -77,7 +77,7 @@
77
77
  "@applitools/snippets": "2.4.24",
78
78
  "@applitools/socket": "1.1.11",
79
79
  "@applitools/spec-driver-webdriver": "1.0.47",
80
- "@applitools/ufg-client": "1.9.3",
80
+ "@applitools/ufg-client": "1.9.4",
81
81
  "@applitools/utils": "1.6.1",
82
82
  "@types/ws": "8.5.5",
83
83
  "abort-controller": "3.0.0",
@@ -118,6 +118,11 @@ export type EyesStorage = Map<string, {
118
118
  export interface GetBaseEyesSettings {
119
119
  renderer: Renderer;
120
120
  }
121
+ export type LazyLoadOptions = {
122
+ scrollLength?: number;
123
+ waitingTime?: number;
124
+ maxAmountToScroll?: number;
125
+ };
121
126
  export interface ScreenshotSettings<TSpec extends SpecType> extends BaseCore.ImageSettings<Region | ElementReference<TSpec>> {
122
127
  webview?: boolean | string;
123
128
  frames?: (ContextReference<TSpec> | {
@@ -136,11 +141,7 @@ export interface ScreenshotSettings<TSpec extends SpecType> extends BaseCore.Ima
136
141
  };
137
142
  waitBeforeCapture?: number;
138
143
  waitBetweenStitches?: number;
139
- lazyLoad?: boolean | {
140
- scrollLength?: number;
141
- waitingTime?: number;
142
- maxAmountToScroll?: number;
143
- };
144
+ lazyLoad?: boolean | LazyLoadOptions;
144
145
  sendDom?: boolean;
145
146
  }
146
147
  export type LocateSettings<TLocator extends string, TSpec extends SpecType> = BaseCore.LocateSettings<TLocator, Region | ElementReference<TSpec>> & ScreenshotSettings<TSpec>;
@@ -1,14 +1,11 @@
1
1
  import { type Logger } from '@applitools/logger';
2
2
  import { type SpecType, type Context } from '@applitools/driver';
3
- export type LazyLoadSettings = {
4
- scrollLength?: number;
5
- waitingTime?: number;
6
- maxAmountToScroll?: number;
7
- executionTimeout?: number;
8
- pollTimeout?: number;
9
- };
3
+ import { type LazyLoadOptions } from '../types';
10
4
  export declare function waitForLazyLoad<TSpec extends SpecType>({ context, settings, logger, }: {
11
5
  context: Context<TSpec>;
12
- settings: LazyLoadSettings;
6
+ settings: LazyLoadOptions & {
7
+ pollTimeout?: number;
8
+ waitingTime?: number;
9
+ };
13
10
  logger: Logger;
14
11
  }): Promise<void>;
@@ -5,6 +5,7 @@ import { type DomSnapshot, type Renderer } from '@applitools/ufg-client';
5
5
  import { type DomSnapshotSettings } from './take-dom-snapshot';
6
6
  import { type CalculateRegionsOptions } from './calculate-regions';
7
7
  import { SnapshotResult } from '../types';
8
+ import { type LazyLoadOptions } from '../types';
8
9
  export * from './take-dom-snapshot';
9
10
  export type DomSnapshotsSettings = DomSnapshotSettings & {
10
11
  renderers: Renderer[];
@@ -14,12 +15,12 @@ export type DomSnapshotsSettings = DomSnapshotSettings & {
14
15
  reload?: boolean;
15
16
  };
16
17
  calculateRegionsOptions?: CalculateRegionsOptions;
18
+ lazyLoad?: boolean | LazyLoadOptions;
17
19
  };
18
20
  export declare function takeDomSnapshots<TSpec extends SpecType>({ driver, settings, hooks, provides, logger, }: {
19
21
  driver: Driver<TSpec>;
20
22
  settings: DomSnapshotsSettings;
21
23
  hooks?: {
22
- beforeSnapshots?(): void | Promise<void>;
23
24
  beforeEachSnapshot?(): void | Promise<void>;
24
25
  };
25
26
  provides?: {