@applitools/eyes-browser 1.6.13 → 1.6.14
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 +24 -0
- package/dist/index.js +116 -15
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.6.14](https://github.com/Applitools-Dev/sdk/compare/js/eyes-browser@1.6.13...js/eyes-browser@1.6.14) (2026-04-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Dependencies
|
|
7
|
+
|
|
8
|
+
* @applitools/ufg-client bumped to 1.22.0
|
|
9
|
+
#### Features
|
|
10
|
+
|
|
11
|
+
* new render target entities | AD 13251 ([#3775](https://github.com/Applitools-Dev/sdk/issues/3775)) ([18b6107](https://github.com/Applitools-Dev/sdk/commit/18b6107937ff0f18ba0a256fec1adc6d423f03dc))
|
|
12
|
+
* @applitools/core bumped to 4.61.0
|
|
13
|
+
#### Features
|
|
14
|
+
|
|
15
|
+
* new render target entities | AD 13251 ([#3775](https://github.com/Applitools-Dev/sdk/issues/3775)) ([18b6107](https://github.com/Applitools-Dev/sdk/commit/18b6107937ff0f18ba0a256fec1adc6d423f03dc))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
* @applitools/eyes bumped to 1.40.0
|
|
20
|
+
#### Features
|
|
21
|
+
|
|
22
|
+
* new render target entities | AD 13251 ([#3775](https://github.com/Applitools-Dev/sdk/issues/3775)) ([18b6107](https://github.com/Applitools-Dev/sdk/commit/18b6107937ff0f18ba0a256fec1adc6d423f03dc))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
3
27
|
## [1.6.13](https://github.com/Applitools-Dev/sdk/compare/js/eyes-browser@1.6.12...js/eyes-browser@1.6.13) (2026-04-23)
|
|
4
28
|
|
|
5
29
|
|
package/dist/index.js
CHANGED
|
@@ -103992,8 +103992,6 @@ var require_requests3 = __commonJS({
|
|
|
103992
103992
|
...toServerEnvironment(settings2.environment)
|
|
103993
103993
|
};
|
|
103994
103994
|
if (utils2.types.has(settings2.environment, "type") && settings2.environment.type === "native") {
|
|
103995
|
-
renderOptions.renderInfo.vhsType = target.vhsType;
|
|
103996
|
-
renderOptions.renderInfo.vhsCompatibilityParams = target.vhsCompatibilityParams;
|
|
103997
103995
|
renderOptions.renderInfo.stitchMode = settings2.stitchMode;
|
|
103998
103996
|
}
|
|
103999
103997
|
if (settings2.region) {
|
|
@@ -104301,7 +104299,7 @@ var require_resource = __commonJS({
|
|
|
104301
104299
|
return result;
|
|
104302
104300
|
};
|
|
104303
104301
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
104304
|
-
exports.makeHashedResource = exports.makeResource = void 0;
|
|
104302
|
+
exports.makeHashedEntry = exports.makeHashedResource = exports.makeResource = void 0;
|
|
104305
104303
|
var buffer_1 = require_buffer();
|
|
104306
104304
|
var crypto_1 = require_crypto_browserify();
|
|
104307
104305
|
var utils2 = __importStar(require_browser3());
|
|
@@ -104349,6 +104347,19 @@ var require_resource = __commonJS({
|
|
|
104349
104347
|
};
|
|
104350
104348
|
}
|
|
104351
104349
|
exports.makeHashedResource = makeHashedResource;
|
|
104350
|
+
function makeHashedEntry({ url, hash, rootDomSnapshot }, resourceDependencies = []) {
|
|
104351
|
+
if ("errorStatusCode" in hash) {
|
|
104352
|
+
return { url, errorStatusCode: hash.errorStatusCode };
|
|
104353
|
+
}
|
|
104354
|
+
return {
|
|
104355
|
+
url,
|
|
104356
|
+
hash: hash.hash,
|
|
104357
|
+
contentType: hash.contentType,
|
|
104358
|
+
...rootDomSnapshot && { rootDomSnapshot },
|
|
104359
|
+
resourceDependencies
|
|
104360
|
+
};
|
|
104361
|
+
}
|
|
104362
|
+
exports.makeHashedEntry = makeHashedEntry;
|
|
104352
104363
|
function isDomOrVHS(resource) {
|
|
104353
104364
|
return [
|
|
104354
104365
|
"x-applitools-html/cdt",
|
|
@@ -104386,10 +104397,11 @@ var require_resource_dom = __commonJS({
|
|
|
104386
104397
|
exports.makeResourceDom = void 0;
|
|
104387
104398
|
var resource_1 = require_resource();
|
|
104388
104399
|
function makeResourceDom({ cdt, resources }) {
|
|
104389
|
-
const
|
|
104400
|
+
const payload = {
|
|
104390
104401
|
resources: Object.fromEntries(Object.entries(resources).sort(([url1], [url2]) => url1 > url2 ? 1 : -1)),
|
|
104391
104402
|
domNodes: cdt
|
|
104392
|
-
}
|
|
104403
|
+
};
|
|
104404
|
+
const value = new TextEncoder().encode(JSON.stringify(payload));
|
|
104393
104405
|
const resource = (0, resource_1.makeResource)({ value, contentType: "x-applitools-html/cdt" });
|
|
104394
104406
|
resource.id = `dom/${resource.hash.hash}`;
|
|
104395
104407
|
return resource;
|
|
@@ -104495,22 +104507,97 @@ var require_create_render_target = __commonJS({
|
|
|
104495
104507
|
return buffer_1.Buffer.from(resourceData, "utf-8");
|
|
104496
104508
|
};
|
|
104497
104509
|
}
|
|
104510
|
+
function computeReplaceUrlSettings(snapshot, replaceResourceUrl) {
|
|
104511
|
+
if (!replaceResourceUrl || !utils2.types.has(snapshot, "url"))
|
|
104512
|
+
return void 0;
|
|
104513
|
+
return { from: getSnapshotOrigin(snapshot.url), to: replaceResourceUrl };
|
|
104514
|
+
}
|
|
104515
|
+
function collectDirectUrls(snapshot, replaceResourceUrlsSettings) {
|
|
104516
|
+
var _a, _b, _c;
|
|
104517
|
+
return [
|
|
104518
|
+
...((_a = snapshot.resourceUrls) !== null && _a !== void 0 ? _a : []).map((url) => replaceResourceUrlIfNeeded(url, replaceResourceUrlsSettings)),
|
|
104519
|
+
...Object.keys((_b = snapshot.resourceContents) !== null && _b !== void 0 ? _b : {}).map((url) => replaceResourceUrlIfNeeded(url, replaceResourceUrlsSettings)),
|
|
104520
|
+
...((_c = snapshot.frames) !== null && _c !== void 0 ? _c : []).map((f) => replaceResourceUrlIfNeeded(f.url, replaceResourceUrlsSettings))
|
|
104521
|
+
];
|
|
104522
|
+
}
|
|
104523
|
+
function buildUrlList(snapshotUrl, finalResources, originalSnapshotResource) {
|
|
104524
|
+
const urls = [snapshotUrl, ...Object.keys(finalResources).filter((url) => url !== snapshotUrl)];
|
|
104525
|
+
if (originalSnapshotResource)
|
|
104526
|
+
urls.push(snapshotUrl);
|
|
104527
|
+
return urls;
|
|
104528
|
+
}
|
|
104529
|
+
function buildHashedEntries({ urls, urlToIndex, directUrls, dependencyMap, finalResources, originalSnapshotResource }) {
|
|
104530
|
+
return urls.map((url, i) => {
|
|
104531
|
+
var _a;
|
|
104532
|
+
let deps;
|
|
104533
|
+
if (i === 0) {
|
|
104534
|
+
deps = directUrls.map((u) => urlToIndex.get(u)).filter((i2) => i2 !== void 0);
|
|
104535
|
+
} else if ((_a = dependencyMap[url]) === null || _a === void 0 ? void 0 : _a.length) {
|
|
104536
|
+
deps = dependencyMap[url].map((u) => urlToIndex.get(u)).filter((i2) => i2 !== void 0);
|
|
104537
|
+
} else {
|
|
104538
|
+
deps = [];
|
|
104539
|
+
}
|
|
104540
|
+
const hash = originalSnapshotResource && i === urls.length - 1 && url === urls[0] ? originalSnapshotResource : finalResources[url];
|
|
104541
|
+
return (0, resource_1.makeHashedEntry)({ url, hash, rootDomSnapshot: i === 0 ? true : void 0 }, deps);
|
|
104542
|
+
});
|
|
104543
|
+
}
|
|
104544
|
+
function buildDomRenderTarget({ snapshot, finalResources, dependencyMap, originalSnapshotResource, replaceResourceUrlsSettings }) {
|
|
104545
|
+
const snapshotUrl = snapshot.url;
|
|
104546
|
+
const directUrls = collectDirectUrls(snapshot, replaceResourceUrlsSettings);
|
|
104547
|
+
const urls = buildUrlList(snapshotUrl, finalResources, originalSnapshotResource);
|
|
104548
|
+
const urlToIndex = new Map(urls.map((url, i) => [url, i]));
|
|
104549
|
+
const entries = buildHashedEntries({
|
|
104550
|
+
urls,
|
|
104551
|
+
urlToIndex,
|
|
104552
|
+
directUrls,
|
|
104553
|
+
dependencyMap,
|
|
104554
|
+
finalResources,
|
|
104555
|
+
originalSnapshotResource
|
|
104556
|
+
});
|
|
104557
|
+
const snapshotResource = finalResources[snapshotUrl];
|
|
104558
|
+
delete finalResources[snapshotUrl];
|
|
104559
|
+
return { snapshot: snapshotResource, resources: { entries }, source: snapshotUrl };
|
|
104560
|
+
}
|
|
104561
|
+
function buildDependencyMap({ snapshot, snapshotResources, processedDomResource, frameResources, replaceResourceUrlsSettings }) {
|
|
104562
|
+
const frameDependencyMapping = frameResources.reduce((deps, resources, index) => {
|
|
104563
|
+
Object.assign(deps, resources.dependencyMap);
|
|
104564
|
+
const frameSnapshot = snapshot.frames[index];
|
|
104565
|
+
if (utils2.types.has(frameSnapshot, "cdt")) {
|
|
104566
|
+
const frameUrl = replaceResourceUrlIfNeeded(frameSnapshot.url, replaceResourceUrlsSettings);
|
|
104567
|
+
const frameDeps = Object.keys(resources.mapping).filter((url) => url !== frameUrl);
|
|
104568
|
+
if (frameDeps.length)
|
|
104569
|
+
deps[frameUrl] = frameDeps;
|
|
104570
|
+
}
|
|
104571
|
+
return deps;
|
|
104572
|
+
}, {});
|
|
104573
|
+
return {
|
|
104574
|
+
...frameDependencyMapping,
|
|
104575
|
+
...snapshotResources.dependencyMap,
|
|
104576
|
+
...processedDomResource.dependencyMap
|
|
104577
|
+
};
|
|
104578
|
+
}
|
|
104498
104579
|
function makeCreateRenderTarget({ processResources, logger: mainLogger, replaceResourceUrl }) {
|
|
104499
104580
|
return async function createRenderTarget({ snapshot, settings, logger = mainLogger }) {
|
|
104500
104581
|
logger = logger.extend(mainLogger, { tags: [`render-target-${utils2.general.shortid()}`] });
|
|
104582
|
+
const replaceResourceUrlsSettings = computeReplaceUrlSettings(snapshot, replaceResourceUrl);
|
|
104501
104583
|
const processedSnapshotResources = await processSnapshotResources({ snapshot, settings, logger });
|
|
104502
104584
|
const resources = await processedSnapshotResources.promise;
|
|
104503
|
-
const
|
|
104585
|
+
const { dependencyMap, originalSnapshotResource } = processedSnapshotResources;
|
|
104586
|
+
const finalResources = replaceResourceUrl ? Object.entries(resources).sort(([url1], [url2]) => url1.localeCompare(url2)).reduce((mapping, [url, resource]) => {
|
|
104504
104587
|
mapping[url] = resource;
|
|
104505
104588
|
return mapping;
|
|
104506
104589
|
}, {}) : resources;
|
|
104507
104590
|
if (utils2.types.has(snapshot, "cdt")) {
|
|
104508
|
-
|
|
104509
|
-
|
|
104510
|
-
|
|
104591
|
+
return buildDomRenderTarget({
|
|
104592
|
+
snapshot,
|
|
104593
|
+
finalResources,
|
|
104594
|
+
dependencyMap,
|
|
104595
|
+
originalSnapshotResource,
|
|
104596
|
+
replaceResourceUrlsSettings
|
|
104597
|
+
});
|
|
104511
104598
|
} else {
|
|
104512
104599
|
const snapshotResource = resources.vhs;
|
|
104513
|
-
return
|
|
104600
|
+
return { snapshot: snapshotResource, resources: { entries: [] } };
|
|
104514
104601
|
}
|
|
104515
104602
|
};
|
|
104516
104603
|
async function processSnapshotResources({ snapshot, settings, logger }) {
|
|
@@ -104563,7 +104650,7 @@ var require_create_render_target = __commonJS({
|
|
|
104563
104650
|
const domResource = utils2.types.has(snapshot, "cdt") ? {
|
|
104564
104651
|
[snapshot.url]: (0, resource_dom_1.makeResourceDom)({
|
|
104565
104652
|
cdt: replaceUrlInContentIfNeeded(snapshot.cdt, replaceResourceUrlsSettings),
|
|
104566
|
-
resources: resourceMappingWithoutDom
|
|
104653
|
+
resources: Object.fromEntries(Object.entries(resourceMappingWithoutDom).filter(([url]) => url !== snapshot.url))
|
|
104567
104654
|
})
|
|
104568
104655
|
} : {
|
|
104569
104656
|
vhs: (0, resource_vhs_1.makeResourceVhs)({
|
|
@@ -104578,13 +104665,23 @@ var require_create_render_target = __commonJS({
|
|
|
104578
104665
|
const frameResourceMapping = frameResources.reduce((mapping, resources) => {
|
|
104579
104666
|
return Object.assign(mapping, resources.mapping);
|
|
104580
104667
|
}, {});
|
|
104668
|
+
const originalSnapshotResource = utils2.types.has(snapshot, "url") ? snapshotResourcesMapping[snapshot.url] : void 0;
|
|
104581
104669
|
const resourceMapping = {
|
|
104582
104670
|
...frameResourceMapping,
|
|
104583
104671
|
...snapshotResources.mapping,
|
|
104584
104672
|
...processedDomResource.mapping
|
|
104585
104673
|
};
|
|
104674
|
+
const dependencyMap = buildDependencyMap({
|
|
104675
|
+
snapshot,
|
|
104676
|
+
snapshotResources,
|
|
104677
|
+
processedDomResource,
|
|
104678
|
+
frameResources,
|
|
104679
|
+
replaceResourceUrlsSettings
|
|
104680
|
+
});
|
|
104586
104681
|
return {
|
|
104587
104682
|
mapping: resourceMapping,
|
|
104683
|
+
dependencyMap,
|
|
104684
|
+
originalSnapshotResource,
|
|
104588
104685
|
promise: Promise.all([
|
|
104589
104686
|
snapshotResources.promise,
|
|
104590
104687
|
processedDomResource.promise,
|
|
@@ -122038,6 +122135,7 @@ var require_process_resources = __commonJS({
|
|
|
122038
122135
|
var utils2 = __importStar(require_browser3());
|
|
122039
122136
|
function makeProcessResources({ fetchResource, uploadResource, cache = /* @__PURE__ */ new Map(), asyncCache, logger: mainLogger }) {
|
|
122040
122137
|
return async function processResources({ resources, settings, logger = mainLogger }) {
|
|
122138
|
+
var _a;
|
|
122041
122139
|
logger = logger.extend(mainLogger, { tags: [`process-resources-${utils2.general.shortid()}`] });
|
|
122042
122140
|
const processedResources = await Object.entries(resources).reduce(async (processedResourcesPromise, [url, resource]) => {
|
|
122043
122141
|
if (utils2.types.has(resource, "value") || utils2.types.has(resource, "errorStatusCode")) {
|
|
@@ -122053,12 +122151,15 @@ var require_process_resources = __commonJS({
|
|
|
122053
122151
|
}
|
|
122054
122152
|
}, Promise.resolve({}));
|
|
122055
122153
|
const mapping = {};
|
|
122154
|
+
const dependencyMap = {};
|
|
122056
122155
|
const ready = [];
|
|
122057
122156
|
for (const [url, processedResource] of Object.entries(processedResources)) {
|
|
122058
122157
|
mapping[url] = processedResource.hash;
|
|
122158
|
+
if ((_a = processedResource.dependencies) === null || _a === void 0 ? void 0 : _a.length)
|
|
122159
|
+
dependencyMap[url] = processedResource.dependencies;
|
|
122059
122160
|
ready.push(processedResource.ready);
|
|
122060
122161
|
}
|
|
122061
|
-
return { mapping, promise: Promise.all(ready).then(() => mapping) };
|
|
122162
|
+
return { mapping, dependencyMap, promise: Promise.all(ready).then(() => mapping) };
|
|
122062
122163
|
};
|
|
122063
122164
|
async function processContentfulResource({ resource, logger = mainLogger }) {
|
|
122064
122165
|
var _a;
|
|
@@ -128310,7 +128411,7 @@ var require_package3 = __commonJS({
|
|
|
128310
128411
|
"../core/package.json"(exports, module) {
|
|
128311
128412
|
module.exports = {
|
|
128312
128413
|
name: "@applitools/core",
|
|
128313
|
-
version: "4.
|
|
128414
|
+
version: "4.61.0",
|
|
128314
128415
|
homepage: "https://applitools.com",
|
|
128315
128416
|
bugs: {
|
|
128316
128417
|
url: "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -129852,7 +129953,7 @@ var require_package4 = __commonJS({
|
|
|
129852
129953
|
"../eyes/package.json"(exports, module) {
|
|
129853
129954
|
module.exports = {
|
|
129854
129955
|
name: "@applitools/eyes",
|
|
129855
|
-
version: "1.
|
|
129956
|
+
version: "1.40.0",
|
|
129856
129957
|
keywords: [
|
|
129857
129958
|
"applitools",
|
|
129858
129959
|
"eyes",
|
|
@@ -131467,7 +131568,7 @@ var require_package5 = __commonJS({
|
|
|
131467
131568
|
"package.json"(exports, module) {
|
|
131468
131569
|
module.exports = {
|
|
131469
131570
|
name: "@applitools/eyes-browser",
|
|
131470
|
-
version: "1.6.
|
|
131571
|
+
version: "1.6.14",
|
|
131471
131572
|
type: "module",
|
|
131472
131573
|
keywords: [
|
|
131473
131574
|
"applitools",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/eyes-browser",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"applitools",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"test": "run playwright test"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@applitools/eyes": "1.
|
|
54
|
+
"@applitools/eyes": "1.40.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@applitools/test-server": "1.4.3",
|