@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 +160 -0
- package/dist/autonomous/start-renders.js +4 -1
- package/dist/check-and-close.js +4 -0
- package/dist/check.js +3 -0
- package/dist/figma/figma.js +0 -15
- package/dist/lang.js +2 -2
- package/dist/offline/run-offline-snapshots.js +4 -1
- package/dist/ufg/build-accessibility-report-options.js +10 -6
- package/dist/ufg/check-and-close.js +4 -1
- package/dist/ufg/check.js +4 -1
- package/dist/ufg/utils/take-dom-snapshot.js +1 -0
- package/dist/utils/validate-sdk-version.js +9 -5
- package/package.json +22 -21
- package/types/lang.d.ts +1 -1
- package/types/ufg/build-accessibility-report-options.d.ts +9 -4
- package/types/ufg/check-and-close.d.ts +1 -0
- package/types/ufg/types.d.ts +2 -0
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)({
|
|
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({
|
package/dist/check-and-close.js
CHANGED
|
@@ -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);
|
package/dist/figma/figma.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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)({
|
|
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
|
|
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({
|
|
35
|
-
if (!
|
|
38
|
+
function buildAccessibilityReportOptions({ accountOptions, runOptions, reportId = utils.general.guid(), }) {
|
|
39
|
+
if (!accountOptions)
|
|
36
40
|
return undefined;
|
|
37
|
-
const uploadUrl =
|
|
38
|
-
return { axeCoreOptions:
|
|
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)({
|
|
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)({
|
|
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.
|
|
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.
|
|
59
|
-
"@applitools/dom-capture": "11.8.
|
|
60
|
-
"@applitools/dom-snapshot": "4.18.
|
|
61
|
-
"@applitools/driver": "1.26.
|
|
62
|
-
"@applitools/ec-client": "1.12.
|
|
63
|
-
"@applitools/image": "1.3.
|
|
64
|
-
"@applitools/logger": "2.3.
|
|
65
|
-
"@applitools/nml-client": "1.12.
|
|
66
|
-
"@applitools/req": "1.11.
|
|
67
|
-
"@applitools/screenshoter": "3.12.
|
|
68
|
-
"@applitools/snippets": "2.9.
|
|
69
|
-
"@applitools/socket": "1.3.
|
|
70
|
-
"@applitools/ufg-client": "1.23.
|
|
71
|
-
"@applitools/utils": "1.15.
|
|
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.
|
|
83
|
-
"@applitools/spec-driver-puppeteer": "^1.8.
|
|
84
|
-
"@applitools/spec-driver-selenium": "^1.8.
|
|
85
|
-
"@applitools/spec-driver-webdriver": "^1.6.
|
|
86
|
-
"@applitools/test-server": "^1.4.
|
|
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.
|
|
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
|
|
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
|
|
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({
|
|
8
|
-
|
|
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;
|
package/types/ufg/types.d.ts
CHANGED
|
@@ -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>>;
|