@applitools/core 2.3.14 → 2.3.15

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/automation/extract-text.js +2 -2
  3. package/dist/automation/locate-text.js +2 -2
  4. package/dist/automation/locate.js +6 -2
  5. package/dist/check-and-close.js +5 -6
  6. package/dist/check.js +10 -9
  7. package/dist/classic/core.js +14 -14
  8. package/dist/classic/get-base-eyes.js +5 -5
  9. package/dist/classic/open-eyes.js +7 -7
  10. package/dist/close-batch.js +1 -1
  11. package/dist/core.js +19 -19
  12. package/dist/delete-test.js +1 -1
  13. package/dist/extract-text.js +1 -1
  14. package/dist/{make-ec-client.js → get-ec-client.js} +7 -7
  15. package/dist/get-typed-eyes.js +5 -5
  16. package/dist/locate-text.js +1 -1
  17. package/dist/locate.js +1 -1
  18. package/dist/make-manager.js +3 -3
  19. package/dist/open-eyes.js +4 -9
  20. package/dist/ufg/check-and-close.js +9 -5
  21. package/dist/ufg/check.js +7 -3
  22. package/dist/ufg/core.js +46 -41
  23. package/dist/ufg/get-base-eyes.js +9 -6
  24. package/dist/ufg/get-nml-client.js +5 -5
  25. package/dist/ufg/get-ufg-client.js +6 -6
  26. package/dist/ufg/open-eyes.js +7 -15
  27. package/dist/universal/core-server.js +2 -1
  28. package/dist/universal/core.js +23 -18
  29. package/package.json +29 -30
  30. package/types/automation/extract-text.d.ts +3 -4
  31. package/types/automation/locate-text.d.ts +3 -4
  32. package/types/automation/locate.d.ts +3 -4
  33. package/types/automation/types.d.ts +11 -12
  34. package/types/classic/core.d.ts +2 -2
  35. package/types/classic/get-base-eyes.d.ts +9 -8
  36. package/types/classic/open-eyes.d.ts +5 -5
  37. package/types/classic/types.d.ts +7 -6
  38. package/types/close-batch.d.ts +2 -3
  39. package/types/core.d.ts +2 -2
  40. package/types/delete-test.d.ts +2 -3
  41. package/types/extract-text.d.ts +2 -3
  42. package/types/{make-ec-client.d.ts → get-ec-client.d.ts} +1 -3
  43. package/types/get-manager-results.d.ts +2 -3
  44. package/types/get-typed-eyes.d.ts +3 -6
  45. package/types/locate-text.d.ts +2 -3
  46. package/types/locate.d.ts +2 -3
  47. package/types/make-manager.d.ts +4 -3
  48. package/types/open-eyes.d.ts +3 -4
  49. package/types/types.d.ts +10 -9
  50. package/types/ufg/abort.d.ts +2 -2
  51. package/types/ufg/close.d.ts +2 -2
  52. package/types/ufg/core.d.ts +2 -2
  53. package/types/ufg/get-base-eyes.d.ts +10 -14
  54. package/types/ufg/get-nml-client.d.ts +2 -2
  55. package/types/ufg/get-results.d.ts +2 -2
  56. package/types/ufg/get-ufg-client.d.ts +3 -3
  57. package/types/ufg/open-eyes.d.ts +5 -11
  58. package/types/ufg/types.d.ts +18 -17
  59. package/types/universal/core.d.ts +6 -4
package/dist/ufg/core.js CHANGED
@@ -34,51 +34,56 @@ const set_viewport_size_1 = require("../automation/set-viewport-size");
34
34
  const locate_1 = require("../automation/locate");
35
35
  const locate_text_1 = require("../automation/locate-text");
36
36
  const extract_text_1 = require("../automation/extract-text");
37
+ const get_ufg_client_1 = require("./get-ufg-client");
38
+ const get_nml_client_1 = require("./get-nml-client");
37
39
  const open_eyes_1 = require("./open-eyes");
38
40
  const utils = __importStar(require("@applitools/utils"));
39
41
  const throat_1 = __importDefault(require("throat"));
