@applitools/eyes-puppeteer 1.8.5 → 1.10.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 +43 -0
- package/dist/api.js +7 -3
- package/dist/index.js +5 -1
- package/dist/spec-driver.js +8 -223
- package/package.json +34 -38
- package/types/index.d.ts +1438 -2011
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,49 @@
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## 1.10.1 - 2022/6/2
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
### Bug fixes
|
|
16
|
+
- Fix rounding error of image size when scaling introduces fractions
|
|
17
|
+
|
|
18
|
+
## 1.10.0 - 2022/6/1
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
- Support UFG for native mobile
|
|
22
|
+
- `runner.getAllTestResults` returns the corresponding UFG browser/device configuration for each test. This is available as `runner.getAllTestResults()[i].browserInfo`.
|
|
23
|
+
- Support iPhone SE `IosDeviceName.iPhone_SE` and iPhone 8 Plus `IosDeviceName.iPhone_8_Plus` iOS devices
|
|
24
|
+
- Support Galaxy S22 `DeviceName.Galaxy_S22` emulation device
|
|
25
|
+
- Dorp support for Node.js versions <=12
|
|
26
|
+
### Bug fixes
|
|
27
|
+
- `runner.getAllTestResults` now aborts unclosed tests
|
|
28
|
+
- `runner.getAllTestResults` now returns all results, including aborted tests
|
|
29
|
+
- `extractText` now supports regions that don't use hints while using `x`/`y` coordinates
|
|
30
|
+
- accept ios and android lowercase as driver platformName capability when using custom grid
|
|
31
|
+
- Fixed check region fully in classic execution when using CSS stitching
|
|
32
|
+
- Support data urls in iframes
|
|
33
|
+
- Allow running with self-signed certificates
|
|
34
|
+
- Fixed `CheckSetting`'s `fully` being overridden by `Configuration`'s `forceFullPageScreenshot`
|
|
35
|
+
- Set EyesExceptions (such as new test, diffs exception and failed test exception) to exception property in TestResultsSummary
|
|
36
|
+
- Improve error message when failed to set viewport size
|
|
37
|
+
- Fixed incorrect calculation of coded regions in classic mode when using CSS stitching
|
|
38
|
+
|
|
39
|
+
## 1.9.0 - 2021/11/10
|
|
40
|
+
|
|
41
|
+
- support cookies
|
|
42
|
+
- updated to @applitools/eyes-api@1.1.5 (from 1.0.12)
|
|
43
|
+
- updated to @applitools/eyes-sdk-core@12.23.24 (from 12.22.6)
|
|
44
|
+
- updated to @applitools/visual-grid-client@15.8.43 (from 15.8.20)
|
|
45
|
+
- updated to @applitools/eyes-api@1.1.6 (from 1.1.5)
|
|
46
|
+
- updated to @applitools/eyes-sdk-core@12.24.0 (from 12.23.24)
|
|
47
|
+
- updated to @applitools/visual-grid-client@15.8.44 (from 15.8.43)
|
|
48
|
+
|
|
6
49
|
## 1.8.5 - 2021/10/30
|
|
7
50
|
|
|
8
51
|
- updated to @applitools/eyes-sdk-core@12.23.22 (from 12.23.18)
|
package/dist/api.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -25,8 +29,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
29
|
exports.BatchClose = exports.Target = exports.CheckSettings = exports.Configuration = exports.Eyes = void 0;
|
|
26
30
|
const eyes_sdk_core_1 = require("@applitools/eyes-sdk-core");
|
|
27
31
|
const api = __importStar(require("@applitools/eyes-api"));
|
|
28
|
-
const spec = __importStar(require("
|
|
29
|
-
const sdk = eyes_sdk_core_1.makeSDK({
|
|
32
|
+
const spec = __importStar(require("@applitools/spec-driver-puppeteer"));
|
|
33
|
+
const sdk = (0, eyes_sdk_core_1.makeSDK)({
|
|
30
34
|
name: 'eyes.puppeteer',
|
|
31
35
|
version: require('../package.json').version,
|
|
32
36
|
spec,
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/spec-driver.js
CHANGED
|
@@ -1,232 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
8
12
|
}));
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
15
|
};
|
|
21
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
|
|
23
|
-
const utils = __importStar(require("@applitools/utils"));
|
|
24
|
-
async function handleToObject(handle) {
|
|
25
|
-
const [, type] = handle.toString().split('@');
|
|
26
|
-
if (type === 'array') {
|
|
27
|
-
const map = await handle.getProperties();
|
|
28
|
-
return Promise.all(Array.from(map.values(), handleToObject));
|
|
29
|
-
}
|
|
30
|
-
else if (type === 'object') {
|
|
31
|
-
const map = await handle.getProperties();
|
|
32
|
-
const chunks = await Promise.all(Array.from(map, async ([key, handle]) => ({ [key]: await handleToObject(handle) })));
|
|
33
|
-
return chunks.length > 0 ? Object.assign(...chunks) : {};
|
|
34
|
-
}
|
|
35
|
-
else if (type === 'node') {
|
|
36
|
-
return handle.asElement();
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
return handle.jsonValue();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function transformArgument(arg) {
|
|
43
|
-
const elements = [];
|
|
44
|
-
const argWithElementMarkers = transform(arg);
|
|
45
|
-
return [argWithElementMarkers, ...elements];
|
|
46
|
-
function transform(arg) {
|
|
47
|
-
if (isElement(arg)) {
|
|
48
|
-
elements.push(arg);
|
|
49
|
-
return { isElement: true };
|
|
50
|
-
}
|
|
51
|
-
else if (utils.types.isArray(arg)) {
|
|
52
|
-
return arg.map(transform);
|
|
53
|
-
}
|
|
54
|
-
else if (utils.types.isObject(arg)) {
|
|
55
|
-
return Object.entries(arg).reduce((object, [key, value]) => {
|
|
56
|
-
return Object.assign(object, { [key]: transform(value) });
|
|
57
|
-
}, {});
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return arg;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function scriptRunner(script, arg, ...elements) {
|
|
65
|
-
const func = new Function(script.startsWith('function') ? `return (${script}).apply(null, arguments)` : script);
|
|
66
|
-
return func(transform(arg));
|
|
67
|
-
function transform(arg) {
|
|
68
|
-
if (!arg) {
|
|
69
|
-
return arg;
|
|
70
|
-
}
|
|
71
|
-
else if (arg.isElement) {
|
|
72
|
-
return elements.shift();
|
|
73
|
-
}
|
|
74
|
-
else if (Array.isArray(arg)) {
|
|
75
|
-
return arg.map(transform);
|
|
76
|
-
}
|
|
77
|
-
else if (typeof arg === 'object') {
|
|
78
|
-
return Object.entries(arg).reduce((object, [key, value]) => {
|
|
79
|
-
return Object.assign(object, { [key]: transform(value) });
|
|
80
|
-
}, {});
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return arg;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
function isXpath(selector) {
|
|
88
|
-
return selector.startsWith('//') || selector.startsWith('..');
|
|
89
|
-
}
|
|
90
|
-
function isDriver(page) {
|
|
91
|
-
if (!page)
|
|
92
|
-
return false;
|
|
93
|
-
return utils.types.instanceOf(page, 'Page');
|
|
94
|
-
}
|
|
95
|
-
exports.isDriver = isDriver;
|
|
96
|
-
function isContext(frame) {
|
|
97
|
-
if (!frame)
|
|
98
|
-
return false;
|
|
99
|
-
return utils.types.instanceOf(frame, 'Frame');
|
|
100
|
-
}
|
|
101
|
-
exports.isContext = isContext;
|
|
102
|
-
function isElement(element) {
|
|
103
|
-
if (!element)
|
|
104
|
-
return false;
|
|
105
|
-
return utils.types.instanceOf(element, 'ElementHandle');
|
|
106
|
-
}
|
|
107
|
-
exports.isElement = isElement;
|
|
108
|
-
function isSelector(selector) {
|
|
109
|
-
return utils.types.isString(selector);
|
|
110
|
-
}
|
|
111
|
-
exports.isSelector = isSelector;
|
|
112
|
-
function transformSelector(selector) {
|
|
113
|
-
if (utils.types.has(selector, 'selector'))
|
|
114
|
-
return selector.selector;
|
|
115
|
-
return selector;
|
|
116
|
-
}
|
|
117
|
-
exports.transformSelector = transformSelector;
|
|
118
|
-
function extractContext(page) {
|
|
119
|
-
return isDriver(page) ? page.mainFrame() : page;
|
|
120
|
-
}
|
|
121
|
-
exports.extractContext = extractContext;
|
|
122
|
-
function isStaleElementError(err) {
|
|
123
|
-
return (err &&
|
|
124
|
-
err.message &&
|
|
125
|
-
(err.message.includes('Execution context was destroyed') ||
|
|
126
|
-
err.message.includes('JSHandles can be evaluated only in the context they were created')));
|
|
127
|
-
}
|
|
128
|
-
exports.isStaleElementError = isStaleElementError;
|
|
129
|
-
async function executeScript(frame, script, arg) {
|
|
130
|
-
script = utils.types.isString(script) ? script : `function() {return (${script.toString()}).apply(null, arguments)}`;
|
|
131
|
-
const result = await frame.evaluateHandle(scriptRunner, script, ...transformArgument(arg));
|
|
132
|
-
return handleToObject(result);
|
|
133
|
-
}
|
|
134
|
-
exports.executeScript = executeScript;
|
|
135
|
-
async function mainContext(frame) {
|
|
136
|
-
frame = extractContext(frame);
|
|
137
|
-
let mainFrame = frame;
|
|
138
|
-
while (mainFrame.parentFrame()) {
|
|
139
|
-
mainFrame = mainFrame.parentFrame();
|
|
140
|
-
}
|
|
141
|
-
return mainFrame;
|
|
142
|
-
}
|
|
143
|
-
exports.mainContext = mainContext;
|
|
144
|
-
async function parentContext(frame) {
|
|
145
|
-
frame = extractContext(frame);
|
|
146
|
-
return frame.parentFrame();
|
|
147
|
-
}
|
|
148
|
-
exports.parentContext = parentContext;
|
|
149
|
-
async function childContext(_frame, element) {
|
|
150
|
-
return element.contentFrame();
|
|
151
|
-
}
|
|
152
|
-
exports.childContext = childContext;
|
|
153
|
-
async function findElement(frame, selector, parent) {
|
|
154
|
-
const root = parent !== null && parent !== void 0 ? parent : frame;
|
|
155
|
-
return isXpath(selector) ? root.$x(selector).then(elements => elements[0]) : root.$(selector);
|
|
156
|
-
}
|
|
157
|
-
exports.findElement = findElement;
|
|
158
|
-
async function findElements(frame, selector, parent) {
|
|
159
|
-
const root = parent !== null && parent !== void 0 ? parent : frame;
|
|
160
|
-
return isXpath(selector) ? root.$x(selector) : root.$$(selector);
|
|
161
|
-
}
|
|
162
|
-
exports.findElements = findElements;
|
|
163
|
-
async function getViewportSize(page) {
|
|
164
|
-
return page.viewport();
|
|
165
|
-
}
|
|
166
|
-
exports.getViewportSize = getViewportSize;
|
|
167
|
-
async function setViewportSize(page, size) {
|
|
168
|
-
await page.setViewport(size);
|
|
169
|
-
await new Promise(res => setTimeout(res, 100));
|
|
170
|
-
}
|
|
171
|
-
exports.setViewportSize = setViewportSize;
|
|
172
|
-
async function getTitle(page) {
|
|
173
|
-
return page.title();
|
|
174
|
-
}
|
|
175
|
-
exports.getTitle = getTitle;
|
|
176
|
-
async function getUrl(page) {
|
|
177
|
-
return page.url();
|
|
178
|
-
}
|
|
179
|
-
exports.getUrl = getUrl;
|
|
180
|
-
async function visit(page, url) {
|
|
181
|
-
await page.goto(url);
|
|
182
|
-
}
|
|
183
|
-
exports.visit = visit;
|
|
184
|
-
async function takeScreenshot(page) {
|
|
185
|
-
const scr = await page._client.send('Page.captureScreenshot');
|
|
186
|
-
return scr.data;
|
|
187
|
-
}
|
|
188
|
-
exports.takeScreenshot = takeScreenshot;
|
|
189
|
-
async function click(frame, element) {
|
|
190
|
-
if (isSelector(element))
|
|
191
|
-
element = await findElement(frame, element);
|
|
192
|
-
await element.click();
|
|
193
|
-
}
|
|
194
|
-
exports.click = click;
|
|
195
|
-
async function type(frame, element, keys) {
|
|
196
|
-
if (isSelector(element))
|
|
197
|
-
element = await findElement(frame, element);
|
|
198
|
-
return element.type(keys);
|
|
199
|
-
}
|
|
200
|
-
exports.type = type;
|
|
201
|
-
async function hover(frame, element) {
|
|
202
|
-
if (isSelector(element))
|
|
203
|
-
element = await findElement(frame, element);
|
|
204
|
-
await element.hover();
|
|
205
|
-
}
|
|
206
|
-
exports.hover = hover;
|
|
207
|
-
async function scrollIntoView(frame, element, align = false) {
|
|
208
|
-
if (isSelector(element))
|
|
209
|
-
element = await findElement(frame, element);
|
|
210
|
-
await frame.evaluate((element, align) => element.scrollIntoView(align), element, align);
|
|
211
|
-
}
|
|
212
|
-
exports.scrollIntoView = scrollIntoView;
|
|
213
|
-
async function waitUntilDisplayed(frame, selector) {
|
|
214
|
-
await frame.waitForSelector(selector);
|
|
215
|
-
}
|
|
216
|
-
exports.waitUntilDisplayed = waitUntilDisplayed;
|
|
217
|
-
async function build(env) {
|
|
218
|
-
const puppeteer = require('puppeteer');
|
|
219
|
-
env = Object.assign(Object.assign({}, env), { ignoreDefaultArgs: ['--hide-scrollbars'], executablePath: 'google-chrome-stable', args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', '--disable-gpu'] });
|
|
220
|
-
delete env.headless;
|
|
221
|
-
if (process.env.APPLITOOLS_DEBUG) {
|
|
222
|
-
env.headless = false;
|
|
223
|
-
env.devtools = true;
|
|
224
|
-
delete env.executablePath;
|
|
225
|
-
}
|
|
226
|
-
if (process.platform !== 'linux')
|
|
227
|
-
delete env.executablePath;
|
|
228
|
-
const driver = await puppeteer.launch(env);
|
|
229
|
-
const page = await driver.newPage();
|
|
230
|
-
return [page, () => driver.close()];
|
|
231
|
-
}
|
|
232
|
-
exports.build = build;
|
|
17
|
+
__exportStar(require("@applitools/spec-driver-puppeteer"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/eyes-puppeteer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"description": "Applitools Eyes SDK for Puppeteer",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eyes-puppeteer",
|
|
@@ -29,33 +29,26 @@
|
|
|
29
29
|
},
|
|
30
30
|
"main": "./dist/index.js",
|
|
31
31
|
"types": "./types/index.d.ts",
|
|
32
|
-
"directories": {
|
|
33
|
-
"lib": "./src",
|
|
34
|
-
"example": "./example",
|
|
35
|
-
"test": "./test"
|
|
36
|
-
},
|
|
37
32
|
"files": [
|
|
38
33
|
"dist",
|
|
39
34
|
"types"
|
|
40
35
|
],
|
|
41
36
|
"scripts": {
|
|
42
37
|
"lint": "eslint '**/*.ts'",
|
|
43
|
-
"build": "
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"test": "yarn test:it && yarn test:coverage",
|
|
48
|
-
"test:it": "mocha --exit --no-timeouts -r ts-node/register ./test/it/*.spec.ts",
|
|
49
|
-
"test:coverage": "yarn build:dist && yarn generate:tests && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-puppeteer' APPLITOOLS_BATCH_ID=$(uuidgen) XUNIT_FILE=coverage-test-report.xml mocha --exit --config .mocharc.cvg.js",
|
|
38
|
+
"build": "ttsc",
|
|
39
|
+
"generate:tests": "coverage-tests generate https://raw.githubusercontent.com/applitools/sdk.coverage.tests/universal-sdk/js/config.js --name 'eyes-puppeteer'",
|
|
40
|
+
"test": "yarn test:coverage",
|
|
41
|
+
"test:coverage": "yarn generate:tests && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-puppeteer' APPLITOOLS_BATCH_ID=$(uuidgen) XUNIT_FILE=coverage-test-report.xml mocha --exit --config .mocharc.cvg.js",
|
|
50
42
|
"report": "coverage-tests report https://raw.githubusercontent.com/applitools/sdk.coverage.tests/master/js/config.js --name 'eyes-puppeteer'",
|
|
51
43
|
"docker:build": "docker build -t applitools/puppeteer-chrome .",
|
|
52
44
|
"docker:rebuild": "docker build --no-cache -t applitools/puppeteer-chrome .",
|
|
53
45
|
"docker:run": "yarn docker:build && docker run -e NODE_AUTH_TOKEN --env APPLITOOLS_API_KEY=$APPLITOOLS_API_KEY_SDK --env APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-puppeteer' --env APPLITOOLS_BATCH_ID=$(uuidgen) --env XUNIT_FILE=coverage-test-report.xml -it --init --rm -v $(pwd):/sandbox applitools/puppeteer-chrome",
|
|
46
|
+
"upgrade:framework": "if [ ! -z $APPLITOOLS_PUPPETEER_VERSION ]; then packagejson=`cat package.json`; yarn upgrade --no-lockfile puppeteer@$APPLITOOLS_PUPPETEER_VERSION; echo \"$packagejson\" > package.json; fi",
|
|
54
47
|
"deps": "bongo deps",
|
|
55
|
-
"gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='puppeteer' -f links='eyes-sdk-core eyes-api
|
|
56
|
-
"gh:publish": "gh workflow run publish.yml --ref $(git rev-parse --abbrev-ref HEAD)
|
|
57
|
-
"preversion": "bongo preversion && yarn build",
|
|
58
|
-
"version": "bongo version",
|
|
48
|
+
"gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='puppeteer' -f links='types test-utils sdk-shared eyes-sdk-core visual-grid-client eyes-api spec-driver-puppeteer utils driver snippets screenshoter' -f linking-depth=3",
|
|
49
|
+
"gh:publish": "gh workflow run publish-puppeteer.yml --ref $(git rev-parse --abbrev-ref HEAD)",
|
|
50
|
+
"preversion": "bongo preversion --verifyPendingChanges && yarn build",
|
|
51
|
+
"version": "bongo version --withPendingChanges",
|
|
59
52
|
"postversion": "bongo postversion"
|
|
60
53
|
},
|
|
61
54
|
"husky": {
|
|
@@ -64,37 +57,40 @@
|
|
|
64
57
|
}
|
|
65
58
|
},
|
|
66
59
|
"dependencies": {
|
|
67
|
-
"@applitools/eyes-api": "1.1
|
|
68
|
-
"@applitools/eyes-sdk-core": "
|
|
69
|
-
"@applitools/
|
|
70
|
-
"@applitools/visual-grid-client": "15.
|
|
60
|
+
"@applitools/eyes-api": "1.5.1",
|
|
61
|
+
"@applitools/eyes-sdk-core": "13.6.28",
|
|
62
|
+
"@applitools/spec-driver-puppeteer": "1.1.3",
|
|
63
|
+
"@applitools/visual-grid-client": "15.12.37"
|
|
71
64
|
},
|
|
72
65
|
"devDependencies": {
|
|
73
|
-
"@applitools/api-extractor": "1.
|
|
74
|
-
"@applitools/
|
|
75
|
-
"@applitools/
|
|
76
|
-
"@applitools/sdk-
|
|
77
|
-
"@applitools/sdk-shared": "0.9.
|
|
78
|
-
"@applitools/test-utils": "1.
|
|
79
|
-
"@types/mocha": "^9.
|
|
80
|
-
"@
|
|
81
|
-
"@typescript-eslint/
|
|
82
|
-
"eslint": "^
|
|
83
|
-
"eslint
|
|
66
|
+
"@applitools/api-extractor": "1.2.8",
|
|
67
|
+
"@applitools/bongo": "^2.1.1",
|
|
68
|
+
"@applitools/scripts": "1.1.0",
|
|
69
|
+
"@applitools/sdk-coverage-tests": "2.3.18",
|
|
70
|
+
"@applitools/sdk-shared": "0.9.11",
|
|
71
|
+
"@applitools/test-utils": "1.3.2",
|
|
72
|
+
"@types/mocha": "^9.1.1",
|
|
73
|
+
"@types/node": "12",
|
|
74
|
+
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
|
75
|
+
"@typescript-eslint/parser": "^5.27.0",
|
|
76
|
+
"eslint": "^8.16.0",
|
|
77
|
+
"eslint-config-prettier": "^8.5.0",
|
|
84
78
|
"eslint-plugin-mocha-no-only": "^1.1.1",
|
|
85
79
|
"eslint-plugin-node": "^11.1.0",
|
|
86
|
-
"eslint-plugin-prettier": "^
|
|
80
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
87
81
|
"husky": "^4.3.8",
|
|
88
|
-
"mocha": "^
|
|
89
|
-
"prettier": "^2.
|
|
90
|
-
"puppeteer": "^
|
|
82
|
+
"mocha": "^9.2.2",
|
|
83
|
+
"prettier": "^2.6.2",
|
|
84
|
+
"puppeteer": "^14.1.2",
|
|
91
85
|
"spec-xunit-file": "0.0.1-3",
|
|
92
|
-
"ts-node": "^10.
|
|
86
|
+
"ts-node": "^10.8.0",
|
|
87
|
+
"ttypescript": "^1.5.13",
|
|
88
|
+
"typescript": "^4.7.2"
|
|
93
89
|
},
|
|
94
90
|
"peerDependencies": {
|
|
95
91
|
"puppeteer": ">=5.3.0"
|
|
96
92
|
},
|
|
97
93
|
"engines": {
|
|
98
|
-
"node": ">=
|
|
94
|
+
"node": ">=12.13.0"
|
|
99
95
|
}
|
|
100
96
|
}
|