@applitools/eyes-sdk-core
Advanced tools
Comparing version 13.6.23 to 13.6.24
118
browser.js
'use strict' | ||
/* eslint-disable max-len */ | ||
// Should be the same as index.js, but without classes that using Node's sdt libs like `fs` | ||
exports.checkSpecDriver = require('@applitools/driver/dist/debug').checkSpecDriver | ||
exports.makeSDK = require('./lib/new/sdk') | ||
// config | ||
exports.AccessibilityLevel = require('./lib/config/AccessibilityLevel').AccessibilityLevel | ||
exports.AccessibilityMatchSettings = require('./lib/config/AccessibilityMatchSettings').AccessibilityMatchSettings | ||
exports.AccessibilityRegionType = require('./lib/config/AccessibilityRegionType').AccessibilityRegionType | ||
exports.BatchInfo = require('./lib/config/BatchInfo').BatchInfo | ||
exports.BrowserType = require('./lib/config/BrowserType').BrowserType | ||
exports.Configuration = require('./lib/config/Configuration').Configuration | ||
exports.DeviceName = require('./lib/config/DeviceName').DeviceName | ||
exports.ExactMatchSettings = require('./lib/config/ExactMatchSettings').ExactMatchSettings | ||
exports.FloatingMatchSettings = require('./lib/config/FloatingMatchSettings').FloatingMatchSettings | ||
exports.ImageMatchSettings = require('./lib/config/ImageMatchSettings').ImageMatchSettings | ||
exports.MatchLevel = require('./lib/config/MatchLevel').MatchLevel | ||
exports.PropertyData = require('./lib/config/PropertyData').PropertyData | ||
exports.ProxySettings = require('./lib/config/ProxySettings').ProxySettings | ||
exports.ScreenOrientation = require('./lib/config/ScreenOrientation').ScreenOrientation | ||
exports.SessionType = require('./lib/config/SessionType').SessionType | ||
exports.StitchMode = require('./lib/config/StitchMode').StitchMode | ||
exports.AccessibilityMatchSettings = require('./lib/config/AccessibilityMatchSettings') | ||
exports.BatchInfo = require('./lib/config/BatchInfo') | ||
exports.Configuration = require('./lib/config/Configuration') | ||
exports.ExactMatchSettings = require('./lib/config/ExactMatchSettings') | ||
exports.FloatingMatchSettings = require('./lib/config/FloatingMatchSettings') | ||
exports.ImageMatchSettings = require('./lib/config/ImageMatchSettings') | ||
exports.PropertyData = require('./lib/config/PropertyData') | ||
exports.ProxySettings = require('./lib/config/ProxySettings') | ||
// errors | ||
exports.EyesError = require('./lib/errors/EyesError').EyesError | ||
exports.EyesError = require('./lib/errors/EyesError') | ||
exports.DiffsFoundError = require('./lib/errors/DiffsFoundError') | ||
exports.NewTestError = require('./lib/errors/NewTestError') | ||
exports.TestFailedError = require('./lib/errors/TestFailedError') | ||
// geometry | ||
exports.CoordinatesType = require('./lib/geometry/CoordinatesType').CoordinatesType | ||
exports.Location = require('./lib/geometry/Location').Location | ||
exports.RectangleSize = require('./lib/geometry/RectangleSize').RectangleSize | ||
exports.Region = require('./lib/geometry/Region').Region | ||
exports.Location = require('./lib/geometry/Location') | ||
exports.RectangleSize = require('./lib/geometry/RectangleSize') | ||
exports.Region = require('./lib/geometry/Region') | ||
// handler | ||
exports.PropertyHandler = require('./lib/handler/PropertyHandler').PropertyHandler | ||
exports.ReadOnlyPropertyHandler = require('./lib/handler/ReadOnlyPropertyHandler').ReadOnlyPropertyHandler | ||
exports.SimplePropertyHandler = require('./lib/handler/SimplePropertyHandler').SimplePropertyHandler | ||
exports.PropertyHandler = require('./lib/handler/PropertyHandler') | ||
exports.ReadOnlyPropertyHandler = require('./lib/handler/ReadOnlyPropertyHandler') | ||
exports.SimplePropertyHandler = require('./lib/handler/SimplePropertyHandler') | ||
// images | ||
exports.ImageDeltaCompressor = require('./lib/images/ImageDeltaCompressor').ImageDeltaCompressor | ||
// utils | ||
exports.ArgumentGuard = require('./lib/utils/ArgumentGuard') | ||
exports.DateTimeUtils = require('./lib/utils/DateTimeUtils') | ||
exports.GeneralUtils = require('./lib/utils/GeneralUtils') | ||
exports.TypeUtils = require('./lib/utils/TypeUtils') | ||
exports.deserializeDomSnapshotResult = require('./lib/utils/deserializeDomSnapshotResult') | ||
exports.CorsIframeHandler = require('./lib/capture/CorsIframeHandler') | ||
// utils | ||
exports.ArgumentGuard = require('./lib/utils/ArgumentGuard').ArgumentGuard | ||
// exports.ConfigUtils = require('./lib/utils/ConfigUtils').ConfigUtils; uses `fs` library | ||
exports.DateTimeUtils = require('./lib/utils/DateTimeUtils').DateTimeUtils | ||
// exports.FileUtils = require('./lib/utils/FileUtils').FileUtils; uses `fs` library | ||
exports.GeneralUtils = require('./lib/utils/GeneralUtils').GeneralUtils | ||
exports.PerformanceUtils = require('./lib/utils/PerformanceUtils').PerformanceUtils | ||
exports.StreamUtils = require('./lib/utils/StreamUtils') | ||
exports.TypeUtils = require('./lib/utils/TypeUtils').TypeUtils | ||
exports.RemoteSessionEventHandler = require('./lib/events/RemoteSessionEventHandler') | ||
exports.SessionEventHandler = require('./lib/events/SessionEventHandler') | ||
exports.ValidationInfo = require('./lib/events/ValidationInfo') | ||
exports.ValidationResult = require('./lib/events/ValidationResult') | ||
exports.AppOutput = require('./lib/match/AppOutput') | ||
exports.MatchResult = require('./lib/match/MatchResult') | ||
exports.MatchWindowAndCloseData = require('./lib/match/MatchWindowAndCloseData') | ||
exports.MatchWindowData = require('./lib/match/MatchWindowData') | ||
exports.ImageMatchOptions = require('./lib/match/ImageMatchOptions') | ||
exports.metadata = { | ||
ActualAppOutput: require('./lib/metadata/ActualAppOutput'), | ||
Annotations: require('./lib/metadata/Annotations'), | ||
BatchInfo: require('./lib/metadata/BatchInfo'), | ||
Branch: require('./lib/metadata/Branch'), | ||
ExpectedAppOutput: require('./lib/metadata/ExpectedAppOutput'), | ||
Image: require('./lib/metadata/Image'), | ||
ImageMatchSettings: require('./lib/metadata/ImageMatchSettings'), | ||
SessionResults: require('./lib/metadata/SessionResults'), | ||
StartInfo: require('./lib/metadata/StartInfo'), | ||
} | ||
exports.RenderStatusResults = require('./lib/renderer/RenderStatusResults') | ||
exports.RunningRender = require('./lib/renderer/RunningRender') | ||
exports.RenderingInfo = require('./lib/server/RenderingInfo') | ||
exports.RunningSession = require('./lib/server/RunningSession') | ||
exports.ServerConnector = require('./lib/server/ServerConnector') | ||
exports.getTunnelAgentFromProxy = require('./lib/server/getTunnelAgentFromProxy') | ||
exports.SessionStartInfo = require('./lib/server/SessionStartInfo') | ||
exports.AppEnvironment = require('./lib/AppEnvironment') | ||
exports.MatchWindowTask = require('./lib/MatchWindowTask') | ||
exports.TestResults = require('./lib/TestResults') | ||
exports.TestResultsError = require('./lib/TestResultsError') | ||
exports.TestResultsFormatter = require('./lib/TestResultsFormatter') | ||
exports.EyesBase = require('./lib/sdk/EyesBase') | ||
exports.EyesClassic = require('./lib/sdk/EyesClassic') | ||
exports.EyesVisualGrid = require('./lib/sdk/EyesVisualGrid') | ||
exports.EyesFactory = require('./lib/sdk/EyesFactory') | ||
exports.EyesSDK = require('./lib/sdk/EyesSDK') | ||
exports.takeDomSnapshot = require('./lib/utils/takeDomSnapshot') | ||
exports.takeDomSnapshots = require('./lib/utils/takeDomSnapshots') | ||
exports.takeDomCapture = require('./lib/utils/takeDomCapture') | ||
exports.EyesRunner = require('./lib/runner/EyesRunner') | ||
exports.ClassicRunner = require('./lib/runner/ClassicRunner') | ||
exports.VisualGridRunner = require('./lib/runner/VisualGridRunner') | ||
exports.RunnerOptions = require('./lib/runner/RunnerOptions') | ||
exports.LogEvent = require('./lib/logging/LogEvent') | ||
exports.RunnerStartedEvent = require('./lib/logging/RunnerStartedEvent') |
@@ -15,3 +15,2 @@ import type * as types from '@applitools/types' | ||
export const TestResultsFormatter: any | ||
export const ConfigUtils: any | ||
@@ -18,0 +17,0 @@ export function checkSpecDriver<TDriver, TContext, TElement, TSelector>(options: { |
30
index.js
@@ -9,21 +9,10 @@ 'use strict' | ||
// config | ||
exports.AccessibilityLevel = require('./lib/config/AccessibilityLevel') | ||
exports.AccessibilityGuidelinesVersion = require('./lib/config/AccessibilityGuidelinesVersion') | ||
exports.AccessibilityMatchSettings = require('./lib/config/AccessibilityMatchSettings') | ||
exports.AccessibilityRegionType = require('./lib/config/AccessibilityRegionType') | ||
exports.BatchInfo = require('./lib/config/BatchInfo') | ||
exports.BrowserType = require('./lib/config/BrowserType') | ||
exports.Configuration = require('./lib/config/Configuration') | ||
exports.DeviceName = require('./lib/config/DeviceName') | ||
exports.ExactMatchSettings = require('./lib/config/ExactMatchSettings') | ||
exports.FloatingMatchSettings = require('./lib/config/FloatingMatchSettings') | ||
exports.ImageMatchSettings = require('./lib/config/ImageMatchSettings') | ||
exports.MatchLevel = require('./lib/config/MatchLevel') | ||
exports.PropertyData = require('./lib/config/PropertyData') | ||
exports.ProxySettings = require('./lib/config/ProxySettings') | ||
exports.ScreenOrientation = require('./lib/config/ScreenOrientation') | ||
exports.SessionType = require('./lib/config/SessionType') | ||
exports.StitchMode = require('./lib/config/StitchMode') | ||
exports.IosDeviceName = require('./lib/config/IosDeviceName') | ||
exports.IosVersion = require('./lib/config/IosVersion') | ||
@@ -37,3 +26,2 @@ // errors | ||
// geometry | ||
exports.CoordinatesType = require('./lib/geometry/CoordinatesType') | ||
exports.Location = require('./lib/geometry/Location') | ||
@@ -48,8 +36,4 @@ exports.RectangleSize = require('./lib/geometry/RectangleSize') | ||
// images | ||
exports.ImageDeltaCompressor = require('./lib/images/ImageDeltaCompressor') | ||
// utils | ||
exports.ArgumentGuard = require('./lib/utils/ArgumentGuard') | ||
exports.ConfigUtils = require('./lib/utils/ConfigUtils') | ||
exports.DateTimeUtils = require('./lib/utils/DateTimeUtils') | ||
@@ -59,12 +43,6 @@ exports.FileUtils = require('./lib/utils/FileUtils') | ||
exports.PerformanceUtils = require('./lib/utils/PerformanceUtils') | ||
exports.StreamUtils = require('./lib/utils/StreamUtils') | ||
exports.TypeUtils = require('./lib/utils/TypeUtils') | ||
exports.deserializeDomSnapshotResult = require('./lib/utils/deserializeDomSnapshotResult') | ||
exports.CorsIframeHandle = require('./lib/capture/CorsIframeHandles') | ||
exports.CorsIframeHandler = require('./lib/capture/CorsIframeHandler') | ||
const closeBatch = require('./lib/close/closeBatch') | ||
const makeBatchClose = require('./lib/close/BatchClose') | ||
exports.BatchClose = makeBatchClose(closeBatch) | ||
exports.RemoteSessionEventHandler = require('./lib/events/RemoteSessionEventHandler') | ||
@@ -93,3 +71,2 @@ exports.SessionEventHandler = require('./lib/events/SessionEventHandler') | ||
exports.RenderStatus = require('./lib/renderer/RenderStatus') | ||
exports.RenderStatusResults = require('./lib/renderer/RenderStatusResults') | ||
@@ -104,14 +81,7 @@ exports.RunningRender = require('./lib/renderer/RunningRender') | ||
exports.MouseTrigger = require('./lib/triggers/MouseTrigger') | ||
exports.TextTrigger = require('./lib/triggers/TextTrigger') | ||
exports.Trigger = require('./lib/triggers/Trigger') | ||
exports.AppEnvironment = require('./lib/AppEnvironment') | ||
exports.FailureReports = require('./lib/FailureReports') | ||
exports.MatchWindowTask = require('./lib/MatchWindowTask') | ||
exports.TestResults = require('./lib/TestResults') | ||
exports.TestResultsError = require('./lib/TestResultsError') | ||
exports.AccessibilityStatus = require('./lib/AccessibilityStatus') | ||
exports.TestResultsFormatter = require('./lib/TestResultsFormatter') | ||
exports.TestResultsStatus = require('./lib/TestResultsStatus') | ||
@@ -118,0 +88,0 @@ exports.EyesBase = require('./lib/sdk/EyesBase') |
'use strict' | ||
const AccessibilityRegionTypes = require('./AccessibilityRegionType') | ||
const GeneralUtils = require('../utils/GeneralUtils') | ||
const ArgumentGuard = require('../utils/ArgumentGuard') | ||
const Region = require('../geometry/Region') | ||
@@ -27,3 +25,2 @@ | ||
} | ||
ArgumentGuard.isValidEnumValue(type, AccessibilityRegionTypes, false) | ||
@@ -104,3 +101,2 @@ this._left = left | ||
setType(value) { | ||
ArgumentGuard.isValidEnumValue(value, AccessibilityRegionTypes) | ||
this._type = value | ||
@@ -107,0 +103,0 @@ } |
@@ -1,3 +0,2 @@ | ||
'use strict' | ||
const ArgumentGuard = require('../utils/ArgumentGuard') | ||
const utils = require('@applitools/utils') | ||
const GeneralUtils = require('../utils/GeneralUtils') | ||
@@ -62,12 +61,12 @@ const TypeUtils = require('../utils/TypeUtils') | ||
let {id, name, properties, startedAt, sequenceName, notifyOnCompletion, isCompleted, isGeneratedId} = varArg1 || {} | ||
ArgumentGuard.isString(id, 'batchId', false) | ||
ArgumentGuard.isString(name, 'batchName', false) | ||
ArgumentGuard.isString(sequenceName, 'sequenceName', false) | ||
ArgumentGuard.isArray(properties, 'properties', false) | ||
ArgumentGuard.isBoolean(notifyOnCompletion, 'notifyOnCompletion', false) | ||
ArgumentGuard.isBoolean(isCompleted, 'isCompleted', false) | ||
ArgumentGuard.isBoolean(isGeneratedId, 'isGeneratedId', false) | ||
utils.guard.isString(id, {name: 'batchId', strict: false}) | ||
utils.guard.isString(name, {name: 'batchName', strict: false}) | ||
utils.guard.isString(sequenceName, {name: 'sequenceName', strict: false}) | ||
utils.guard.isArray(properties, {name: 'properties', strict: false}) | ||
utils.guard.isBoolean(notifyOnCompletion, {name: 'notifyOnCompletion', strict: false}) | ||
utils.guard.isBoolean(isCompleted, {name: 'isCompleted', strict: false}) | ||
utils.guard.isBoolean(isGeneratedId, {name: 'isGeneratedId', strict: false}) | ||
if (startedAt && !(startedAt instanceof Date)) { | ||
ArgumentGuard.isString(startedAt, 'startedAt', false) | ||
utils.guard.isString(startedAt, {name: 'startedAt', strict: false}) | ||
startedAt = DateTimeUtils.fromISO8601DateTime(startedAt) | ||
@@ -112,3 +111,3 @@ } | ||
setId(value) { | ||
ArgumentGuard.notNullOrEmpty(value, 'id') | ||
utils.guard.notNull(value, {name: 'id'}) | ||
this._id = value | ||
@@ -115,0 +114,0 @@ return this |
@@ -5,5 +5,2 @@ 'use strict' | ||
const ProxySettings = require('./ProxySettings') | ||
const BrowserType = require('./BrowserType') | ||
const StitchModes = require('./StitchMode') | ||
const ScreenOrientation = require('./ScreenOrientation') | ||
const ImageMatchSettings = require('./ImageMatchSettings') | ||
@@ -61,3 +58,3 @@ const RectangleSize = require('../geometry/RectangleSize') | ||
waitBeforeScreenshots: 100, // ms | ||
stitchMode: StitchModes.SCROLL, | ||
stitchMode: 'Scroll', | ||
hideScrollbars: true, | ||
@@ -1330,3 +1327,3 @@ hideCaret: true, | ||
*/ | ||
addBrowser(widthOrBrowserInfo, height, browserType = BrowserType.CHROME) { | ||
addBrowser(widthOrBrowserInfo, height, browserType = 'chrome') { | ||
if (arguments.length === 1) { | ||
@@ -1346,3 +1343,3 @@ this.addBrowsers(widthOrBrowserInfo) | ||
*/ | ||
addDeviceEmulation(deviceName, screenOrientation = ScreenOrientation.PORTRAIT) { | ||
addDeviceEmulation(deviceName, screenOrientation = 'portrait') { | ||
const deviceInfo = { | ||
@@ -1349,0 +1346,0 @@ deviceName, |
@@ -6,5 +6,2 @@ 'use strict' | ||
const TypeUtils = require('../utils/TypeUtils') | ||
const MatchLevel = require('./MatchLevel') | ||
const AccessibilityLevel = require('./AccessibilityLevel') | ||
const AccessibilityGuidelinesVersions = require('./AccessibilityGuidelinesVersion') | ||
const ExactMatchSettings = require('./ExactMatchSettings') | ||
@@ -16,3 +13,3 @@ const AccessibilityMatchSettings = require('./AccessibilityMatchSettings') | ||
const DEFAULT_VALUES = { | ||
matchLevel: MatchLevel.Strict, | ||
matchLevel: 'Strict', | ||
ignoreCaret: true, | ||
@@ -68,3 +65,2 @@ useDom: false, | ||
ArgumentGuard.isValidEnumValue(matchLevel, MatchLevel, false) | ||
ArgumentGuard.isBoolean(ignoreCaret, 'ignoreCaret', false) | ||
@@ -122,3 +118,2 @@ ArgumentGuard.isBoolean(useDom, 'useDom', false) | ||
setMatchLevel(value) { | ||
ArgumentGuard.isValidEnumValue(value, MatchLevel) | ||
this._matchLevel = value | ||
@@ -140,4 +135,2 @@ } | ||
ArgumentGuard.hasProperties(value, ['level', 'guidelinesVersion'], 'accessibilitySettings') | ||
ArgumentGuard.isValidEnumValue(value.level, AccessibilityLevel) | ||
ArgumentGuard.isValidEnumValue(value.guidelinesVersion, AccessibilityGuidelinesVersions) | ||
} | ||
@@ -144,0 +137,0 @@ this._accessibilitySettings = value |
@@ -7,13 +7,4 @@ 'use strict' | ||
const Location = require('./Location') | ||
const CoordinatesTypes = require('./CoordinatesType') | ||
/** | ||
* @typedef {import('./CoordinatesType').CoordinatesType} CoordinatesType | ||
*/ | ||
/** | ||
* @typedef {{left: number, top: number, width: number, height: number, coordinatesType: CoordinatesType|undefined}} RegionObject | ||
*/ | ||
/** | ||
* @private | ||
@@ -127,7 +118,6 @@ * @param {Region} containerRegion - The region to divide into sub-regions. | ||
* @param {RectangleSize|number} [varArg2] - The Region size or the top offset of new region. | ||
* @param {CoordinatesType|number} [varArg3] - The width of new region. | ||
* @param {number} [varArg3] - The width of new region. | ||
* @param {number} [varArg4] - The height of new region. | ||
* @param {CoordinatesType} [varArg5] - The coordinatesType of new region (protected argument). | ||
*/ | ||
constructor(varArg1, varArg2, varArg3, varArg4, varArg5) { | ||
constructor(varArg1, varArg2, varArg3, varArg4) { | ||
if (arguments.length === 2 || arguments.length === 3) { | ||
@@ -140,3 +130,2 @@ // eslint-disable-next-line max-len | ||
height: varArg2.getHeight(), | ||
coordinatesType: varArg3, | ||
}) | ||
@@ -152,3 +141,2 @@ } | ||
height: varArg4, | ||
coordinatesType: varArg5, | ||
}) | ||
@@ -164,7 +152,6 @@ } | ||
height: varArg1.getHeight(), | ||
coordinatesType: varArg1.getCoordinatesType(), | ||
}) | ||
} | ||
const {left = varArg1.x, top = varArg1.y, width, height, coordinatesType, error} = varArg1 | ||
const {left = varArg1.x, top = varArg1.y, width, height, error} = varArg1 | ||
@@ -183,3 +170,2 @@ if (error) { | ||
this._height = height | ||
this._coordinatesType = coordinatesType || CoordinatesTypes.SCREENSHOT_AS_IS | ||
} | ||
@@ -274,16 +260,2 @@ } | ||
/** | ||
* @return {CoordinatesType} - The region's coordinatesType. | ||
*/ | ||
getCoordinatesType() { | ||
return this._coordinatesType | ||
} | ||
/** | ||
* @param {CoordinatesType} value | ||
*/ | ||
setCoordinatesType(value) { | ||
this._coordinatesType = value | ||
} | ||
/** | ||
* @return {string} | ||
@@ -384,3 +356,3 @@ */ | ||
offset(dx, dy) { | ||
return new Region(this.getLocation().offset(dx, dy), this.getSize(), this.getCoordinatesType()) | ||
return new Region(this.getLocation().offset(dx, dy), this.getSize()) | ||
} | ||
@@ -406,3 +378,3 @@ | ||
scale(scaleRatio) { | ||
return new Region(this.getLocation().scale(scaleRatio), this.getSize().scale(scaleRatio), this.getCoordinatesType()) | ||
return new Region(this.getLocation().scale(scaleRatio), this.getSize().scale(scaleRatio)) | ||
} | ||
@@ -522,3 +494,2 @@ | ||
this._height = Region.EMPTY.getHeight() | ||
this._coordinatesType = Region.EMPTY.getCoordinatesType() | ||
} | ||
@@ -541,3 +512,2 @@ | ||
height: this._height, | ||
// coordinatesType: this._coordinatesType, | ||
} | ||
@@ -544,0 +514,0 @@ } |
@@ -1,6 +0,25 @@ | ||
const closeBatch = require('../close/closeBatch') | ||
const {makeLogger} = require('@applitools/logger') | ||
const ServerConnector = require('../server/ServerConnector') | ||
const Configuration = require('../config/Configuration') | ||
function makeCloseBatches() { | ||
return function closeBatches({settings, logger}) { | ||
return closeBatch({...settings, logger}) | ||
return async function closeBatches({settings: {batchIds, serverUrl, apiKey, proxy} = {}, logger} = {}) { | ||
if (!batchIds) throw new Error('no batchIds were set') | ||
const serverConnector = new ServerConnector({ | ||
logger: logger || makeLogger(), | ||
configuration: new Configuration({serverUrl, apiKey, proxy}), | ||
getAgentId: () => '', | ||
}) | ||
// TODO replace with Promise.allSettled after supporting node >= 12 | ||
const results = await Promise.all( | ||
batchIds.map(batchId => | ||
serverConnector.deleteBatchSessions(batchId).then( | ||
value => ({status: 'fulfilled', value}), | ||
reason => ({status: 'rejected', reason}), | ||
), | ||
), | ||
) | ||
const error = results.find(({status}) => status === 'rejected') | ||
if (error) throw error.reason | ||
} | ||
@@ -7,0 +26,0 @@ } |
const DiffsFoundError = require('../errors/DiffsFoundError') | ||
const NewTestError = require('../errors/NewTestError') | ||
const TestFailedError = require('../errors/TestFailedError') | ||
const TestResultsStatuses = require('../TestResultsStatus') | ||
const SerializedError = require('../errors/SerializedError') | ||
@@ -24,6 +23,6 @@ | ||
if (container.testResults) { | ||
if (container.testResults.status === TestResultsStatuses.Unresolved) { | ||
if (container.testResults.status === 'Unresolved') { | ||
if (container.testResults.isNew) container.exception = new NewTestError(container.testResults) | ||
else container.exception = new DiffsFoundError(container.testResults) | ||
} else if (container.testResults.status === TestResultsStatuses.Failed) { | ||
} else if (container.testResults.status === 'Failed') { | ||
container.exception = new TestFailedError(container.testResults) | ||
@@ -43,5 +42,5 @@ } | ||
if (container.testResults) { | ||
if (container.testResults.status === TestResultsStatuses.Failed) summary.failed += 1 | ||
else if (container.testResults.status === TestResultsStatuses.Passed) summary.passed += 1 | ||
else if (container.testResults.status === TestResultsStatuses.Unresolved) summary.unresolved += 1 | ||
if (container.testResults.status === 'Failed') summary.failed += 1 | ||
else if (container.testResults.status === 'Passed') summary.passed += 1 | ||
else if (container.testResults.status === 'Unresolved') summary.unresolved += 1 | ||
@@ -48,0 +47,0 @@ summary.matches += container.testResults.matches |
'use strict' | ||
const {makeLogger} = require('@applitools/logger') | ||
const EyesError = require('../errors/EyesError') | ||
const Region = require('../geometry/Region') | ||
const Location = require('../geometry/Location') | ||
const RectangleSize = require('../geometry/RectangleSize') | ||
const CoordinatesType = require('../geometry/CoordinatesType') | ||
@@ -12,6 +9,4 @@ const GeneralUtils = require('../utils/GeneralUtils') | ||
const ImageDeltaCompressor = require('../images/ImageDeltaCompressor') | ||
const SimplePropertyHandler = require('../handler/SimplePropertyHandler') | ||
const ReadOnlyPropertyHandler = require('../handler/ReadOnlyPropertyHandler') | ||
const SessionType = require('../config/SessionType') | ||
const Configuration = require('../config/Configuration') | ||
@@ -21,5 +16,2 @@ | ||
const TextTrigger = require('../triggers/TextTrigger') | ||
const MouseTrigger = require('../triggers/MouseTrigger') | ||
const MatchResult = require('../match/MatchResult') | ||
@@ -37,7 +29,5 @@ const MatchWindowData = require('../match/MatchWindowData') | ||
const SessionStartInfo = require('../server/SessionStartInfo') | ||
const TestResultsStatus = require('../TestResultsStatus') | ||
const TestResults = require('../TestResults') | ||
const ServerConnector = require('../server/ServerConnector') | ||
const FailureReports = require('../FailureReports') | ||
const AppEnvironment = require('../AppEnvironment') | ||
@@ -83,3 +73,3 @@ const MatchWindowTask = require('../MatchWindowTask') | ||
/** @type {FailureReports} */ | ||
this._failureReports = FailureReports.ON_CLOSE | ||
this._failureReports = 'ON_CLOSE' | ||
@@ -101,4 +91,2 @@ /** @type {number} */ | ||
/** @type {boolean} */ this._useImageDeltaCompression = true | ||
/** | ||
@@ -913,3 +901,2 @@ * Will be set for separately for each test. | ||
setFailureReports(failureReports) { | ||
ArgumentGuard.isValidEnumValue(failureReports, FailureReports) | ||
this._failureReports = failureReports | ||
@@ -996,5 +983,5 @@ } | ||
if (results.getMissing() === 0 && results.getMismatches() === 0) { | ||
results.setStatus(TestResultsStatus.Passed) | ||
results.setStatus('Passed') | ||
} else { | ||
results.setStatus(TestResultsStatus.Unresolved) | ||
results.setStatus('Unresolved') | ||
} | ||
@@ -1008,3 +995,3 @@ } | ||
if (status === TestResultsStatus.Unresolved) { | ||
if (status === 'Unresolved') { | ||
if (results.getIsNew()) { | ||
@@ -1021,3 +1008,3 @@ this._logger.log(`--- New test ended. Please approve the new baseline at ${sessionResultsUrl}`) | ||
} | ||
} else if (status === TestResultsStatus.Failed) { | ||
} else if (status === 'Failed') { | ||
this._logger.log(`--- Failed test ended. See details at ${sessionResultsUrl}`) | ||
@@ -1269,5 +1256,5 @@ if (throwEx) { | ||
if (results.getMissing() === 0 && results.getMismatches() === 0) { | ||
results.setStatus(TestResultsStatus.Passed) | ||
results.setStatus('Passed') | ||
} else { | ||
results.setStatus(TestResultsStatus.Unresolved) | ||
results.setStatus('Unresolved') | ||
} | ||
@@ -1281,3 +1268,3 @@ } | ||
if (status === TestResultsStatus.Unresolved) { | ||
if (status === 'Unresolved') { | ||
if (results.getIsNew()) { | ||
@@ -1294,3 +1281,3 @@ this._logger.log(`--- New test ended. Please approve the new baseline at ${sessionResultsUrl}`) | ||
} | ||
} else if (status === TestResultsStatus.Failed) { | ||
} else if (status === 'Failed') { | ||
this._logger.log(`--- Failed test ended. See details at ${sessionResultsUrl}`) | ||
@@ -1394,3 +1381,3 @@ if (throwEx) { | ||
if (this.getFailureReports() === FailureReports.IMMEDIATE) { | ||
if (this.getFailureReports() === 'IMMEDIATE') { | ||
throw new TestFailedError( | ||
@@ -1416,3 +1403,3 @@ null, | ||
*/ | ||
async openBase(appName, testName, viewportSize, sessionType = SessionType.SEQUENTIAL, skipStartingSession = false) { | ||
async openBase(appName, testName, viewportSize, sessionType = 'SEQUENTIAL', skipStartingSession = false) { | ||
if (viewportSize) this._configuration.setViewportSize(viewportSize) | ||
@@ -1558,107 +1545,2 @@ | ||
/** | ||
* Adds a trigger to the current list of user inputs. | ||
* | ||
* @protected | ||
* @param {Trigger} trigger - The trigger to add to the user inputs list. | ||
*/ | ||
addUserInput(trigger) { | ||
if (this._configuration.getIsDisabled()) { | ||
return | ||
} | ||
ArgumentGuard.notNull(trigger, 'trigger') | ||
this._userInputs.push(trigger) | ||
} | ||
/** | ||
* Adds a text trigger. | ||
* | ||
* @protected | ||
* @param {Region} control - The control's position relative to the window. | ||
* @param {string} text - The trigger's text. | ||
*/ | ||
addTextTriggerBase(control, text) { | ||
if (this._configuration.getIsDisabled()) { | ||
this._logger.log(`Ignoring '${text}' (disabled)`) | ||
return | ||
} | ||
ArgumentGuard.notNull(control, 'control') | ||
ArgumentGuard.notNull(text, 'text') | ||
// We don't want to change the objects we received. | ||
let newControl = new Region(control) | ||
if (!this._matchWindowTask || !this._matchWindowTask.getLastScreenshot()) { | ||
this._logger.log(`Ignoring '${text}' (no screenshot)`) | ||
return | ||
} | ||
newControl = this._matchWindowTask | ||
.getLastScreenshot() | ||
.getIntersectedRegion(newControl, CoordinatesType.SCREENSHOT_AS_IS) | ||
if (newControl.isSizeEmpty()) { | ||
this._logger.log(`Ignoring '${text}' (out of bounds)`) | ||
return | ||
} | ||
const trigger = new TextTrigger(newControl, text) | ||
this._userInputs.push(trigger) | ||
this._logger.log(`Added ${trigger}`) | ||
} | ||
/** | ||
* Adds a mouse trigger. | ||
* | ||
* @protected | ||
* @param {MouseTrigger.MouseAction} action - Mouse action. | ||
* @param {Region} control - The control on which the trigger is activated (location is relative to the window). | ||
* @param {Location} cursor - The cursor's position relative to the control. | ||
*/ | ||
addMouseTriggerBase(action, control, cursor) { | ||
if (this._configuration.getIsDisabled()) { | ||
this._logger.log(`Ignoring ${action} (disabled)`) | ||
return | ||
} | ||
ArgumentGuard.notNull(action, 'action') | ||
ArgumentGuard.notNull(control, 'control') | ||
ArgumentGuard.notNull(cursor, 'cursor') | ||
// Triggers are actually performed on the previous window. | ||
if (!this._matchWindowTask || !this._matchWindowTask.getLastScreenshot()) { | ||
this._logger.log(`Ignoring ${action} (no screenshot)`) | ||
return | ||
} | ||
// We don't want to change the objects we received. | ||
const newControl = new Region(control) | ||
// Getting the location of the cursor in the screenshot | ||
let cursorInScreenshot = new Location(cursor) | ||
// First we need to getting the cursor's coordinates relative to the context (and not to the control). | ||
cursorInScreenshot.offsetByLocation(newControl.getLocation()) | ||
try { | ||
cursorInScreenshot = this._matchWindowTask | ||
.getLastScreenshot() | ||
.getLocationInScreenshot(cursorInScreenshot, CoordinatesType.CONTEXT_RELATIVE) | ||
} catch (err) { | ||
throw err | ||
} | ||
const controlScreenshotIntersect = this._matchWindowTask | ||
.getLastScreenshot() | ||
.getIntersectedRegion(newControl, CoordinatesType.SCREENSHOT_AS_IS) | ||
// If the region is NOT empty, we'll give the coordinates relative to the control. | ||
if (!controlScreenshotIntersect.isSizeEmpty()) { | ||
const l = controlScreenshotIntersect.getLocation() | ||
cursorInScreenshot.offset(-l.getX(), -l.getY()) | ||
} | ||
const trigger = new MouseTrigger(action, controlScreenshotIntersect, cursorInScreenshot) | ||
this._userInputs.push(trigger) | ||
} | ||
setAppEnvironment(hostOS, hostApp) { | ||
@@ -1863,3 +1745,3 @@ if (this.getIsDisabled()) { | ||
*/ | ||
async _getAppOutputWithScreenshot({lastScreenshot}) { | ||
async _getAppOutputWithScreenshot() { | ||
this._logger.log('getting screenshot...') | ||
@@ -1875,21 +1757,2 @@ | ||
let screenshotBuffer = targetBuffer | ||
if (this._useImageDeltaCompression && lastScreenshot) { | ||
try { | ||
this._logger.log('Compressing screenshot...') | ||
const sourceData = await lastScreenshot.image.toObject() | ||
const targetData = await screenshot.image.toObject() | ||
screenshotBuffer = ImageDeltaCompressor.compressByRawBlocks(targetData, targetBuffer, sourceData) | ||
const savedSize = targetBuffer.length - screenshotBuffer.length | ||
if (savedSize === 0) { | ||
this._logger.log('Compression skipped, because of significant difference.') | ||
} else { | ||
this._logger.log(`Compression finished, saved size is ${savedSize}.`) | ||
} | ||
} catch (err) { | ||
this._logger.error('Failed to compress screenshot!', err) | ||
} | ||
} | ||
await this._renderingInfoPromise | ||
@@ -1896,0 +1759,0 @@ screenshotUrl = await this._serverConnector.uploadScreenshot(GeneralUtils.guid(), screenshotBuffer) |
@@ -7,3 +7,2 @@ const utils = require('@applitools/utils') | ||
const Location = require('../geometry/Location') | ||
const FailureReports = require('../FailureReports') | ||
const ClassicRunner = require('../runner/ClassicRunner') | ||
@@ -249,5 +248,5 @@ const takeDomCapture = require('../utils/takeDomCapture') | ||
setFailureReport(mode) { | ||
if (mode === FailureReports.IMMEDIATE) { | ||
if (mode === 'IMMEDIATE') { | ||
this._failureReportOverridden = true | ||
mode = FailureReports.ON_CLOSE | ||
mode = 'ON_CLOSE' | ||
} | ||
@@ -254,0 +253,0 @@ |
'use strict' | ||
const Configuration = require('../config/Configuration') | ||
const CorsIframeHandles = require('../capture/CorsIframeHandles') | ||
const EyesRunner = require('../runner/EyesRunner') | ||
@@ -113,3 +112,3 @@ const ClassicRunner = require('../runner/ClassicRunner') | ||
eyes._corsIframeHandle = CorsIframeHandles.BLANK | ||
eyes._corsIframeHandle = 'BLANK' | ||
@@ -116,0 +115,0 @@ return eyes |
const utils = require('@applitools/utils') | ||
const {Driver} = require('@applitools/driver') | ||
const BrowserType = require('../config/BrowserType') | ||
const Configuration = require('../config/Configuration') | ||
@@ -10,3 +9,2 @@ const TypeUtils = require('../utils/TypeUtils') | ||
const CorsIframeHandler = require('../capture/CorsIframeHandler') | ||
const CorsIframeHandles = require('../capture/CorsIframeHandles') | ||
const VisualGridRunner = require('../runner/VisualGridRunner') | ||
@@ -51,3 +49,3 @@ const takeDomSnapshots = require('../utils/takeDomSnapshots') | ||
/** @private @type {CorsIframeHandle} */ | ||
this._corsIframeHandle = CorsIframeHandles.BLANK | ||
this._corsIframeHandle = 'BLANK' | ||
@@ -100,21 +98,17 @@ /** @private */ | ||
const vs = this._configuration.getViewportSize() | ||
this._configuration.addBrowser(vs.getWidth(), vs.getHeight(), BrowserType.CHROME) | ||
this._configuration.addBrowser(vs.getWidth(), vs.getHeight(), 'chrome') | ||
} | ||
const { | ||
openEyes, | ||
getResourceUrlsInCache, | ||
getIosDevicesSizes, | ||
getEmulatedDevicesSizes, | ||
} = await this._runner.getVisualGridClientWithCache({ | ||
logger: this._logger, | ||
agentId: this.getFullAgentId(), | ||
apiKey: this._configuration.getApiKey(), | ||
showLogs: this._configuration.getShowLogs(), | ||
proxy: this._configuration.getProxy(), | ||
autProxy: this._configuration.getAutProxy(), | ||
serverUrl: this._configuration.getServerUrl(), | ||
concurrency: this._runner.legacyConcurrency || this._configuration.getConcurrentSessions(), | ||
testConcurrency: this._runner.testConcurrency, | ||
}) | ||
const {openEyes, getResourceUrlsInCache, getIosDevicesSizes, getEmulatedDevicesSizes} = | ||
await this._runner.getVisualGridClientWithCache({ | ||
logger: this._logger, | ||
agentId: this.getFullAgentId(), | ||
apiKey: this._configuration.getApiKey(), | ||
showLogs: this._configuration.getShowLogs(), | ||
proxy: this._configuration.getProxy(), | ||
autProxy: this._configuration.getAutProxy(), | ||
serverUrl: this._configuration.getServerUrl(), | ||
concurrency: this._runner.legacyConcurrency || this._configuration.getConcurrentSessions(), | ||
testConcurrency: this._runner.testConcurrency, | ||
}) | ||
@@ -186,3 +180,3 @@ if (this._configuration.getViewportSize()) { | ||
const [{url}] = snapshots | ||
if (this.getCorsIframeHandle() === CorsIframeHandles.BLANK) { | ||
if (this.getCorsIframeHandle() === 'BLANK') { | ||
snapshots.forEach(CorsIframeHandler.blankCorsIframeSrcOfCdt) | ||
@@ -189,0 +183,0 @@ } |
@@ -5,3 +5,2 @@ 'use strict' | ||
const RectangleSize = require('./geometry/RectangleSize') | ||
const TestResultsStatuses = require('./TestResultsStatus') | ||
@@ -894,3 +893,3 @@ /** | ||
isPassed() { | ||
return this._status === TestResultsStatuses.Passed | ||
return this._status === 'Passed' | ||
} | ||
@@ -897,0 +896,0 @@ |
@@ -8,6 +8,6 @@ /* eslint-disable no-console */ | ||
const {promisify: p} = require('util') | ||
const {ServerConnector} = require('../../index') | ||
const {ConfigUtils, Configuration} = require('../../index') | ||
const {ServerConnector, Configuration} = require('../../index') | ||
const utils = require('@applitools/utils') | ||
const _userConfig = ConfigUtils.getConfig({configParams: ['apiKey', 'serverUrl', 'proxy']}) | ||
const _userConfig = utils.config.getConfig({params: ['apiKey', 'serverUrl', 'proxy']}) | ||
const _configuration = new Configuration(_userConfig) | ||
@@ -14,0 +14,0 @@ |
@@ -48,6 +48,3 @@ /* eslint-disable no-console */ | ||
const sha256Hash = crypto | ||
.createHash('sha256') | ||
.update(content) | ||
.digest('hex') | ||
const sha256Hash = crypto.createHash('sha256').update(content).digest('hex') | ||
@@ -54,0 +51,0 @@ return { |
@@ -462,5 +462,5 @@ 'use strict' | ||
function cachify(getterFunction, cacheRegardlessOfArgs = false) { | ||
const cachedGetter = (function() { | ||
const cachedGetter = (function () { | ||
const cache = {} | ||
return function(...args) { | ||
return function (...args) { | ||
let cacheKey = 'default' | ||
@@ -467,0 +467,0 @@ if (!cacheRegardlessOfArgs) { |
119
package.json
{ | ||
"name": "@applitools/eyes-sdk-core", | ||
"version": "13.6.23", | ||
"version": "13.6.24", | ||
"description": "The core components of Eyes JavaScript SDK", | ||
@@ -17,5 +17,4 @@ "keywords": [ | ||
"homepage": "https://applitools.com", | ||
"author": { | ||
"name": "Applitools Team", | ||
"email": "team@applitools.com" | ||
"bugs": { | ||
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues" | ||
}, | ||
@@ -27,83 +26,91 @@ "repository": { | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues" | ||
"license": "SEE LICENSE IN LICENSE", | ||
"author": { | ||
"name": "Applitools Team", | ||
"email": "team@applitools.com" | ||
}, | ||
"directories": { | ||
"lib": "./lib", | ||
"common": "./common", | ||
"test": "./test" | ||
"exports": { | ||
".": { | ||
"types": "./index.d.ts", | ||
"browser": "./browser.js", | ||
"default": "./index.js" | ||
}, | ||
"./lib/*": "./lib/*", | ||
"./package.json": "./package.json" | ||
}, | ||
"main": "./index.js", | ||
"typings": "./typings/index.d.ts", | ||
"browser": { | ||
".": "./browser.js", | ||
"tunnel": false | ||
}, | ||
"types": "./index.d.ts", | ||
"bin": { | ||
"eyes-check-network": "./bin/runCheckNetwork.js" | ||
}, | ||
"files": [ | ||
"bin", | ||
"lib", | ||
"index.js", | ||
"browser.js", | ||
"index.d.ts" | ||
], | ||
"scripts": { | ||
"lint": "eslint . --ext .js", | ||
"test": "mocha --no-timeouts --parallel --jobs 15 \"test/**/*.spec.js\"", | ||
"test:unit": "mocha --no-timeouts \"test/unit/**/*.spec.js\"", | ||
"test:it": "mocha --no-timeouts \"test/it/**/*.spec.js\"", | ||
"test:e2e": "mocha --no-timeouts \"test/e2e/**/*.spec.js\"", | ||
"setup": "yarn docker:setup", | ||
"docker:setup": "node ../scripts/scripts/generate-docker-compose-config.js && docker-compose up -d", | ||
"docker:teardown": "docker-compose down", | ||
"deps": "bongo deps", | ||
"preversion": "bongo preversion --skip-verify-installed-versions", | ||
"version": "bongo version", | ||
"postversion": "bongo postversion --skip-release-notification" | ||
}, | ||
"husky": { | ||
"hooks": { | ||
"pre-push": "yarn bongo lint" | ||
} | ||
}, | ||
"dependencies": { | ||
"@applitools/dom-capture": "11.1.0", | ||
"@applitools/dom-snapshot": "4.5.12", | ||
"@applitools/driver": "1.8.13", | ||
"@applitools/driver": "1.8.14", | ||
"@applitools/execution-grid-client": "1.1.14", | ||
"@applitools/isomorphic-fetch": "3.0.0", | ||
"@applitools/logger": "1.1.5", | ||
"@applitools/screenshoter": "3.3.23", | ||
"@applitools/logger": "1.1.6", | ||
"@applitools/screenshoter": "3.3.24", | ||
"@applitools/snippets": "2.2.3", | ||
"@applitools/types": "1.4.3", | ||
"@applitools/utils": "1.3.0", | ||
"@applitools/types": "1.4.4", | ||
"@applitools/utils": "1.3.1", | ||
"axios": "0.26.0", | ||
"chalk": "3.0.0", | ||
"cosmiconfig": "6.0.0", | ||
"dateformat": "3.0.3", | ||
"debug": "4.3.3", | ||
"deepmerge": "4.2.2", | ||
"stack-trace": "0.0.10", | ||
"tunnel": "0.0.6" | ||
}, | ||
"devDependencies": { | ||
"@applitools/bongo": "^2.1.0", | ||
"@applitools/bongo": "^2.1.1", | ||
"@applitools/sdk-fake-eyes-server": "2.1.2", | ||
"@applitools/spec-driver-selenium": "1.3.6", | ||
"@applitools/spec-driver-selenium": "1.3.7", | ||
"@applitools/test-server": "^1.0.9", | ||
"@applitools/test-utils": "1.3.2", | ||
"@applitools/visual-grid-client": "15.12.34", | ||
"assert-rejects": "1.0.0", | ||
"@applitools/visual-grid-client": "15.12.35", | ||
"chai": "4.2.0", | ||
"chai-uuid": "1.0.6", | ||
"eslint": "^8.2.0", | ||
"eslint": "^8.16.0", | ||
"eslint-plugin-mocha-no-only": "^1.1.1", | ||
"eslint-plugin-node": "^11.1.0", | ||
"eslint-plugin-prettier": "^3.1.4", | ||
"eslint-plugin-prettier": "^4.0.0", | ||
"husky": "^4.3.8", | ||
"mocha": "^8.0.1", | ||
"ncp": "^2.0.0", | ||
"mocha": "^10.0.0", | ||
"nock": "^13.0.4", | ||
"png-async": "^0.9.4", | ||
"prettier": "1.19.0", | ||
"selenium-webdriver": "^4.0.0-rc-2" | ||
"prettier": "2.6.2", | ||
"selenium-webdriver": "^4.2.0" | ||
}, | ||
"browser": { | ||
"tunnel": false | ||
}, | ||
"scripts": { | ||
"lint": "eslint . --ext .js", | ||
"test": "mocha --no-timeouts --parallel --jobs 15 \"test/**/*.spec.js\"", | ||
"test:unit": "mocha --no-timeouts \"test/unit/**/*.spec.js\"", | ||
"test:it": "mocha --no-timeouts \"test/it/**/*.spec.js\"", | ||
"test:e2e": "mocha --no-timeouts \"test/e2e/**/*.spec.js\"", | ||
"setup": "yarn docker:setup", | ||
"docker:setup": "node ../scripts/scripts/generate-docker-compose-config.js && docker-compose up -d", | ||
"docker:teardown": "docker-compose down", | ||
"deps": "bongo deps", | ||
"preversion": "bongo preversion --skip-verify-installed-versions", | ||
"version": "bongo version", | ||
"postversion": "bongo postversion --skip-release-notification" | ||
}, | ||
"bin": { | ||
"eyes-check-network": "./bin/runCheckNetwork.js" | ||
}, | ||
"license": "SEE LICENSE IN LICENSE", | ||
"engines": { | ||
"node": ">= 8.9.0" | ||
}, | ||
"husky": { | ||
"hooks": { | ||
"pre-push": "yarn bongo lint" | ||
} | ||
"node": ">=12.13.0" | ||
} | ||
} |
15
18
472047
106
14668
+ Added@applitools/driver@1.8.14(transitive)
+ Added@applitools/logger@1.1.6(transitive)
+ Added@applitools/screenshoter@3.3.24(transitive)
+ Added@applitools/types@1.4.4(transitive)
+ Added@applitools/utils@1.3.1(transitive)
+ Addeddebug@4.4.0(transitive)
+ Addedms@2.1.3(transitive)
- Removedcosmiconfig@6.0.0
- Removeddebug@4.3.3
- Removedstack-trace@0.0.10
- Removed@applitools/driver@1.8.13(transitive)
- Removed@applitools/screenshoter@3.3.23(transitive)
- Removed@applitools/types@1.4.3(transitive)
- Removed@babel/code-frame@7.26.2(transitive)
- Removed@babel/helper-validator-identifier@7.25.9(transitive)
- Removed@types/parse-json@4.0.2(transitive)
- Removedcallsites@3.1.0(transitive)
- Removedcosmiconfig@6.0.0(transitive)
- Removeddebug@4.3.3(transitive)
- Removederror-ex@1.3.2(transitive)
- Removedimport-fresh@3.3.1(transitive)
- Removedis-arrayish@0.2.1(transitive)
- Removedjs-tokens@4.0.0(transitive)
- Removedjson-parse-even-better-errors@2.3.1(transitive)
- Removedlines-and-columns@1.2.4(transitive)
- Removedms@2.1.2(transitive)
- Removedparent-module@1.0.1(transitive)
- Removedparse-json@5.2.0(transitive)
- Removedpath-type@4.0.0(transitive)
- Removedpicocolors@1.1.1(transitive)
- Removedresolve-from@4.0.0(transitive)
- Removedstack-trace@0.0.10(transitive)
- Removedyaml@1.10.2(transitive)
Updated@applitools/driver@1.8.14
Updated@applitools/logger@1.1.6
Updated@applitools/types@1.4.4
Updated@applitools/utils@1.3.1