40
- function makeCore({ concurrency, spec, clients, core, agentId = 'core-ufg', cwd = process.cwd(), logger, }) {
42
+ function makeCore({ concurrency, spec, clients, base, agentId = 'core-ufg', cwd = process.cwd(), logger: defaultLogger, }) {
41
43
  var _a;
42
- logger = (_a = logger === null || logger === void 0 ? void 0 : logger.extend({ label: 'core-ufg' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'core-ufg' });
43
- logger.log(`Core ufg is initialized ${core ? 'with' : 'without'} custom base core`);
44
- const throttle = (0, throat_1.default)(concurrency);
45
- core !== null && core !== void 0 ? core : (core = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
46
- // open eyes with concurrency
47
- core.openEyes = utils.general.wrap(core.openEyes, (openEyes, options) => {
48
- return new Promise((resolve, rejects) => {
49
- throttle(() => {
50
- return new Promise(async (done) => {
51
- try {
52
- const eyes = await openEyes(options);
53
- resolve(utils.general.extend(eyes, {
54
- // release concurrency slot when closed
55
- close: utils.general.wrap(eyes.close, (close, options) => close(options).finally(done)),
56
- // release concurrency slot when aborted
57
- abort: utils.general.wrap(eyes.abort, (abort, options) => abort(options).finally(done)),
58
- // release concurrency slot when checkAndClose is done
59
- checkAndClose: utils.general.wrap(eyes.checkAndClose, (checkAndClose, options) => checkAndClose(options).finally(done)),
60
- }));
61
- }
62
- catch (error) {
63
- rejects(error);
64
- // release concurrency slot when error thrown
65
- done();
66
- }
67
- });
68
- });
69
- });
70
- });
71
- return utils.general.extend(core, {
72
- type: 'ufg',
73
- isDriver: spec && spec.isDriver,
74
- isElement: spec && spec.isElement,
75
- isSelector: spec && spec.isSelector,
76
- getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
77
- setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
78
- locate: (0, locate_1.makeLocate)({ spec, core, logger }),
79
- locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
80
- extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
81
- openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, clients, core, logger }),
44
+ const logger = (_a = defaultLogger === null || defaultLogger === void 0 ? void 0 : defaultLogger.extend({ label: 'core-ufg' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'core-ufg' });
45
+ logger.log(`Core ufg is initialized ${base ? 'with' : 'without'} custom base core`);
46
+ base !== null && base !== void 0 ? base : (base = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
47
+ return utils.general.extend(base, core => {
48
+ const throttle = (0, throat_1.default)(concurrency);
49
+ return {
50
+ type: 'ufg',
51
+ base: utils.general.extend(base, {
52
+ // open eyes with concurrency
53
+ openEyes: utils.general.wrap(base.openEyes, (openEyes, options) => {
54
+ return new Promise((resolve, rejects) => {
55
+ throttle(() => {
56
+ return new Promise(async (done) => {
57
+ try {
58
+ const eyes = await openEyes(options);
59
+ resolve(utils.general.extend(eyes, {
60
+ // release concurrency slot when closed
61
+ close: utils.general.wrap(eyes.close, (close, options) => close(options).finally(done)),
62
+ // release concurrency slot when aborted
63
+ abort: utils.general.wrap(eyes.abort, (abort, options) => abort(options).finally(done)),
64
+ // release concurrency slot when checkAndClose is done
65
+ checkAndClose: utils.general.wrap(eyes.checkAndClose, (checkAndClose, options) => checkAndClose(options).finally(done)),
66
+ }));
67
+ }
68
+ catch (error) {
69
+ rejects(error);
70
+ // release concurrency slot when error thrown
71
+ done();
72
+ }
73
+ });
74
+ });
75
+ });
76
+ }),
77
+ }),
78
+ getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
79
+ setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
80
+ locate: (0, locate_1.makeLocate)({ spec, core, logger }),
81
+ locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
82
+ extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
83
+ getUFGClient: (0, get_ufg_client_1.makeGetUFGClient)({ client: clients === null || clients === void 0 ? void 0 : clients.ufg, logger }),
84
+ getNMLClient: (0, get_nml_client_1.makeGetNMLClient)({ client: clients === null || clients === void 0 ? void 0 : clients.nml, logger }),
85
+ openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, logger }),
86
+ };
82
87
  });
83
88
  }
84
89
  exports.makeCore = makeCore;
@@ -25,23 +25,26 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeGetBaseEyes = void 0;
27
27
  const utils = __importStar(require("@applitools/utils"));
28
- function makeGetBaseEyes({ eyes, settings: defaultSettings, core, baseEyes, logger: defaultLogger }) {
28
+ function makeGetBaseEyes({ settings: defaultSettings, eyes, base, logger: defaultLogger, }) {
29
29
  const getBaseEyesWithCache = utils.general.cachify(getBaseEyes, ([options]) => options === null || options === void 0 ? void 0 : options.settings);
30
- if (baseEyes) {
31
- baseEyes.forEach(baseEyes => getBaseEyesWithCache.setCachedValue(baseEyes.test.rendererInfo, Promise.resolve([baseEyes])));
30
+ if (base) {
31
+ base.forEach(baseEyes => getBaseEyesWithCache.setCachedValue(baseEyes.test.rendererInfo, Promise.resolve([baseEyes])));
32
32
  }
33
33
  return getBaseEyesWithCache;
34
34
  async function getBaseEyes({ settings, logger = defaultLogger, } = {}) {
35
35
  logger.log(`Command "getBaseEyes" is called with settings`, settings);
36
36
  if (!settings)
37
37
  throw new Error('');
38
- const ufgClient = await eyes.getUFGClient({ logger });
38
+ const ufgClient = await eyes.core.getUFGClient({
39
+ config: { ...eyes.test.account, ...eyes.test.account.ufg, proxy: eyes.test.server.proxy },
40
+ logger,
41
+ });
39
42
  const environment = await ufgClient.bookRenderer({ settings });
40
- const eyesBase = await core.openEyes({
43
+ const baseEyes = await eyes.core.base.openEyes({
41
44
  settings: { ...defaultSettings, environment: { ...defaultSettings.environment, ...environment } },
42
45
  logger,
43
46
  });
44
- return [eyesBase];
47
+ return [baseEyes];
45
48
  }
46
49
  }
47
50
  exports.makeGetBaseEyes = makeGetBaseEyes;
@@ -26,12 +26,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeGetNMLClient = void 0;
27
27
  const nml_client_1 = require("@applitools/nml-client");
28
28
  const utils = __importStar(require("@applitools/utils"));
29
- function makeGetNMLClient({ config, client, logger: defaultLogger }) {
30
- const getBaseEyesWithCache = utils.general.cachify(getNMLClient, () => 'default');
29
+ function makeGetNMLClient({ client, logger: defaultLogger }) {
30
+ const getNMLClientWithCache = utils.general.cachify(getNMLClient, ([options]) => client ? 'default' : [options.driver.sessionId, options.config]);
31
31
  if (client)
32
- getBaseEyesWithCache.setCachedValue('default', Promise.resolve(client));
33
- return getBaseEyesWithCache;
34
- async function getNMLClient({ driver, logger = defaultLogger }) {
32
+ getNMLClientWithCache.setCachedValue('default', Promise.resolve(client));
33
+ return getNMLClientWithCache;
34
+ async function getNMLClient({ driver, config, logger = defaultLogger, }) {
35
35
  const brokerUrl = await driver.extractBrokerUrl();
36
36
  if (!brokerUrl)
37
37
  return null;
@@ -26,13 +26,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeGetUFGClient = void 0;
27
27
  const ufg_client_1 = require("@applitools/ufg-client");
28
28
  const utils = __importStar(require("@applitools/utils"));
29
- function makeGetUFGClient({ config, concurrency, client, logger: defaultLogger }) {
30
- const getBaseEyesWithCache = utils.general.cachify(getUFGClient, () => 'default');
29
+ function makeGetUFGClient({ client, logger: defaultLogger }) {
30
+ const getUFGClientWithCache = utils.general.cachify(getUFGClient, ([options]) => client ? 'default' : [options.config]);
31
31
  if (client)
32
- getBaseEyesWithCache.setCachedValue('default', Promise.resolve(client));
33
- return getBaseEyesWithCache;
34
- async function getUFGClient({ logger = defaultLogger } = {}) {
35
- return (0, ufg_client_1.makeUFGClient)({ config, concurrency, logger });
32
+ getUFGClientWithCache.setCachedValue('default', Promise.resolve(client));
33
+ return getUFGClientWithCache;
34
+ async function getUFGClient({ config, concurrency, logger = defaultLogger, }) {
35
+ return (0, ufg_client_1.makeUFGClient)({ config, concurrency: concurrency || 5, logger });
36
36
  }
37
37
  }
38
38
  exports.makeGetUFGClient = makeGetUFGClient;
@@ -25,8 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeOpenEyes = void 0;
27
27
  const driver_1 = require("@applitools/driver");
28
- const get_ufg_client_1 = require("./get-ufg-client");
29
- const get_nml_client_1 = require("./get-nml-client");
30
28
  const get_base_eyes_1 = require("./get-base-eyes");
31
29
  const check_1 = require("./check");
32
30
  const check_and_close_1 = require("./check-and-close");
@@ -35,12 +33,12 @@ const abort_1 = require("./abort");
35
33
  const get_results_1 = require("./get-results");
36
34
  const abort_controller_1 = require("abort-controller");
37
35
  const utils = __importStar(require("@applitools/utils"));
38
- function makeOpenEyes({ core, clients, spec, logger: defaultLogger }) {
39
- return async function openEyes({ target, settings, eyes, logger = defaultLogger, }) {
36
+ function makeOpenEyes({ core, spec, logger: defaultLogger }) {
37
+ return async function openEyes({ target, settings, base, logger = defaultLogger, }) {
40
38
  var _a;
41
- logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), eyes ? 'predefined eyes' : '');
39
+ logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), base ? 'predefined eyes' : '');
42
40
  const driver = target && (await (0, driver_1.makeDriver)({ spec, driver: target, logger }));
43
- if (driver && !eyes) {
41
+ if (driver && !base) {
44
42
  const currentContext = driver.currentContext;
45
43
  (_a = settings.environment) !== null && _a !== void 0 ? _a : (settings.environment = {});
46
44
  if (driver.isEC) {
@@ -54,11 +52,12 @@ function makeOpenEyes({ core, clients, spec, logger: defaultLogger }) {
54
52
  const controller = new abort_controller_1.AbortController();
55
53
  const account = await core.getAccountInfo({ settings, logger });
56
54
  return utils.general.extend({}, eyes => {
57
- var _a, _b;
55
+ var _a;
58
56
  const storage = new Map();
59
57
  let running = true;
60
58
  return {
61
59
  type: 'ufg',
60
+ core,
62
61
  test: {
63
62
  userTestId: settings.userTestId,
64
63
  batchId: (_a = settings.batch) === null || _a === void 0 ? void 0 : _a.id,
@@ -69,14 +68,7 @@ function makeOpenEyes({ core, clients, spec, logger: defaultLogger }) {
69
68
  get running() {
70
69
  return running;
71
70
  },
72
- getUFGClient: (0, get_ufg_client_1.makeGetUFGClient)({
73
- config: { ...account.ufg, ...account, proxy: settings.proxy },
74
- concurrency: (_b = settings.renderConcurrency) !== null && _b !== void 0 ? _b : 5,
75
- client: clients === null || clients === void 0 ? void 0 : clients.ufg,
76
- logger,
77
- }),
78
- getNMLClient: (0, get_nml_client_1.makeGetNMLClient)({ config: settings, client: clients === null || clients === void 0 ? void 0 : clients.nml, logger }),
79
- getBaseEyes: (0, get_base_eyes_1.makeGetBaseEyes)({ eyes, settings, core, logger }),
71
+ getBaseEyes: (0, get_base_eyes_1.makeGetBaseEyes)({ settings, eyes, base, logger }),
80
72
  // check with indexing and storage
81
73
  check: utils.general.wrap((0, check_1.makeCheck)({ eyes, target: driver, spec, signal: controller.signal, logger }), async (check, options = {}) => {
82
74
  const results = await check(options);
@@ -125,9 +125,10 @@ printStdout = false, ...handlerOptions } = {}) {
125
125
  const core = await corePromise;
126
126
  return core.extractText(options);
127
127
  });
128
+ // TODO rename to getECClient
128
129
  socket.command('Core.makeECClient', async (options) => {
129
130
  const core = await corePromise;
130
- const client = await core.makeECClient(options);
131
+ const client = await core.getECClient(options);
131
132
  return { url: client.url };
132
133
  });
133
134
  socket.command('Core.makeManager', async (options) => {
@@ -31,7 +31,8 @@ const utils = __importStar(require("@applitools/utils"));
31
31
  //TODO add refer and sanitizing support, solve types issues
32
32
  function makeCore(options) {
33
33
  const socketPromise = makeClientSocket(options);
34
- return {
34
+ const core = {
35
+ base: null,
35
36
  async getAccountInfo(options) {
36
37
  const socket = await socketPromise;
37
38
  return socket.request('Core.getAccountInfo', options);
@@ -58,15 +59,15 @@ function makeCore(options) {
58
59
  },
59
60
  async openEyes(options) {
60
61
  const socket = await socketPromise;
61
- const eyes = await socket.request('Core.openEyes', options);
62
- return makeEyes({ socket, eyes });
62
+ const eyesRef = await socket.request('Core.openEyes', options);
63
+ return makeEyes({ socket, core, eyesRef });
63
64
  },
64
65
  async makeManager(options) {
65
66
  const socket = await socketPromise;
66
- const manager = await socket.request('Core.makeManager', options);
67
- return makeManager({ socket, manager });
67
+ const managerRef = await socket.request('Core.makeManager', options);
68
+ return makeManager({ socket, core, managerRef });
68
69
  },
69
- async makeECClient(options) {
70
+ async getECClient(options) {
70
71
  const socket = await socketPromise;
71
72
  return socket.request('Core.makeECClient', options);
72
73
  },
@@ -83,24 +84,27 @@ function makeCore(options) {
83
84
  return socket.request('Core.logEvent', options);
84
85
  },
85
86
  };
87
+ return core;
86
88
  }
87
89
  exports.makeCore = makeCore;
88
- function makeManager({ socket, manager, }) {
89
- return {
90
+ function makeManager({ socket, core, managerRef, }) {
91
+ const manager = {
90
92
  async openEyes(options) {
91
- const eyes = await socket.request('EyesManager.openEyes', { ...options, manager });
92
- return makeEyes({ socket, eyes });
93
+ const eyesRef = await socket.request('EyesManager.openEyes', { ...options, manager: managerRef });
94
+ return makeEyes({ socket, core, eyesRef });
93
95
  },
94
96
  async getResults(options) {
95
- return socket.request('EyesManager.getResults', { ...options, manager });
97
+ return socket.request('EyesManager.getResults', { ...options, manager: managerRef });
96
98
  },
97
99
  };
100
+ return manager;
98
101
  }
99
102
  exports.makeManager = makeManager;
100
- function makeEyes({ socket, eyes, }) {
101
- return {
103
+ function makeEyes({ socket, core, eyesRef, }) {
104
+ const eyes = {
102
105
  test: null,
103
106
  running: null,
107
+ core,
104
108
  getBaseEyes() {
105
109
  return null;
106
110
  },
@@ -108,21 +112,22 @@ function makeEyes({ socket, eyes, }) {
108
112
  return null;
109
113
  },
110
114
  async check(options) {
111
- return socket.request('Eyes.check', { ...options, eyes });
115
+ return socket.request('Eyes.check', { ...options, eyes: eyesRef });
112
116
  },
113
117
  async checkAndClose(options) {
114
- return socket.request('Eyes.checkAndClose', { ...options, eyes });
118
+ return socket.request('Eyes.checkAndClose', { ...options, eyes: eyesRef });
115
119
  },
116
120
  async close(options) {
117
- return socket.request('Eyes.close', { ...options, eyes });
121
+ return socket.request('Eyes.close', { ...options, eyes: eyesRef });
118
122
  },
119
123
  async abort(options) {
120
- return socket.request('Eyes.abort', { ...options, eyes });
124
+ return socket.request('Eyes.abort', { ...options, eyes: eyesRef });
121
125
  },
122
126
  async getResults(options) {
123
- return socket.request('Eyes.getResults', { ...options, eyes });
127
+ return socket.request('Eyes.getResults', { ...options, eyes: eyesRef });
124
128
  },
125
129
  };
130
+ return eyes;
126
131
  }
127
132
  exports.makeEyes = makeEyes;
128
133
  async function makeClientSocket({ agentId, spec, }) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "2.3.14",
3
+ "version": "2.3.15",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -50,19 +50,21 @@
50
50
  "build:bin:arm64": "pkg . --target node14-linux-arm64 --output ./bin/core-linux-arm64",
51
51
  "build:bin:zip": "zip -j ./bin/core.zip $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
52
52
  "build:bin:tgz": "tar -czf ./bin/core.tar.gz $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
53
- "test": "mocha --config .mocharc.cvg.js",
53
+ "test": "node ../../node_modules/.bin/mocha './test/**/*.spec.ts' --exclude './test/bin/**' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
54
+ "test:bin": "MOCHA_GROUP=bin node ../../node_modules/mocha/bin/mocha './test/bin/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15}",
55
+ "test:e2e": "MOCHA_GROUP=e2e node ../../node_modules/mocha/bin/mocha './test/e2e/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
56
+ "test:it": "MOCHA_GROUP=it node ../../node_modules/.bin/mocha './test/it/**/*.spec.ts'",
57
+ "test:unit": "MOCHA_GROUP=unit node ../../node_modules/.bin/mocha './test/unit/**/*.spec.ts'",
54
58
  "test:sanity": "yarn test:unit",
55
- "test:bin": "mocha --no-timeouts -r ts-node/register --parallel --jobs 15 './test/bin/**/*.spec.ts'",
56
- "test:e2e": "mocha --no-timeouts -r ts-node/register --parallel --jobs 15 './test/e2e/**/*.spec.ts'",
57
- "test:it": "mocha --no-timeouts -r ts-node/register './test/it/**/*.spec.ts'",
58
- "test:unit": "mocha --no-timeouts -r ts-node/register './test/unit/**/*.spec.ts'",
59
+ "report": "bongo report --name 'core'",
59
60
  "setup": "yarn docker:setup",
60
61
  "docker:setup": "node ../../scripts/generate-docker-compose-config.js && docker-compose up -d",
61
62
  "docker:teardown": "docker-compose down",
62
63
  "deps": "bongo deps",
63
64
  "preversion": "bongo preversion --verify-pending-changes --skip-deps",
64
65
  "version": "bongo version --with-pending-changes",
65
- "postversion": "bongo postversion"
66
+ "postversion": "bongo postversion",
67
+ "postpublish": "bongo send-release-notification --name 'core'"
66
68
  },
67
69
  "pkg": {
68
70
  "scripts": "./dist/cli/cli.js",
@@ -73,20 +75,20 @@
73
75
  ]
74
76
  },
75
77
  "dependencies": {
76
- "@applitools/core-base": "1.1.39",
78
+ "@applitools/core-base": "1.1.41",
77
79
  "@applitools/dom-capture": "11.2.1",
78
80
  "@applitools/dom-snapshot": "4.7.5",
79
- "@applitools/driver": "1.11.35",
80
- "@applitools/ec-client": "1.2.14",
81
- "@applitools/logger": "1.1.46",
82
- "@applitools/nml-client": "1.3.38",
83
- "@applitools/req": "1.1.30",
84
- "@applitools/screenshoter": "3.7.29",
85
- "@applitools/snippets": "2.4.15",
86
- "@applitools/socket": "1.0.8",
87
- "@applitools/spec-driver-webdriver": "1.0.15",
88
- "@applitools/ufg-client": "1.2.1",
89
- "@applitools/utils": "1.3.30",
81
+ "@applitools/driver": "1.11.36",
82
+ "@applitools/ec-client": "1.2.15",
83
+ "@applitools/logger": "1.1.47",
84
+ "@applitools/nml-client": "1.3.39",
85
+ "@applitools/req": "1.1.31",
86
+ "@applitools/screenshoter": "3.7.30",
87
+ "@applitools/snippets": "2.4.16",
88
+ "@applitools/socket": "1.0.9",
89
+ "@applitools/spec-driver-webdriver": "1.0.16",
90
+ "@applitools/ufg-client": "1.2.2",
91
+ "@applitools/utils": "1.3.31",
90
92
  "@types/ws": "8.5.4",
91
93
  "abort-controller": "3.0.0",
92
94
  "chalk": "4.1.2",
@@ -97,20 +99,17 @@
97
99
  "yargs": "17.6.2"
98
100
  },
99
101
  "devDependencies": {
100
- "@applitools/bongo": "^2.2.5",
101
- "@applitools/sdk-coverage-tests": "^2.7.12",
102
- "@applitools/spec-driver-puppeteer": "^1.1.47",
103
- "@applitools/spec-driver-selenium": "^1.5.32",
104
- "@applitools/spec-driver-webdriverio": "^1.4.30",
105
- "@applitools/test-server": "^1.1.26",
106
- "@applitools/test-utils": "^1.5.12",
107
- "@types/mocha": "^9.1.1",
108
- "@types/node": "12",
102
+ "@applitools/bongo": "^3.0.1",
103
+ "@applitools/sdk-coverage-tests": "^3.0.0",
104
+ "@applitools/spec-driver-puppeteer": "^1.1.48",
105
+ "@applitools/spec-driver-selenium": "^1.5.33",
106
+ "@applitools/spec-driver-webdriverio": "^1.4.31",
107
+ "@applitools/test-server": "^1.1.27",
108
+ "@applitools/test-utils": "^1.5.13",
109
+ "@types/node": "^12.20.55",
109
110
  "@types/selenium-webdriver": "^4.1.2",
110
111
  "@types/yargs": "^17.0.22",
111
112
  "chromedriver": "^106.0.0",
112
- "mocha": "^10.0.0",
113
- "mocha-multi": "^1.1.7",
114
113
  "nock": "^13.2.8",
115
114
  "pkg": "^5.8.0",
116
115
  "png-async": "^0.9.4",
@@ -1,15 +1,14 @@
1
1
  import type { MaybeArray } from '@applitools/utils';
2
- import type { DriverTarget, ImageTarget, ExtractTextSettings } from '../classic/types';
3
- import type { Core as BaseCore } from '@applitools/core-base';
2
+ import type { Target, Core, ExtractTextSettings } from '../classic/types';
4
3
  import { type Logger } from '@applitools/logger';
5
4
  import { type SpecType, type SpecDriver } from '@applitools/driver';
6
5
  type Options<TSpec extends SpecType> = {
7
- core: BaseCore;
6
+ core: Core<TSpec>;
8
7
  spec?: SpecDriver<TSpec>;
9
8
  logger: Logger;
10
9
  };
11
10
  export declare function makeExtractText<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, logger, }: {
12
- target: DriverTarget<TSpec> | ImageTarget;
11
+ target: Target<TSpec>;
13
12
  settings: MaybeArray<ExtractTextSettings<TSpec>>;
14
13
  logger?: Logger | undefined;
15
14
  }) => Promise<string[]>;
@@ -1,14 +1,13 @@
1
- import type { DriverTarget, ImageTarget, LocateTextSettings, LocateTextResult } from './types';
2
- import type { Core as BaseCore } from '@applitools/core-base';
1
+ import type { Target, Core, LocateTextSettings, LocateTextResult } from './types';
3
2
  import { type Logger } from '@applitools/logger';
4
3
  import { type SpecType, type SpecDriver } from '@applitools/driver';
5
4
  type Options<TSpec extends SpecType> = {
6
- core: BaseCore;
5
+ core: Core<TSpec>;
7
6
  spec?: SpecDriver<TSpec>;
8
7
  logger: Logger;
9
8
  };
10
9
  export declare function makeLocateText<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): <TPattern extends string>({ target, settings, logger, }: {
11
- target: DriverTarget<TSpec> | ImageTarget;
10
+ target: Target<TSpec>;
12
11
  settings: LocateTextSettings<TPattern, TSpec>;
13
12
  logger?: Logger | undefined;
14
13
  }) => Promise<LocateTextResult<TPattern>>;
@@ -1,14 +1,13 @@
1
- import type { DriverTarget, ImageTarget, LocateSettings, LocateResult } from './types';
2
- import type { Core as BaseCore } from '@applitools/core-base';
1
+ import type { Target, Core, LocateSettings, LocateResult } from './types';
3
2
  import { type Logger } from '@applitools/logger';
4
3
  import { type SpecType, type SpecDriver } from '@applitools/driver';
5
4
  type Options<TSpec extends SpecType> = {
6
- core: BaseCore;
5
+ core: Core<TSpec>;
7
6
  spec?: SpecDriver<TSpec>;
8
7
  logger: Logger;
9
8
  };
10
9
  export declare function makeLocate<TSpec extends SpecType>({ spec, core, logger: defaultLogger }: Options<TSpec>): <TLocator extends string>({ settings, target, logger, }: {
11
- target: DriverTarget<TSpec> | ImageTarget;
10
+ target: Target<TSpec>;
12
11
  settings: LocateSettings<TLocator, TSpec>;
13
12
  logger?: Logger | undefined;
14
13
  }) => Promise<LocateResult<TLocator>>;
@@ -5,10 +5,8 @@ import { type Logger } from '@applitools/logger';
5
5
  export * from '@applitools/core-base/types';
6
6
  export type DriverTarget<TSpec extends SpecType> = TSpec['driver'] | Driver<TSpec>;
7
7
  export type Target<TSpec extends SpecType> = DriverTarget<TSpec> | BaseCore.Target;
8
- export interface Core<TSpec extends SpecType, TTarget = Target<TSpec>, TEyes extends Eyes<TSpec, TTarget> = Eyes<TSpec, TTarget>> extends BaseCore.Core<TTarget, TEyes> {
9
- isDriver?(driver: any): driver is TSpec['driver'];
10
- isElement?(element: any): element is TSpec['element'];
11
- isSelector?(selector: any): selector is TSpec['selector'];
8
+ export interface Core<TSpec extends SpecType> extends BaseCore.Core {
9
+ readonly base: BaseCore.Core;
12
10
  getViewportSize?(options: {
13
11
  target: DriverTarget<TSpec>;
14
12
  logger?: Logger;
@@ -21,36 +19,37 @@ export interface Core<TSpec extends SpecType, TTarget = Target<TSpec>, TEyes ext
21
19
  openEyes(options: {
22
20
  target?: DriverTarget<TSpec>;
23
21
  settings: BaseCore.OpenSettings;
24
- eyes?: BaseCore.Eyes[];
22
+ base?: BaseCore.Eyes[];
25
23
  logger?: Logger;
26
- }): Promise<TEyes>;
24
+ }): Promise<Eyes<TSpec>>;
27
25
  locate<TLocator extends string>(options: {
28
- target: TTarget;
26
+ target: Target<TSpec>;
29
27
  settings: LocateSettings<TLocator, TSpec>;
30
28
  logger?: Logger;
31
29
  }): Promise<BaseCore.LocateResult<TLocator>>;
32
30
  locateText<TPattern extends string>(options: {
33
- target: TTarget;
31
+ target: Target<TSpec>;
34
32
  settings: LocateTextSettings<TPattern, TSpec>;
35
33
  logger?: Logger;
36
34
  }): Promise<BaseCore.LocateTextResult<TPattern>>;
37
35
  extractText(options: {
38
- target: TTarget;
36
+ target: Target<TSpec>;
39
37
  settings: MaybeArray<ExtractTextSettings<TSpec>>;
40
38
  logger?: Logger;
41
39
  }): Promise<string[]>;
42
40
  }
43
- export interface Eyes<TSpec extends SpecType, TTarget = Target<TSpec>> extends BaseCore.Eyes<TTarget> {
41
+ export interface Eyes<TSpec extends SpecType> extends BaseCore.Eyes {
42
+ readonly core: Core<TSpec>;
44
43
  getBaseEyes(options?: {
45
44
  logger?: Logger;
46
45
  }): Promise<BaseCore.Eyes[]>;
47
46
  check(options?: {
48
- target?: TTarget;
47
+ target?: Target<TSpec>;
49
48
  settings?: CheckSettings<TSpec>;
50
49
  logger?: Logger;
51
50
  }): Promise<BaseCore.CheckResult[]>;
52
51
  checkAndClose(options?: {
53
- target?: TTarget;
52
+ target?: Target<TSpec>;
54
53
  settings?: CheckSettings<TSpec> & BaseCore.CloseSettings;
55
54
  logger?: Logger;
56
55
  }): Promise<BaseCore.TestResult[]>;
@@ -4,10 +4,10 @@ import { type Logger } from '@applitools/logger';
4
4
  import { type Core as BaseCore } from '@applitools/core-base';
5
5
  type Options<TSpec extends SpecType> = {
6
6
  spec?: SpecDriver<TSpec>;
7
- core?: BaseCore;
7
+ base?: BaseCore;
8
8
  agentId?: string;
9
9
  cwd?: string;
10
10
  logger?: Logger;
11
11
  };
12
- export declare function makeCore<TSpec extends SpecType>({ spec, core, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
12
+ export declare function makeCore<TSpec extends SpecType>({ spec, base, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
13
13
  export {};
@@ -1,17 +1,18 @@
1
- import type { OpenSettings } from './types';
2
- import type { Core as BaseCore, Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { Eyes, OpenSettings } from './types';
2
+ import type { Eyes as BaseEyes } from '@applitools/core-base';
3
+ import { type SpecType } from '@applitools/driver';
3
4
  import { type Logger } from '@applitools/logger';
4
- type Options = {
5
+ type Options<TSpec extends SpecType> = {
5
6
  settings: OpenSettings;
6
- core: BaseCore;
7
- eyes?: BaseEyes[];
7
+ eyes: Eyes<TSpec>;
8
+ base?: BaseEyes[];
8
9
  logger: Logger;
9
10
  };
10
- export declare function makeGetBaseEyes({ settings, core, eyes, logger: defaultLogger }: Options): (({ logger }?: {
11
+ export declare function makeGetBaseEyes<TSpec extends SpecType>({ settings, eyes, base, logger: defaultLogger }: Options<TSpec>): (({ logger }?: {
11
12
  logger?: Logger | undefined;
12
13
  }) => Promise<BaseEyes[]>) & {
13
- getCachedValues(): Promise<BaseEyes<import("@applitools/core-base").ImageTarget>[]>[];
14
- setCachedValue(key: any, value: Promise<BaseEyes<import("@applitools/core-base").ImageTarget>[]>): void;
14
+ getCachedValues(): Promise<BaseEyes[]>[];
15
+ setCachedValue(key: any, value: Promise<BaseEyes[]>): void;
15
16
  clearCache(): void;
16
17
  };
17
18
  export {};
@@ -1,16 +1,16 @@
1
- import type { DriverTarget, Eyes, OpenSettings } from './types';
2
- import type { Core as BaseCore, Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { Core, DriverTarget, Eyes, OpenSettings } from './types';
2
+ import type { Eyes as BaseEyes } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type SpecType, type SpecDriver } from '@applitools/driver';
5
5
  type Options<TSpec extends SpecType> = {
6
- core: BaseCore;
6
+ core: Core<TSpec>;
7
7
  spec?: SpecDriver<TSpec>;
8
8
  logger: Logger;
9
9
  };
10
- export declare function makeOpenEyes<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, eyes, logger, }: {
10
+ export declare function makeOpenEyes<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, base, logger, }: {
11
11
  target?: DriverTarget<TSpec> | undefined;
12
12
  settings: OpenSettings;
13
- eyes?: BaseEyes<import("@applitools/core-base").ImageTarget>[] | undefined;
13
+ base?: BaseEyes[] | undefined;
14
14
  logger?: Logger | undefined;
15
15
  }) => Promise<Eyes<TSpec>>;
16
16
  export {};