@applitools/eyes-browser 1.5.4 → 1.5.6

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 (3) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/index.js +51 -103
  3. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,75 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.5.6](https://github.com/Applitools-Dev/sdk/compare/js/eyes-browser@1.5.5...js/eyes-browser@1.5.6) (2025-09-15)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * @applitools/core bumped to 4.47.0
9
+ #### Features
10
+
11
+ * update default concurrency ([#3230](https://github.com/Applitools-Dev/sdk/issues/3230)) ([f548cda](https://github.com/Applitools-Dev/sdk/commit/f548cda77d74b68890abc7c53f566b145e6484ba))
12
+ * @applitools/eyes bumped to 1.36.6
13
+
14
+
15
+ ## [1.5.5](https://github.com/Applitools-Dev/sdk/compare/js/eyes-browser@1.5.4...js/eyes-browser@1.5.5) (2025-09-09)
16
+
17
+
18
+ ### Dependencies
19
+
20
+ * @applitools/utils bumped to 1.12.0
21
+ #### Features
22
+
23
+ * enable canvas with webgl for autonomous | FLD 3515 ([#3197](https://github.com/Applitools-Dev/sdk/issues/3197)) ([23f22e5](https://github.com/Applitools-Dev/sdk/commit/23f22e517d52dc70f24093dfb21e072b9aa9fb60))
24
+ * @applitools/core bumped to 4.46.0
25
+ #### Features
26
+
27
+ * enable canvas with webgl for autonomous | FLD 3515 ([#3197](https://github.com/Applitools-Dev/sdk/issues/3197)) ([23f22e5](https://github.com/Applitools-Dev/sdk/commit/23f22e517d52dc70f24093dfb21e072b9aa9fb60))
28
+
29
+
30
+ #### Bug Fixes
31
+
32
+ * update offline test fixtures to use Google Fonts v12 ([#3215](https://github.com/Applitools-Dev/sdk/issues/3215)) ([ba8ef0c](https://github.com/Applitools-Dev/sdk/commit/ba8ef0c3b11a7f5e9e59a58f29fd5d60760a68ee))
33
+
34
+
35
+
36
+ * @applitools/logger bumped to 2.2.3
37
+
38
+ * @applitools/dom-snapshot bumped to 4.13.6
39
+
40
+ * @applitools/socket bumped to 1.3.4
41
+
42
+ * @applitools/req bumped to 1.8.3
43
+
44
+ * @applitools/image bumped to 1.2.3
45
+
46
+ * @applitools/dom-capture bumped to 11.6.4
47
+
48
+ * @applitools/driver bumped to 1.23.4
49
+
50
+ * @applitools/spec-driver-webdriver bumped to 1.4.4
51
+
52
+ * @applitools/spec-driver-selenium bumped to 1.7.4
53
+
54
+ * @applitools/spec-driver-puppeteer bumped to 1.6.4
55
+
56
+ * @applitools/screenshoter bumped to 3.12.4
57
+
58
+ * @applitools/nml-client bumped to 1.11.4
59
+
60
+ * @applitools/tunnel-client bumped to 1.11.1
61
+
62
+ * @applitools/ufg-client bumped to 1.17.3
63
+
64
+ * @applitools/core-base bumped to 1.27.3
65
+
66
+ * @applitools/ec-client bumped to 1.12.6
67
+
68
+ * @applitools/eyes bumped to 1.36.5
69
+
70
+ * @applitools/test-server bumped to 1.3.2
71
+
72
+
3
73
  ## [1.5.4](https://github.com/Applitools-Dev/sdk/compare/js/eyes-browser@1.5.3...js/eyes-browser@1.5.4) (2025-09-04)
4
74
 
5
75
 
package/dist/index.js CHANGED
@@ -46482,10 +46482,10 @@ var require_lib2 = __commonJS({
46482
46482
  EFilterType2[EFilterType2["Paeth"] = 4] = "Paeth";
46483
46483
  })(EFilterType = exports.EFilterType || (exports.EFilterType = {}));
46484
46484
  function createImage(option) {
46485
- return new Image3(option);
46485
+ return new Image2(option);
46486
46486
  }
46487
46487
  exports.createImage = createImage;
46488
- var Image3 = class extends stream.Duplex {
46488
+ var Image2 = class extends stream.Duplex {
46489
46489
  constructor(option = {}) {
46490
46490
  super();
46491
46491
  this.width = option.width || 0;
@@ -46574,7 +46574,7 @@ var require_lib2 = __commonJS({
46574
46574
  }
46575
46575
  }
46576
46576
  };
46577
- exports.Image = Image3;
46577
+ exports.Image = Image2;
46578
46578
  }
46579
46579
  });
46580
46580
 
@@ -58921,7 +58921,7 @@ ${l2}`}`, { bundledCss: i2, unfetchedResources: u2 };
58921
58921
  return d4 && (N3.shadowRoot = d4), N3;
58922
58922
  }
58923
58923
  }(t4);
58924
- d2(i2.doCaptureDoc), l2(i2.waitForImages), await Promise.all(f2), d2(i2.waitForImages), N2.version = "1.3.0", N2.scriptVersion = "11.6.3";
58924
+ d2(i2.doCaptureDoc), l2(i2.waitForImages), await Promise.all(f2), d2(i2.waitForImages), N2.version = "1.3.0", N2.scriptVersion = "11.6.4";
58925
58925
  const S2 = h2.length ? `${h2.join("\n")}
58926
58926
  ` : "", A2 = m2.size ? `${Array.from(m2).join("\n")}
58927
58927
  ` : "", _2 = JSON.stringify({ separator: y2, cssStartToken: g2, cssEndToken: g2, iframeStartToken: `"${p2}`, iframeEndToken: `${p2}"` });
@@ -68109,7 +68109,7 @@ creating temp style for access.`), r2 = Of(e4);
68109
68109
  function R2(e5) {
68110
68110
  return t5.defaultView && t5.defaultView.frameElement && t5.defaultView.frameElement.getAttribute(e5);
68111
68111
  }
68112
- }(t4).then((e4) => (h2("processPage end"), e4.scriptVersion = "4.13.5", e4));
68112
+ }(t4).then((e4) => (h2("processPage end"), e4.scriptVersion = "4.13.6", e4));
68113
68113
  };
68114
68114
  window[bg] = window[bg] || {};
68115
68115
  const wg = gg(kg, window[bg], yg);
@@ -90682,96 +90682,6 @@ If you continue to experience issues, ensure that your SDK is updated to the lat
90682
90682
  }
90683
90683
  });
90684
90684
 
90685
- // ../core/dist/utils/capture-canvas-image-always.js
90686
- var require_capture_canvas_image_always = __commonJS({
90687
- "../core/dist/utils/capture-canvas-image-always.js"(exports) {
90688
- "use strict";
90689
- init_process();
90690
- init_setImmediate();
90691
- init_buffer();
90692
- init_setInterval();
90693
- Object.defineProperty(exports, "__esModule", { value: true });
90694
- exports.captureImagesFunc = void 0;
90695
- function captureImagesFunc() {
90696
- async function isNonBlackImage(dataUrl) {
90697
- const img = new Image();
90698
- img.src = dataUrl;
90699
- await new Promise((resolve, reject) => {
90700
- img.onload = () => resolve();
90701
- img.onerror = () => reject();
90702
- });
90703
- const canvas = document.createElement("canvas");
90704
- canvas.width = img.width;
90705
- canvas.height = img.height;
90706
- const ctx = canvas.getContext("2d");
90707
- if (!ctx)
90708
- return false;
90709
- ctx.drawImage(img, 0, 0);
90710
- const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height).data;
90711
- for (let i = 0; i < imageData.length; i += 4) {
90712
- if (imageData[i] !== 0 || imageData[i + 1] !== 0 || imageData[i + 2] !== 0) {
90713
- return true;
90714
- }
90715
- }
90716
- return false;
90717
- }
90718
- function processWebGLCanvases(win) {
90719
- Array.from(win.document.getElementsByTagName("canvas")).forEach((canvas) => {
90720
- const gl = canvas.getContext("webgl") || canvas.getContext("webgl2");
90721
- if (!gl)
90722
- return;
90723
- const attrs = gl.getContextAttributes();
90724
- if (!attrs)
90725
- return;
90726
- const { preserveDrawingBuffer } = attrs;
90727
- if (!preserveDrawingBuffer && canvas.width > 0 && canvas.height > 0) {
90728
- const dataUrl = canvas.toDataURL("image/png");
90729
- if ((canvas.dataset.dataUrl || "") === dataUrl)
90730
- return;
90731
- isNonBlackImage(dataUrl).then((result) => {
90732
- if (result) {
90733
- canvas.dataset.dataUrl = dataUrl;
90734
- }
90735
- });
90736
- }
90737
- });
90738
- }
90739
- function patchRequestAnimationFrame(win) {
90740
- var _a;
90741
- if (win.__rafPatched) {
90742
- return;
90743
- }
90744
- const HTMLCanvasElementCtor = win.HTMLCanvasElement || win.constructor && win.constructor.HTMLCanvasElement || win.document && ((_a = win.document.defaultView) === null || _a === void 0 ? void 0 : _a.HTMLCanvasElement);
90745
- const origGetContext = HTMLCanvasElementCtor && HTMLCanvasElementCtor.prototype.getContext;
90746
- if (!origGetContext) {
90747
- return;
90748
- }
90749
- const originalRAF = win.requestAnimationFrame;
90750
- win.requestAnimationFrame = function(callback) {
90751
- const rafId = originalRAF.call(this, (time) => {
90752
- callback.call(win, time);
90753
- processWebGLCanvases(win);
90754
- });
90755
- return rafId;
90756
- };
90757
- win.__rafPatched = true;
90758
- }
90759
- function takeCanvasScreenshots(win = window) {
90760
- if (win.__rafPatched) {
90761
- return;
90762
- }
90763
- try {
90764
- patchRequestAnimationFrame(win);
90765
- } catch (e) {
90766
- }
90767
- }
90768
- Object.assign(window, { takeCanvasScreenshots });
90769
- takeCanvasScreenshots();
90770
- }
90771
- exports.captureImagesFunc = captureImagesFunc;
90772
- }
90773
- });
90774
-
90775
90685
  // ../core/dist/ufg/utils/register-default-scripts.js
90776
90686
  var require_register_default_scripts = __commonJS({
90777
90687
  "../core/dist/ufg/utils/register-default-scripts.js"(exports) {
@@ -90781,24 +90691,44 @@ var require_register_default_scripts = __commonJS({
90781
90691
  init_buffer();
90782
90692
  init_setInterval();
90783
90693
  Object.defineProperty(exports, "__esModule", { value: true });
90784
- exports.registerDefaultScripts = void 0;
90785
- var capture_canvas_image_always_1 = require_capture_canvas_image_always();
90694
+ exports.registerDefaultScripts = exports.makeRegisterOnNewDocumentScripts = void 0;
90695
+ var driver_1 = require_dist4();
90786
90696
  var utils_1 = require_browser3();
90787
90697
  function wrapFunctionAsIIFE(fn) {
90788
90698
  return `(()=>{ ${fn.toString()} return ${fn.name}.call()})()`;
90789
90699
  }
90790
- async function registerDefaultScripts({ driver, logger }) {
90700
+ function makeRegisterOnNewDocumentScripts({ spec, logger }) {
90701
+ return async function registerOnNewDocumentScripts({ target, enableScripts }) {
90702
+ const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
90703
+ return registerDefaultScripts({ driver, logger, enableScripts });
90704
+ };
90705
+ }
90706
+ exports.makeRegisterOnNewDocumentScripts = makeRegisterOnNewDocumentScripts;
90707
+ async function registerDefaultScripts({ driver, enableScripts, logger }) {
90791
90708
  if (!driver)
90792
90709
  return [];
90793
90710
  try {
90794
- const captureImagesScript = wrapFunctionAsIIFE(capture_canvas_image_always_1.captureImagesFunc);
90711
+ const captureImagesScript = wrapFunctionAsIIFE(utils_1.snippets.captureImagesFunc);
90795
90712
  const scripts = [];
90796
- if (utils_1.general.getEnvValue("CAPTURE_CANVAS_WITH_WEBGL", "boolean") === true) {
90713
+ if (utils_1.general.getEnvValue("CAPTURE_CANVAS_WITH_WEBGL", "boolean") === true || (enableScripts === null || enableScripts === void 0 ? void 0 : enableScripts.captureImagesScript) === true) {
90797
90714
  scripts.push({ name: "captureImagesScript", code: captureImagesScript });
90798
90715
  }
90716
+ if (utils_1.general.getEnvValue("CAPTURE_CANVAS_WITH_PRESERVE_DRAWING_BUFFER", "boolean") === true || (enableScripts === null || enableScripts === void 0 ? void 0 : enableScripts.enableCanvasPreserveDrawingBufferScript) === true) {
90717
+ scripts.push({
90718
+ name: "enableCanvasPreserveDrawingBufferScript",
90719
+ code: wrapFunctionAsIIFE(utils_1.snippets.enableCanvasPreserveDrawingBuffer)
90720
+ });
90721
+ }
90722
+ if (utils_1.general.getEnvValue("CAPTURE_CANVAS_WITH_PRESERVE_DRAWING_BUFFER", "boolean") === false || (enableScripts === null || enableScripts === void 0 ? void 0 : enableScripts.disableCanvasPreserveDrawingBufferScript) === true) {
90723
+ scripts.push({
90724
+ name: "disableCanvasPreserveDrawingBufferScript",
90725
+ code: wrapFunctionAsIIFE(utils_1.snippets.disableCanvasPreserveDrawingBuffer)
90726
+ });
90727
+ }
90799
90728
  await Promise.all(scripts.map(async (script) => {
90800
90729
  logger.info("running user script", script.name);
90801
90730
  await driver.addScriptToEvaluateOnNewDocument(script.code);
90731
+ logger.info("user script registered successfully", script.name);
90802
90732
  }));
90803
90733
  return scripts;
90804
90734
  } catch (error) {
@@ -92388,6 +92318,20 @@ var require_get_manager_results = __commonJS({
92388
92318
  }
92389
92319
  });
92390
92320
 
92321
+ // ../core/dist/utils/constants.js
92322
+ var require_constants5 = __commonJS({
92323
+ "../core/dist/utils/constants.js"(exports) {
92324
+ "use strict";
92325
+ init_process();
92326
+ init_setImmediate();
92327
+ init_buffer();
92328
+ init_setInterval();
92329
+ Object.defineProperty(exports, "__esModule", { value: true });
92330
+ exports.DEFAULT_CONCURRENCY = void 0;
92331
+ exports.DEFAULT_CONCURRENCY = 100;
92332
+ }
92333
+ });
92334
+
92391
92335
  // ../core/dist/make-manager.js
92392
92336
  var require_make_manager = __commonJS({
92393
92337
  "../core/dist/make-manager.js"(exports) {
@@ -92436,13 +92380,14 @@ var require_make_manager = __commonJS({
92436
92380
  var open_eyes_1 = require_open_eyes4();
92437
92381
  var get_manager_results_1 = require_get_manager_results();
92438
92382
  var utils34 = __importStar(require_browser3());
92383
+ var constants_1 = require_constants5();
92439
92384
  function makeMakeManager({ spec, clients, core, base: defaultBase, agentId: defaultAgentId, environment, cwd = process.cwd(), logger: mainLogger, asyncCache, offlineLocationPath, maskLog }) {
92440
92385
  return async function makeManager({ type = "classic", settings, logger = mainLogger } = {}) {
92441
92386
  var _a, _b, _c, _d, _e, _f, _g;
92442
92387
  var _h, _j;
92443
92388
  logger = logger.extend(mainLogger, { tags: [`manager-${type}-${utils34.general.shortid()}`], maskLog });
92444
92389
  settings !== null && settings !== void 0 ? settings : settings = {};
92445
- (_a = settings.concurrency) !== null && _a !== void 0 ? _a : settings.concurrency = (_b = utils34.general.getEnvValue("CONCURRENCY", "number")) !== null && _b !== void 0 ? _b : utils34.types.isInteger(settings.legacyConcurrency) ? settings.legacyConcurrency * 5 : 100;
92390
+ (_a = settings.concurrency) !== null && _a !== void 0 ? _a : settings.concurrency = (_b = utils34.general.getEnvValue("CONCURRENCY", "number")) !== null && _b !== void 0 ? _b : utils34.types.isInteger(settings.legacyConcurrency) ? settings.legacyConcurrency * 5 : constants_1.DEFAULT_CONCURRENCY;
92446
92391
  (_c = settings.batch) !== null && _c !== void 0 ? _c : settings.batch = {};
92447
92392
  (_d = (_h = settings.batch).id) !== null && _d !== void 0 ? _d : _h.id = (_e = utils34.general.getEnvValue("BATCH_ID")) !== null && _e !== void 0 ? _e : `generated-${utils34.general.guid()}`;
92448
92393
  (_f = (_j = settings.batch).buildId) !== null && _f !== void 0 ? _f : _j.buildId = utils34.general.getEnvValue("BATCH_BUILD_ID");
@@ -92668,7 +92613,7 @@ var require_package2 = __commonJS({
92668
92613
  "../core/package.json"(exports, module) {
92669
92614
  module.exports = {
92670
92615
  name: "@applitools/core",
92671
- version: "4.45.0",
92616
+ version: "4.47.0",
92672
92617
  homepage: "https://applitools.com",
92673
92618
  bugs: {
92674
92619
  url: "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -96446,12 +96391,14 @@ var require_core5 = __commonJS({
96446
96391
  var create_render_results_1 = require_create_render_results();
96447
96392
  var open_eyes_1 = require_open_eyes5();
96448
96393
  var open_check_and_close_1 = require_open_check_and_close2();
96394
+ var register_default_scripts_1 = require_register_default_scripts();
96449
96395
  function makeAutonomousCore({ spec, clients, base: defaultBase, asyncCache, agentId = "core-autonomous", logger: defaultLogger } = {}) {
96450
96396
  const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core-autonomous" } });
96451
96397
  const core = (0, core_1.makeCore)({ spec, clients, base: defaultBase, asyncCache, agentId, logger });
96452
96398
  return {
96453
96399
  type: "autonomous",
96454
96400
  takeSnapshots: spec && (0, take_snapshots_1.makeTakeSnapshots)({ core, spec, logger }),
96401
+ startSDKHook: spec && (0, register_default_scripts_1.makeRegisterOnNewDocumentScripts)({ spec, logger }),
96455
96402
  createRenderTarget: (0, create_render_target_1.makeCreateRenderTarget)({ core, logger }),
96456
96403
  startRenders: (0, start_renders_1.makeStartRenders)({ core, logger }),
96457
96404
  getRenderResults: (0, get_render_results_1.makeGetRenderResults)({ core, logger }),
@@ -97020,6 +96967,7 @@ var require_dist9 = __commonJS({
97020
96967
  __exportStar(require_debug2(), exports);
97021
96968
  exports.formatters = __importStar(require_format_results());
97022
96969
  exports.logs = __importStar(require_logs());
96970
+ __exportStar(require_constants5(), exports);
97023
96971
  }
97024
96972
  });
97025
96973
 
@@ -97028,7 +96976,7 @@ var require_package3 = __commonJS({
97028
96976
  "../eyes/package.json"(exports, module) {
97029
96977
  module.exports = {
97030
96978
  name: "@applitools/eyes",
97031
- version: "1.36.4",
96979
+ version: "1.36.6",
97032
96980
  keywords: [
97033
96981
  "applitools",
97034
96982
  "eyes",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-browser",
3
- "version": "1.5.4",
3
+ "version": "1.5.6",
4
4
  "keywords": [
5
5
  "applitools",
6
6
  "browser",
@@ -48,7 +48,7 @@
48
48
  "test": "run --top-level mocha './test/**/*.spec.ts'"
49
49
  },
50
50
  "dependencies": {
51
- "@applitools/eyes": "1.36.4"
51
+ "@applitools/eyes": "1.36.6"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/node": "^12.20.55",