@applitools/core 4.71.0 → 4.72.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,165 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.72.1](https://github.com/Applitools-Dev/sdk/compare/js/core@4.72.0...js/core@4.72.1) (2026-10-13)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * remove the figma experimental warning | AD-16752 ([#4262](https://github.com/Applitools-Dev/sdk/issues/4262)) ([ef81eda](https://github.com/Applitools-Dev/sdk/commit/ef81edaaf340160509f81386c9772a1e1623decc))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * @applitools/utils bumped to 1.15.3
14
+ #### Bug Fixes
15
+
16
+ * publish once to validate the npm trusted publishers ([#4300](https://github.com/Applitools-Dev/sdk/issues/4300)) ([63ebc90](https://github.com/Applitools-Dev/sdk/commit/63ebc9044b150c6f927f626d0ce9cc7da8861441))
17
+ * @applitools/logger bumped to 2.3.2
18
+ #### Bug Fixes
19
+
20
+ * publish once to validate the npm trusted publishers ([#4300](https://github.com/Applitools-Dev/sdk/issues/4300)) ([63ebc90](https://github.com/Applitools-Dev/sdk/commit/63ebc9044b150c6f927f626d0ce9cc7da8861441))
21
+
22
+
23
+
24
+ * @applitools/dom-shared bumped to 1.2.4
25
+ #### Bug Fixes
26
+
27
+ * publish once to validate the npm trusted publishers ([#4300](https://github.com/Applitools-Dev/sdk/issues/4300)) ([63ebc90](https://github.com/Applitools-Dev/sdk/commit/63ebc9044b150c6f927f626d0ce9cc7da8861441))
28
+ * @applitools/socket bumped to 1.3.18
29
+ #### Bug Fixes
30
+
31
+ * publish once to validate the npm trusted publishers ([#4300](https://github.com/Applitools-Dev/sdk/issues/4300)) ([63ebc90](https://github.com/Applitools-Dev/sdk/commit/63ebc9044b150c6f927f626d0ce9cc7da8861441))
32
+
33
+
34
+
35
+ * @applitools/dom-snapshot bumped to 4.18.6
36
+
37
+ * @applitools/image bumped to 1.3.4
38
+ #### Bug Fixes
39
+
40
+ * publish once to validate the npm trusted publishers ([#4300](https://github.com/Applitools-Dev/sdk/issues/4300)) ([63ebc90](https://github.com/Applitools-Dev/sdk/commit/63ebc9044b150c6f927f626d0ce9cc7da8861441))
41
+
42
+
43
+
44
+ * @applitools/req bumped to 1.11.5
45
+
46
+ * @applitools/snippets bumped to 2.9.9
47
+
48
+ * @applitools/dom-capture bumped to 11.8.8
49
+
50
+ * @applitools/driver bumped to 1.26.13
51
+
52
+ * @applitools/spec-driver-webdriver bumped to 1.6.13
53
+
54
+ * @applitools/spec-driver-selenium bumped to 1.8.13
55
+
56
+ * @applitools/spec-driver-playwright bumped to 1.9.13
57
+
58
+ * @applitools/spec-driver-puppeteer bumped to 1.8.13
59
+
60
+ * @applitools/screenshoter bumped to 3.12.35
61
+
62
+ * @applitools/nml-client bumped to 1.12.8
63
+
64
+ * @applitools/tunnel-client bumped to 1.12.6
65
+
66
+ * @applitools/ufg-client bumped to 1.23.7
67
+
68
+ * @applitools/test-server bumped to 1.4.8
69
+ #### Bug Fixes
70
+
71
+ * publish once to validate the npm trusted publishers ([#4300](https://github.com/Applitools-Dev/sdk/issues/4300)) ([63ebc90](https://github.com/Applitools-Dev/sdk/commit/63ebc9044b150c6f927f626d0ce9cc7da8861441))
72
+
73
+
74
+
75
+ * @applitools/core-base bumped to 1.41.1
76
+
77
+ * @applitools/ec-client bumped to 1.12.51
78
+
79
+
80
+ ## [4.72.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.71.0...js/core@4.72.0) (2026-10-12)
81
+
82
+
83
+ ### Features
84
+
85
+ * per-run accessibility run options for UFG renders | AD-16443 ([#4207](https://github.com/Applitools-Dev/sdk/issues/4207)) ([ea0e789](https://github.com/Applitools-Dev/sdk/commit/ea0e789826304f3ce7adbea32cc85de0718b2722))
86
+
87
+
88
+ ### Bug Fixes
89
+
90
+ * version-check/telemetry no longer hold the process — connect deadline + unref | AD-16613 ([#4232](https://github.com/Applitools-Dev/sdk/issues/4232)) ([42bcbb5](https://github.com/Applitools-Dev/sdk/commit/42bcbb5dd8d75ad4aa98c2ec0d284f107fdc98e3))
91
+
92
+
93
+ ### Performance Improvements
94
+
95
+ * upload inline data: URIs as resources | AD-15789 ([#4119](https://github.com/Applitools-Dev/sdk/issues/4119)) ([cbd9afa](https://github.com/Applitools-Dev/sdk/commit/cbd9afa8de664b32f23119690b14a0aef998acaf))
96
+
97
+
98
+ ### Dependencies
99
+
100
+ * @applitools/dom-snapshot bumped to 4.18.5
101
+ #### Bug Fixes
102
+
103
+ * keep the video src when there is no source fallback | FLD-4948 ([#4209](https://github.com/Applitools-Dev/sdk/issues/4209)) ([50d0909](https://github.com/Applitools-Dev/sdk/commit/50d09091291dd64055c42104695f8726594558ac))
104
+ * record blob videos so HLS videos render in UFG | AD-16937 ([#4277](https://github.com/Applitools-Dev/sdk/issues/4277)) ([3bdcdcc](https://github.com/Applitools-Dev/sdk/commit/3bdcdccf068ce9f827065f24bd00cb543004f2b3))
105
+
106
+
107
+ #### Performance Improvements
108
+
109
+ * upload inline data: URIs as resources | AD-15789 ([#4119](https://github.com/Applitools-Dev/sdk/issues/4119)) ([cbd9afa](https://github.com/Applitools-Dev/sdk/commit/cbd9afa8de664b32f23119690b14a0aef998acaf))
110
+
111
+
112
+
113
+ * @applitools/req bumped to 1.11.4
114
+ #### Bug Fixes
115
+
116
+ * version-check/telemetry no longer hold the process — connect deadline + unref | AD-16613 ([#4232](https://github.com/Applitools-Dev/sdk/issues/4232)) ([42bcbb5](https://github.com/Applitools-Dev/sdk/commit/42bcbb5dd8d75ad4aa98c2ec0d284f107fdc98e3))
117
+ * @applitools/snippets bumped to 2.9.8
118
+ #### Bug Fixes
119
+
120
+ * stop element id path at the document the snippet runs in | FLD-5098 ([#4285](https://github.com/Applitools-Dev/sdk/issues/4285)) ([94c4296](https://github.com/Applitools-Dev/sdk/commit/94c4296988a94832435cac92096d10ec78e96ce8))
121
+ * @applitools/dom-capture bumped to 11.8.7
122
+ #### Bug Fixes
123
+
124
+ * check element visibility in its own frame and realm | AD-14874 ([#4267](https://github.com/Applitools-Dev/sdk/issues/4267)) ([222025b](https://github.com/Applitools-Dev/sdk/commit/222025b5b77394b661ab49c307146ec6f191ba14))
125
+ * @applitools/screenshoter bumped to 3.12.34
126
+ #### Bug Fixes
127
+
128
+ * do not write an identity transform in mixed+ scrolling | FLD-4370 ([#4272](https://github.com/Applitools-Dev/sdk/issues/4272)) ([b17532a](https://github.com/Applitools-Dev/sdk/commit/b17532ae1b311d5eb092cb866b42accc8f0fc3ae))
129
+
130
+
131
+
132
+ * @applitools/driver bumped to 1.26.12
133
+
134
+ * @applitools/spec-driver-webdriver bumped to 1.6.12
135
+
136
+ * @applitools/spec-driver-selenium bumped to 1.8.12
137
+
138
+ * @applitools/spec-driver-playwright bumped to 1.9.12
139
+
140
+ * @applitools/spec-driver-puppeteer bumped to 1.8.12
141
+
142
+ * @applitools/nml-client bumped to 1.12.7
143
+
144
+ * @applitools/tunnel-client bumped to 1.12.5
145
+
146
+ * @applitools/ufg-client bumped to 1.23.6
147
+
148
+ * @applitools/core-base bumped to 1.41.0
149
+ #### Features
150
+
151
+ * report NLP step counts per Eyes session | AD-16681 ([#4257](https://github.com/Applitools-Dev/sdk/issues/4257)) ([b84a1cc](https://github.com/Applitools-Dev/sdk/commit/b84a1ccac25c4d61a98ee382a18f54c1011c53e6))
152
+
153
+
154
+ #### Bug Fixes
155
+
156
+ * version-check/telemetry no longer hold the process — connect deadline + unref | AD-16613 ([#4232](https://github.com/Applitools-Dev/sdk/issues/4232)) ([42bcbb5](https://github.com/Applitools-Dev/sdk/commit/42bcbb5dd8d75ad4aa98c2ec0d284f107fdc98e3))
157
+
158
+
159
+
160
+ * @applitools/ec-client bumped to 1.12.50
161
+
162
+
3
163
  ## [4.71.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.70.3...js/core@4.71.0) (2026-10-01)
4
164
 
5
165
 
@@ -27,7 +27,10 @@ function makeStartRenders({ core, logger: defaultLogger }) {
27
27
  }, Promise.resolve(new Map()));
28
28
  const renders = await Promise.all(Array.from(clients.entries(), async ([ufgClient, targets]) => {
29
29
  const accessibilityReportOptions = targets.map(target => target.settings.accessibilitySettings
30
- ? (0, build_accessibility_report_options_1.buildAccessibilityReportOptions)({ accessibilityOptions: target.account.accessibilityOptions })
30
+ ? (0, build_accessibility_report_options_1.buildAccessibilityReportOptions)({
31
+ accountOptions: target.account.accessibilityOptions,
32
+ runOptions: target.settings.accessibilityRunOptions,
33
+ })
31
34
  : undefined);
32
35
  const [renders, ...environments] = await Promise.all([
33
36
  ufgClient.startRenders({
@@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeCheckAndClose = void 0;
27
27
  const driver_1 = require("@applitools/driver");
28
28
  const utils = __importStar(require("@applitools/utils"));
29
+ const lang = __importStar(require("./lang"));
29
30
  function makeCheckAndClose({ type: defaultType = 'classic', eyes, target: defaultTarget, environments: openEnvironments, spec, logger: mainLogger, }) {
30
31
  return async function checkAndClose({ type = defaultType, target = defaultTarget, settings = {}, config, logger = mainLogger, } = {}) {
31
32
  logger = logger.extend(mainLogger, { tags: [`check-and-close-${type}-${utils.general.shortid()}`] });
@@ -36,6 +37,9 @@ function makeCheckAndClose({ type: defaultType = 'classic', eyes, target: defaul
36
37
  ;
37
38
  settings.environments = openEnvironments;
38
39
  }
40
+ if (type === 'classic' && settings.accessibilityRunOptions) {
41
+ throw new Error(lang.accessibilityRunOptionsUnsupportedInClassicError);
42
+ }
39
43
  const driver = (0, driver_1.isDriver)(target, spec)
40
44
  ? await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger })
41
45
  : null;
package/dist/check.js CHANGED
@@ -46,6 +46,9 @@ function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget,
46
46
  ;
47
47
  settings.environments = openEnvironments;
48
48
  }
49
+ if (type === 'classic' && settings.accessibilityRunOptions) {
50
+ throw new Error(lang.accessibilityRunOptionsUnsupportedInClassicError);
51
+ }
49
52
  (_a = settings.fully) !== null && _a !== void 0 ? _a : (settings.fully = !settings.region && (!settings.frames || settings.frames.length === 0));
50
53
  (_b = settings.waitBeforeCapture) !== null && _b !== void 0 ? _b : (settings.waitBeforeCapture = defaults_1.DEFAULT_WAIT_BEFORE_CAPTURE);
51
54
  (_c = settings.hideScrollbars) !== null && _c !== void 0 ? _c : (settings.hideScrollbars = true);
@@ -22,9 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  exports.setFigmaBaseline = exports.setFigmaBaselineFlow = void 0;
30
27
  // Figma baseline resolver (AD-14881): orchestration only, operating directly on core's OpenSettings
@@ -37,17 +34,6 @@ const target_config_1 = require("./target-config");
37
34
  const client_1 = require("./client");
38
35
  const figma_images_1 = require("./figma-images");
39
36
  const run_figma_check_1 = require("./run-figma-check");
40
- const lang = __importStar(require("../lang"));
41
- const chalk_1 = __importDefault(require("chalk"));
42
- let experimentalWarned = false;
43
- function warnExperimental(logger) {
44
- logger.warn(lang.figmaExperimentalWarning);
45
- // The console copy is once per process — a storybook run resolves a design per story.
46
- if (experimentalWarned)
47
- return;
48
- experimentalWarned = true;
49
- logger.console.warn(chalk_1.default.yellow(lang.figmaExperimentalWarning));
50
- }
51
37
  async function setFigmaBaselineFlow(figmaUrls, originalConfig, deps, logger, mode = 'auto-baseline', viewportOpts = {}) {
52
38
  var _a, _b;
53
39
  const maxViewportHeight = (_a = viewportOpts.maxViewportHeight) !== null && _a !== void 0 ? _a : target_config_1.DEFAULT_MAX_VIEWPORT_HEIGHT;
@@ -172,7 +158,6 @@ async function setFigmaBaseline(configuration, figmaBaselines, logger, opts) {
172
158
  const figmaUrls = (0, utils_1.resolveFigmaUrls)(figmaBaselines, configuration.testName);
173
159
  if (figmaUrls === null)
174
160
  return;
175
- warnExperimental(logger);
176
161
  const updated = await setFigmaBaselineFlow(figmaUrls, configuration, deps, logger, mode, {
177
162
  maxViewportHeight: opts === null || opts === void 0 ? void 0 : opts.maxViewportHeight,
178
163
  minViewportSize: opts === null || opts === void 0 ? void 0 : opts.minViewportSize,
package/dist/lang.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applitoolsLibConflictingCapabilitiesWarning = exports.requestedEnvironmentOutOfDriverBoundsWarning = exports.breakpointOutOfDriverBoundsWarning = exports.requestedEnvironmentSmallerThenBreakpointWarning = exports.outdatedSdkVersionWarning = exports.figmaExperimentalWarning = exports.edgeUfgEnvironmentDeprecatedWarning = exports.matchLevelContentDeprecatedWarning = void 0;
3
+ exports.applitoolsLibConflictingCapabilitiesWarning = exports.requestedEnvironmentOutOfDriverBoundsWarning = exports.breakpointOutOfDriverBoundsWarning = exports.requestedEnvironmentSmallerThenBreakpointWarning = exports.outdatedSdkVersionWarning = exports.accessibilityRunOptionsUnsupportedInClassicError = exports.edgeUfgEnvironmentDeprecatedWarning = exports.matchLevelContentDeprecatedWarning = void 0;
4
4
  exports.matchLevelContentDeprecatedWarning = `The "Content" match level value has been deprecated, use "IgnoreColors" instead.`;
5
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
- exports.figmaExperimentalWarning = `Figma support is experimental. It is not officially supported and may change or be removed in a future release.`;
6
+ exports.accessibilityRunOptionsUnsupportedInClassicError = `Accessibility run options are only supported in the Ultrafast Grid, not with classic runners.`;
7
7
  const outdatedSdkVersionWarning = (options) => {
8
8
  return `You are using "${options.currentVersion}" and there is a newer version "${options.latestVersion}" of the "${options.name}" SDK.`;
9
9
  };
@@ -360,7 +360,10 @@ async function runOfflineSnapshots(options) {
360
360
  });
361
361
  // Only request a report when the check configures an accessibility standard.
362
362
  const accessibilityReportOptions = target.settings.accessibilitySettings
363
- ? (0, build_accessibility_report_options_1.buildAccessibilityReportOptions)({ accessibilityOptions: account.accessibilityOptions })
363
+ ? (0, build_accessibility_report_options_1.buildAccessibilityReportOptions)({
364
+ accountOptions: account.accessibilityOptions,
365
+ runOptions: target.settings.accessibilityRunOptions,
366
+ })
364
367
  : undefined;
365
368
  const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
366
369
  target: target.target,
@@ -27,14 +27,18 @@ exports.buildAccessibilityReportOptions = void 0;
27
27
  const utils = __importStar(require("@applitools/utils"));
28
28
  const REPORT_ID_PLACEHOLDER = '__report_id__';
29
29
  /**
30
- * Builds the `accessibilityReportOptions` render option: forwards `runOptions` verbatim and fills the
30
+ * Builds the `accessibilityReportOptions` render option: forwards run options verbatim and fills the
31
31
  * `uploadUrl` template's `__report_id__` with a fresh random id. Returns `undefined` when the account
32
- * has no accessibility options.
32
+ * has no accessibility options — the upload URL is always the backend's, so a run cannot enable a
33
+ * report on its own.
34
+ *
35
+ * The two sources of run options meet here rather than at each render call site: `accountOptions` is
36
+ * the account-wide config from renderinfo, `runOptions` the per-run override that wins over it.
33
37
  */
34
- function buildAccessibilityReportOptions({ accessibilityOptions, reportId = utils.general.guid(), }) {
35
- if (!accessibilityOptions)
38
+ function buildAccessibilityReportOptions({ accountOptions, runOptions, reportId = utils.general.guid(), }) {
39
+ if (!accountOptions)
36
40
  return undefined;
37
- const uploadUrl = accessibilityOptions.uploadUrl.split(REPORT_ID_PLACEHOLDER).join(encodeURIComponent(reportId));
38
- return { axeCoreOptions: accessibilityOptions.runOptions, uploadUrl };
41
+ const uploadUrl = accountOptions.uploadUrl.split(REPORT_ID_PLACEHOLDER).join(encodeURIComponent(reportId));
42
+ return { axeCoreOptions: runOptions !== null && runOptions !== void 0 ? runOptions : accountOptions.runOptions, uploadUrl };
39
43
  }
40
44
  exports.buildAccessibilityReportOptions = buildAccessibilityReportOptions;
@@ -118,7 +118,10 @@ function makeCheckAndClose({ eyes, target: defaultTarget, environments: defaultE
118
118
  });
119
119
  // Only request a report when the check configures an accessibility standard.
120
120
  const accessibilityReportOptions = settings.accessibilitySettings
121
- ? (0, build_accessibility_report_options_1.buildAccessibilityReportOptions)({ accessibilityOptions: eyes.test.account.accessibilityOptions })
121
+ ? (0, build_accessibility_report_options_1.buildAccessibilityReportOptions)({
122
+ accountOptions: eyes.test.account.accessibilityOptions,
123
+ runOptions: settings.accessibilityRunOptions,
124
+ })
122
125
  : undefined;
123
126
  const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
124
127
  target: renderTarget,
package/dist/ufg/check.js CHANGED
@@ -126,7 +126,10 @@ function makeCheck({ eyes, target: defaultTarget, environments: defaultEnvironme
126
126
  var _a, _b;
127
127
  // Only request a report when the check configures an accessibility standard.
128
128
  const accessibilityReportOptions = settings.accessibilitySettings
129
- ? (0, build_accessibility_report_options_1.buildAccessibilityReportOptions)({ accessibilityOptions: eyes.test.account.accessibilityOptions })
129
+ ? (0, build_accessibility_report_options_1.buildAccessibilityReportOptions)({
130
+ accountOptions: eyes.test.account.accessibilityOptions,
131
+ runOptions: settings.accessibilityRunOptions,
132
+ })
130
133
  : undefined;
131
134
  const { renderId, selectorRegions, ...target } = await ufgClient.render({
132
135
  target: renderTarget,
@@ -51,6 +51,7 @@ async function takeDomSnapshot({ context, settings, logger, }) {
51
51
  fetchConcurrency: settings === null || settings === void 0 ? void 0 : settings.fetchConcurrency,
52
52
  removeReverseProxyURLPrefixes: Boolean(process.env.APPLITOOLS_SCRIPT_REMOVE_REVERSE_PROXY_URL_PREFIXES),
53
53
  skipCDTDedup: utils.general.getEnvValue('SKIP_CDT_DEDUP', 'boolean'),
54
+ skipDataUriExtraction: utils.general.getEnvValue('SKIP_DATA_URI_EXTRACTION', 'boolean'),
54
55
  chunkByteLength: (_a = settings === null || settings === void 0 ? void 0 : settings.chunkByteLength) !== null && _a !== void 0 ? _a : (Number(process.env.APPLITOOLS_SCRIPT_RESULT_MAX_BYTE_LENGTH) ||
55
56
  (environment.isIOS ? 100000 : 250 * 1024 * 1024)),
56
57
  serializeResources: true,
@@ -32,6 +32,10 @@ const lt_1 = __importDefault(require("semver/functions/lt"));
32
32
  const chalk_1 = __importDefault(require("chalk"));
33
33
  const utils = __importStar(require("@applitools/utils"));
34
34
  const lang = __importStar(require("../lang"));
35
+ // `unref` frees an already-connected socket, but a connect that stalls (unproxied traffic silently
36
+ // dropped on a proxy-only network) keeps the process alive until the OS gives up (~75s) — only a
37
+ // deadline ends it. The check is best-effort, so the deadline is short.
38
+ const versionReqOptions = { unref: true, connectionTimeout: 5000 };
35
39
  const extractors = {
36
40
  js: utils.general.cachify(extractLatestJsPackageVersion),
37
41
  java: utils.general.cachify(extractLatestJavaPackageVersion),
@@ -58,31 +62,31 @@ async function validateSdkVersion(sdk, { logger }) {
58
62
  }
59
63
  exports.validateSdkVersion = validateSdkVersion;
60
64
  async function extractLatestJsPackageVersion(name) {
61
- const response = await (0, req_1.req)(`https://registry.npmjs.org/${name}/latest`);
65
+ const response = await (0, req_1.req)(`https://registry.npmjs.org/${name}/latest`, versionReqOptions);
62
66
  const info = await response.json();
63
67
  return info.version;
64
68
  }
65
69
  exports.extractLatestJsPackageVersion = extractLatestJsPackageVersion;
66
70
  async function extractLatestJavaPackageVersion(name) {
67
- const response = await (0, req_1.req)(`https://search.maven.org/solrsearch/select?q=a:${name}&wt=json`);
71
+ const response = await (0, req_1.req)(`https://search.maven.org/solrsearch/select?q=a:${name}&wt=json`, versionReqOptions);
68
72
  const info = await response.json();
69
73
  return info.response.docs[0].latestVersion;
70
74
  }
71
75
  exports.extractLatestJavaPackageVersion = extractLatestJavaPackageVersion;
72
76
  async function extractLatestDotNetPackageVersion(name) {
73
- const response = await (0, req_1.req)(`https://api.nuget.org/v3-flatcontainer/${name.toLowerCase()}/index.json`);
77
+ const response = await (0, req_1.req)(`https://api.nuget.org/v3-flatcontainer/${name.toLowerCase()}/index.json`, versionReqOptions);
74
78
  const info = await response.json();
75
79
  return info.versions[info.versions.length - 1];
76
80
  }
77
81
  exports.extractLatestDotNetPackageVersion = extractLatestDotNetPackageVersion;
78
82
  async function extractLatestPythonPackageVersion(name) {
79
- const response = await (0, req_1.req)(`https://pypi.org/pypi/${name}/json`);
83
+ const response = await (0, req_1.req)(`https://pypi.org/pypi/${name}/json`, versionReqOptions);
80
84
  const info = await response.json();
81
85
  return info.info.version;
82
86
  }
83
87
  exports.extractLatestPythonPackageVersion = extractLatestPythonPackageVersion;
84
88
  async function extractLatestRubyPackageVersion(name) {
85
- const response = await (0, req_1.req)(`https://rubygems.org/api/v1/gems/${name}.json`);
89
+ const response = await (0, req_1.req)(`https://rubygems.org/api/v1/gems/${name}.json`, versionReqOptions);
86
90
  const info = await response.json();
87
91
  return info.version;
88
92
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "4.71.0",
3
+ "version": "4.72.1",
4
4
  "homepage": "https://applitools.com",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": {
@@ -55,20 +55,20 @@
55
55
  "test:ios-simulator": "MOCHA_ONLY_TAGS=ios-simulator MOCHA_GROUP=ios-simulator run --top-level mocha ./test/e2e/classic/webview.spec.ts --exit --require ./test/mocha-global-setup.js"
56
56
  },
57
57
  "dependencies": {
58
- "@applitools/core-base": "1.40.0",
59
- "@applitools/dom-capture": "11.8.6",
60
- "@applitools/dom-snapshot": "4.18.4",
61
- "@applitools/driver": "1.26.11",
62
- "@applitools/ec-client": "1.12.49",
63
- "@applitools/image": "1.3.3",
64
- "@applitools/logger": "2.3.1",
65
- "@applitools/nml-client": "1.12.6",
66
- "@applitools/req": "1.11.3",
67
- "@applitools/screenshoter": "3.12.33",
68
- "@applitools/snippets": "2.9.7",
69
- "@applitools/socket": "1.3.17",
70
- "@applitools/ufg-client": "1.23.5",
71
- "@applitools/utils": "1.15.2",
58
+ "@applitools/core-base": "1.41.1",
59
+ "@applitools/dom-capture": "11.8.8",
60
+ "@applitools/dom-snapshot": "4.18.6",
61
+ "@applitools/driver": "1.26.13",
62
+ "@applitools/ec-client": "1.12.51",
63
+ "@applitools/image": "1.3.4",
64
+ "@applitools/logger": "2.3.2",
65
+ "@applitools/nml-client": "1.12.8",
66
+ "@applitools/req": "1.11.5",
67
+ "@applitools/screenshoter": "3.12.35",
68
+ "@applitools/snippets": "2.9.9",
69
+ "@applitools/socket": "1.3.18",
70
+ "@applitools/ufg-client": "1.23.7",
71
+ "@applitools/utils": "1.15.3",
72
72
  "abort-controller": "3.0.0",
73
73
  "chalk": "4.1.2",
74
74
  "fast-xml-parser": "5.11.1",
@@ -79,13 +79,13 @@
79
79
  },
80
80
  "devDependencies": {
81
81
  "@applitools/bongo": "^5.10.0",
82
- "@applitools/spec-driver-playwright": "^1.9.11",
83
- "@applitools/spec-driver-puppeteer": "^1.8.11",
84
- "@applitools/spec-driver-selenium": "^1.8.11",
85
- "@applitools/spec-driver-webdriver": "^1.6.11",
86
- "@applitools/test-server": "^1.4.7",
82
+ "@applitools/spec-driver-playwright": "^1.9.13",
83
+ "@applitools/spec-driver-puppeteer": "^1.8.13",
84
+ "@applitools/spec-driver-selenium": "^1.8.13",
85
+ "@applitools/spec-driver-webdriver": "^1.6.13",
86
+ "@applitools/test-server": "^1.4.8",
87
87
  "@applitools/test-utils": "^1.5.17",
88
- "@applitools/tunnel-client": "^1.12.4",
88
+ "@applitools/tunnel-client": "^1.12.6",
89
89
  "@swc-node/register": "^1.6.8",
90
90
  "@types/mocha": "^10.0.7",
91
91
  "@types/node": "^12.20.55",
@@ -100,6 +100,7 @@
100
100
  "nock": "^13.3.2",
101
101
  "playwright": "1.47.0",
102
102
  "png-async": "^0.9.4",
103
+ "pngjs": "^3.0.0",
103
104
  "puppeteer": "^24.11.1",
104
105
  "selenium-webdriver": "^4.15.0",
105
106
  "webdriver": "^5.23.0"
package/types/lang.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export declare const matchLevelContentDeprecatedWarning = "The \"Content\" match level value has been deprecated, use \"IgnoreColors\" instead.";
2
2
  export declare const 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.";
3
- export declare const figmaExperimentalWarning = "Figma support is experimental. It is not officially supported and may change or be removed in a future release.";
3
+ export declare const accessibilityRunOptionsUnsupportedInClassicError = "Accessibility run options are only supported in the Ultrafast Grid, not with classic runners.";
4
4
  export declare const outdatedSdkVersionWarning: (options: {
5
5
  name: string;
6
6
  currentVersion: string;
@@ -1,11 +1,16 @@
1
1
  import { type Account } from '@applitools/core-base';
2
2
  /**
3
- * Builds the `accessibilityReportOptions` render option: forwards `runOptions` verbatim and fills the
3
+ * Builds the `accessibilityReportOptions` render option: forwards run options verbatim and fills the
4
4
  * `uploadUrl` template's `__report_id__` with a fresh random id. Returns `undefined` when the account
5
- * has no accessibility options.
5
+ * has no accessibility options — the upload URL is always the backend's, so a run cannot enable a
6
+ * report on its own.
7
+ *
8
+ * The two sources of run options meet here rather than at each render call site: `accountOptions` is
9
+ * the account-wide config from renderinfo, `runOptions` the per-run override that wins over it.
6
10
  */
7
- export declare function buildAccessibilityReportOptions({ accessibilityOptions, reportId, }: {
8
- accessibilityOptions?: Account['accessibilityOptions'];
11
+ export declare function buildAccessibilityReportOptions({ accountOptions, runOptions, reportId, }: {
12
+ accountOptions?: Account['accessibilityOptions'];
13
+ runOptions?: unknown;
9
14
  reportId?: string;
10
15
  }): {
11
16
  axeCoreOptions: unknown;
@@ -33,6 +33,7 @@ export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, target
33
33
  }) | undefined;
34
34
  headers?: Record<string, string> | undefined;
35
35
  skipRootHtmlResource?: boolean | undefined;
36
+ accessibilityRunOptions?: unknown;
36
37
  } & import("@applitools/core-base").CloseSettings & {
37
38
  environments?: Environment[] | undefined;
38
39
  }) | undefined;
@@ -69,6 +69,8 @@ export type SnapshotSettings<TSpec extends SpecType> = AutomationCore.CheckSetti
69
69
  headers?: Record<string, string>;
70
70
  /** @internal */
71
71
  skipRootHtmlResource?: boolean;
72
+ /** @internal axe.run() options for this run, forwarded verbatim in place of the account's. */
73
+ accessibilityRunOptions?: unknown;
72
74
  };
73
75
  export type CheckSettings<TSpec extends SpecType> = SnapshotSettings<TSpec>;
74
76
  export type SafeCheckSettings = CheckSettings<SpecType<never, never, UFGSelector, never, never>>;