@applitools/core 2.5.2 → 2.5.3-legacy.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.
Files changed (48) hide show
  1. package/dist/make-manager.js +4 -1
  2. package/dist/open-eyes.js +1 -1
  3. package/dist/ufg/core.js +2 -2
  4. package/dist/ufg/get-ufg-client.js +5 -3
  5. package/package.json +3 -3
  6. package/types/abort.d.ts +13 -0
  7. package/types/automation/abort.d.ts +16 -0
  8. package/types/automation/close.d.ts +14 -0
  9. package/types/automation/get-nml-client.d.ts +16 -0
  10. package/types/automation/get-results.d.ts +11 -0
  11. package/types/automation/utils/report-kobiton.d.ts +12 -0
  12. package/types/automation/utils/to-environment-key.d.ts +2 -0
  13. package/types/automation/utils/uniquify-environments.d.ts +2 -0
  14. package/types/autonomous/core.d.ts +19 -0
  15. package/types/autonomous/create-render-results.d.ts +10 -0
  16. package/types/autonomous/create-render-target.d.ts +12 -0
  17. package/types/autonomous/get-render-results.d.ts +12 -0
  18. package/types/autonomous/open-check-and-close.d.ts +16 -0
  19. package/types/autonomous/open-eyes.d.ts +13 -0
  20. package/types/autonomous/start-renders.d.ts +12 -0
  21. package/types/autonomous/take-snapshots.d.ts +15 -0
  22. package/types/autonomous/types.d.ts +65 -0
  23. package/types/classic/utils/extract-default-environments.d.ts +9 -0
  24. package/types/classic/utils/take-screenshots.d.ts +18 -0
  25. package/types/get-account-info.d.ts +11 -0
  26. package/types/lang.d.ts +32 -0
  27. package/types/offline/merge-configs.d.ts +1 -0
  28. package/types/offline/run-offline-snapshots.d.ts +11 -0
  29. package/types/run-offline-snapshots.d.ts +6 -0
  30. package/types/troubleshoot/logs.d.ts +25 -0
  31. package/types/types.d.ts +1 -0
  32. package/types/ufg/core.d.ts +2 -1
  33. package/types/ufg/create-render-target-from-snapshot.d.ts +8 -0
  34. package/types/ufg/get-ufg-client.d.ts +4 -3
  35. package/types/ufg/take-snapshots.d.ts +17 -0
  36. package/types/ufg/utils/extract-default-environment.d.ts +5 -0
  37. package/types/ufg/utils/to-generated-selectors.d.ts +34 -0
  38. package/types/ufg/utils/to-safe-check-settings.d.ts +22 -0
  39. package/types/utils/ensure-offline-folder.d.ts +1 -0
  40. package/types/utils/extract-branching-timestamp.d.ts +16 -0
  41. package/types/utils/extract-current-commit.d.ts +24 -0
  42. package/types/utils/extract-git-info.d.ts +59 -0
  43. package/types/utils/extract-start-info.d.ts +29 -0
  44. package/types/utils/extract-test-environment.d.ts +2 -0
  45. package/types/utils/memory-usage-logging.d.ts +7 -0
  46. package/types/utils/populate-eyes-server-settings.d.ts +2 -0
  47. package/types/utils/validate-sdk-version.d.ts +42 -0
  48. package/CHANGELOG.md +0 -222
@@ -40,7 +40,10 @@ function makeMakeManager({ spec, concurrency: defaultConcurrency = utils.general
40
40
  (_c = (_f = settings.batch).id) !== null && _c !== void 0 ? _c : (_f.id = (_d = utils.general.getEnvValue('BATCH_ID')) !== null && _d !== void 0 ? _d : `generated-${utils.general.guid()}`);
41
41
  (_e = settings.agentId) !== null && _e !== void 0 ? _e : (settings.agentId = type === 'ufg' ? defaultAgentId === null || defaultAgentId === void 0 ? void 0 : defaultAgentId.replace(/(\/\d)/, '.visualgrid$1') : defaultAgentId);
42
42
  base !== null && base !== void 0 ? base : (base = (0, core_base_1.makeCore)({ agentId: settings.agentId, concurrency: settings.concurrency, cwd, logger }));
43
- const cores = { ufg: (0, core_2.makeCore)({ spec, base, logger }), classic: (0, core_1.makeCore)({ spec, base, logger }) };
43
+ const cores = {
44
+ ufg: (0, core_2.makeCore)({ spec, base, fetchConcurrency: settings.fetchConcurrency, logger }),
45
+ classic: (0, core_1.makeCore)({ spec, base, logger }),
46
+ };
44
47
  const storage = [];
45
48
  return {
46
49
  openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, batch: settings.batch, spec, core, cores, logger }), async (openEyes, options) => {
package/dist/open-eyes.js CHANGED
@@ -61,7 +61,7 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
61
61
  if (account.ecEnabled) {
62
62
  const environment = await (driver === null || driver === void 0 ? void 0 : driver.getEnvironment());
63
63
  (_r = settings.properties) !== null && _r !== void 0 ? _r : (settings.properties = []);
64
- settings.properties.push({ name: 'Execution cloud', value: (environment === null || environment === void 0 ? void 0 : environment.isEC) ? 'Yes' : 'No' });
64
+ settings.properties.push({ name: 'Execution Cloud', value: (environment === null || environment === void 0 ? void 0 : environment.isEC) ? 'Yes' : 'No' });
65
65
  }
66
66
  core.logEvent({
67
67
  settings: {
package/dist/ufg/core.js CHANGED
@@ -35,7 +35,7 @@ const get_ufg_client_1 = require("./get-ufg-client");
35
35
  const get_nml_client_1 = require("./get-nml-client");
36
36
  const open_eyes_1 = require("./open-eyes");
37
37
  const utils = __importStar(require("@applitools/utils"));
38
- function makeCore({ concurrency, spec, clients, base, agentId = 'core-ufg', cwd = process.cwd(), logger: defaultLogger, }) {
38
+ function makeCore({ concurrency, spec, clients, base, fetchConcurrency, agentId = 'core-ufg', cwd = process.cwd(), logger: defaultLogger, }) {
39
39
  var _a;
40
40
  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' });
41
41
  logger.log(`Core ufg is initialized ${base ? 'with' : 'without'} custom base core`);
@@ -49,7 +49,7 @@ function makeCore({ concurrency, spec, clients, base, agentId = 'core-ufg', cwd
49
49
  locate: (0, locate_1.makeLocate)({ spec, core, logger }),
50
50
  locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
51
51
  extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
52
- getUFGClient: (0, get_ufg_client_1.makeGetUFGClient)({ client: clients === null || clients === void 0 ? void 0 : clients.ufg, logger }),
52
+ getUFGClient: (0, get_ufg_client_1.makeGetUFGClient)({ client: clients === null || clients === void 0 ? void 0 : clients.ufg, fetchConcurrency, logger }),
53
53
  getNMLClient: (0, get_nml_client_1.makeGetNMLClient)({ client: clients === null || clients === void 0 ? void 0 : clients.nml, logger }),
54
54
  openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, logger }),
55
55
  };
@@ -26,13 +26,15 @@ 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({ client, logger: defaultLogger }) {
30
- const getUFGClientWithCache = utils.general.cachify(getUFGClient, ([options]) => client ? 'default' : [options.config]);
29
+ function makeGetUFGClient({ client, fetchConcurrency, logger: defaultLogger }) {
30
+ // we are caching by the server config, therefor if the user creates another Runner / manager with the same server config but different
31
+ // fetchConcurrency, it will not take any affect.
32
+ const getUFGClientWithCache = utils.general.cachify(getUFGClient, ([options]) => client ? 'default' : [{ ...options.config, fetchConcurrency: undefined }]);
31
33
  if (client)
32
34
  getUFGClientWithCache.setCachedValue('default', Promise.resolve(client));
33
35
  return getUFGClientWithCache;
34
36
  async function getUFGClient({ config, logger = defaultLogger }) {
35
- return (0, ufg_client_1.makeUFGClient)({ config, logger });
37
+ return (0, ufg_client_1.makeUFGClient)({ config: { ...config, fetchConcurrency }, logger });
36
38
  }
37
39
  }
38
40
  exports.makeGetUFGClient = makeGetUFGClient;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "2.5.2",
3
+ "version": "2.5.3-legacy.1",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -87,14 +87,14 @@
87
87
  "@applitools/snippets": "2.4.19",
88
88
  "@applitools/socket": "1.0.10",
89
89
  "@applitools/spec-driver-webdriver": "1.0.24",
90
- "@applitools/ufg-client": "1.2.9",
90
+ "@applitools/ufg-client": "1.2.10",
91
91
  "@applitools/utils": "1.3.32",
92
92
  "@types/ws": "8.5.4",
93
93
  "abort-controller": "3.0.0",
94
94
  "chalk": "4.1.2",
95
95
  "node-fetch": "2.6.7",
96
96
  "webdriver": "7.30.0",
97
- "ws": "8.12.0",
97
+ "ws": "8.17.1",
98
98
  "yargs": "17.6.2"
99
99
  },
100
100
  "devDependencies": {
@@ -0,0 +1,13 @@
1
+ import type { Eyes, AbortSettings, Environment } from './types';
2
+ import { type SpecType } from '@applitools/driver';
3
+ import { type Logger } from '@applitools/logger';
4
+ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
5
+ eyes: Eyes<TSpec, TType>;
6
+ environments?: Environment[];
7
+ logger: Logger;
8
+ };
9
+ export declare function makeAbort<TSpec extends SpecType, TType extends 'classic' | 'ufg'>({ eyes, environments: defaultEnvironments, logger: mainLogger, }: Options<TSpec, TType>): ({ settings, logger, }?: {
10
+ settings?: AbortSettings<TType> | undefined;
11
+ logger?: Logger | undefined;
12
+ }) => Promise<void>;
13
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { Eyes, AbortSettings, Environment } from './types';
2
+ import { type Logger } from '@applitools/logger';
3
+ import { type AbortController } from 'abort-controller';
4
+ import { type Driver, type SpecType } from '@applitools/driver';
5
+ type Options<TSpec extends SpecType> = {
6
+ eyes: Eyes<TSpec>;
7
+ driver?: Driver<TSpec>;
8
+ controller: AbortController;
9
+ environments?: Environment[];
10
+ logger: Logger;
11
+ };
12
+ export declare function makeAbort<TSpec extends SpecType>({ eyes, driver, controller, environments: defaultEnvironments, logger: mainLogger, }: Options<TSpec>): ({ settings, logger, }?: {
13
+ settings?: AbortSettings | undefined;
14
+ logger?: Logger | undefined;
15
+ }) => Promise<void>;
16
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { Eyes, CloseSettings, Environment } from '../ufg/types';
2
+ import { type Logger } from '@applitools/logger';
3
+ import { type Driver, type SpecType } from '@applitools/driver';
4
+ type Options<TSpec extends SpecType> = {
5
+ eyes: Eyes<TSpec>;
6
+ driver?: Driver<TSpec>;
7
+ environments?: Environment[];
8
+ logger: Logger;
9
+ };
10
+ export declare function makeClose<TSpec extends SpecType>({ eyes, driver, environments: defaultEnvironments, logger: mainLogger, }: Options<TSpec>): ({ settings, logger, }?: {
11
+ settings?: CloseSettings | undefined;
12
+ logger?: Logger | undefined;
13
+ }) => Promise<void>;
14
+ export {};
@@ -0,0 +1,16 @@
1
+ import { type SpecType, type Driver } from '@applitools/driver';
2
+ import { type Logger } from '@applitools/logger';
3
+ import { type NMLClient, type NMLClientSettings } from '@applitools/nml-client';
4
+ type Options = {
5
+ client?: NMLClient;
6
+ logger: Logger;
7
+ };
8
+ export declare function makeGetNMLClient({ client, logger: mainLogger }: Options): {
9
+ getNMLClient: ({ driver, settings, logger, }: {
10
+ driver: Driver<SpecType>;
11
+ settings: Omit<NMLClientSettings, 'brokerUrl'>;
12
+ logger: Logger;
13
+ }) => Promise<NMLClient>;
14
+ clearNMLClientCache: (driver: Driver<SpecType>) => Promise<void>;
15
+ };
16
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { Eyes, GetResultsSettings, TestResult } from '../ufg/types';
2
+ import { type Logger } from '@applitools/logger';
3
+ type Options = {
4
+ eyes: Eyes<any>;
5
+ logger: Logger;
6
+ };
7
+ export declare function makeGetResults({ eyes, logger: mainLogger }: Options): ({ settings, logger, }?: {
8
+ settings?: GetResultsSettings | undefined;
9
+ logger?: Logger | undefined;
10
+ }) => Promise<TestResult[]>;
11
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { Driver, SpecType } from '@applitools/driver';
2
+ import type { Logger } from '@applitools/logger';
3
+ type Options<TSpec extends SpecType> = {
4
+ driver?: Driver<TSpec>;
5
+ settings: {
6
+ batchId: string;
7
+ resultsUrl: string;
8
+ };
9
+ logger: Logger;
10
+ };
11
+ export declare function reportKobiton<TSpec extends SpecType>({ driver, settings, logger }: Options<TSpec>): Promise<void>;
12
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { Environment } from '../types';
2
+ export declare function toEnvironmentKey(environment: Environment): string;
@@ -0,0 +1,2 @@
1
+ import type { Environment } from '../types';
2
+ export declare function uniquifyEnvironments<TEnvironment extends Environment>(environments: TEnvironment[]): TEnvironment[];
@@ -0,0 +1,19 @@
1
+ import type { AutonomousCore } from './types';
2
+ import { type AsyncCache, type UFGClient } from '@applitools/ufg-client';
3
+ import { type NMLClient } from '@applitools/nml-client';
4
+ import { type SpecType, type SpecDriver } from '@applitools/driver';
5
+ import { type Logger } from '@applitools/logger';
6
+ import { type Core as BaseCore } from '@applitools/core-base';
7
+ type Options<TSpec extends SpecType> = {
8
+ spec?: SpecDriver<TSpec>;
9
+ clients?: {
10
+ ufg?: UFGClient;
11
+ nml?: NMLClient;
12
+ };
13
+ base?: BaseCore;
14
+ asyncCache?: AsyncCache;
15
+ agentId?: string;
16
+ logger?: Logger;
17
+ };
18
+ export declare function makeAutonomousCore<TSpec extends SpecType>({ spec, clients, base: defaultBase, asyncCache, agentId, logger: defaultLogger, }?: Options<TSpec>): AutonomousCore<TSpec>;
19
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { StartedRender, RenderResult } from './types';
2
+ import { type Logger } from '@applitools/logger';
3
+ type Options = {
4
+ logger: Logger;
5
+ };
6
+ export declare function makeCreateRenderResults({ logger }: Options): ({ renders, rawResults, }: {
7
+ renders: StartedRender[];
8
+ rawResults: any[];
9
+ }) => Promise<RenderResult[]>;
10
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { Core as UFGCore } from '../ufg/types';
2
+ import type { Snapshot, RenderTargetWithSettings } from './types';
3
+ import { type Logger } from '@applitools/logger';
4
+ type Options = {
5
+ core: UFGCore<any>;
6
+ logger: Logger;
7
+ };
8
+ export declare function makeCreateRenderTarget({ core, logger: defaultLogger }: Options): ({ snapshot, logger, }: {
9
+ snapshot: Snapshot;
10
+ logger: Logger;
11
+ }) => Promise<RenderTargetWithSettings>;
12
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { Core as UFGCore } from '../ufg/types';
2
+ import type { StartedRender, RenderResult } from './types';
3
+ import { type Logger } from '@applitools/logger';
4
+ type Options = {
5
+ core: UFGCore<any>;
6
+ logger: Logger;
7
+ };
8
+ export declare function makeGetRenderResults({ core, logger: defaultLogger }: Options): ({ renders, logger, }: {
9
+ renders: StartedRender[];
10
+ logger: Logger;
11
+ }) => Promise<RenderResult[]>;
12
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { Core as UFGCore } from '../ufg/types';
2
+ import type { OpenSettings } from './types';
3
+ import type { CheckSettings, CloseSettings, Target } from '@applitools/core-base/types';
4
+ import { type Logger } from '@applitools/logger';
5
+ type Options = {
6
+ core: UFGCore<any>;
7
+ logger: Logger;
8
+ };
9
+ export declare function makeOpenCheckAndClose({ core, logger: defaultLogger }: Options): ({ target, openSettings, checkSettings, closeSettings, logger, }: {
10
+ target: Target;
11
+ openSettings: OpenSettings;
12
+ checkSettings?: CheckSettings<import("@applitools/utils").Region> | undefined;
13
+ closeSettings?: CloseSettings | undefined;
14
+ logger: Logger;
15
+ }) => Promise<void>;
16
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { Core as UFGCore } from '../ufg/types';
2
+ import type { OpenSettings } from './types';
3
+ import type { Eyes as BaseEyes } from '@applitools/core-base/types';
4
+ import { type Logger } from '@applitools/logger';
5
+ type Options = {
6
+ core: UFGCore<any>;
7
+ logger: Logger;
8
+ };
9
+ export declare function makeOpenEyes({ core, logger: defaultLogger }: Options): ({ settings, logger, }: {
10
+ settings: OpenSettings;
11
+ logger: Logger;
12
+ }) => Promise<BaseEyes>;
13
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { Core as UFGCore } from '../ufg/types';
2
+ import type { RenderTargetWithSettings, StartedRender } from './types';
3
+ import { type Logger } from '@applitools/logger';
4
+ type Options = {
5
+ core: UFGCore<any>;
6
+ logger: Logger;
7
+ };
8
+ export declare function makeStartRenders({ core, logger: defaultLogger }: Options): ({ targets, logger, }: {
9
+ targets: RenderTargetWithSettings[];
10
+ logger: Logger;
11
+ }) => Promise<StartedRender[]>;
12
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { Core as UFGCore } from '../ufg/types';
2
+ import type { DriverTarget, SnapshotSettings, Snapshot } from './types';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type SpecDriver, type SpecType } from '@applitools/driver';
5
+ type Options<TSpec extends SpecType> = {
6
+ core: UFGCore<TSpec>;
7
+ spec: SpecDriver<TSpec>;
8
+ logger: Logger;
9
+ };
10
+ export declare function makeTakeSnapshots<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, logger, }: {
11
+ target: DriverTarget<TSpec>;
12
+ settings: SnapshotSettings<TSpec>;
13
+ logger?: Logger | undefined;
14
+ }) => Promise<Snapshot[]>;
15
+ export {};
@@ -0,0 +1,65 @@
1
+ import type { Eyes as BaseEyes, ImageTarget as BaseImageTarget, OpenSettings as BaseOpenSettings, CheckSettings as BaseCheckSettings, CloseSettings as BaseCloseSettings } from '@applitools/core-base/types';
2
+ import type * as UFGCore from '../ufg/types';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type SpecType } from '@applitools/driver';
5
+ import { type RenderTarget, type StartedRender as UFGStartedRender } from '@applitools/ufg-client';
6
+ export * from '../ufg/types';
7
+ export interface AutonomousCore<TSpec extends SpecType> {
8
+ readonly type: 'autonomous';
9
+ takeSnapshots?(options: {
10
+ target: UFGCore.DriverTarget<TSpec>;
11
+ settings?: Partial<SnapshotSettings<TSpec>>;
12
+ logger?: Logger;
13
+ }): Promise<UFGCore.Snapshot[]>;
14
+ createRenderTarget(options: {
15
+ snapshot: UFGCore.Snapshot;
16
+ logger?: Logger;
17
+ }): Promise<RenderTargetWithSettings>;
18
+ startRenders(options: {
19
+ targets: RenderTargetWithSettings[];
20
+ logger?: Logger;
21
+ }): Promise<StartedRender[]>;
22
+ getRenderResults(options: {
23
+ renders: StartedRender[];
24
+ logger?: Logger;
25
+ }): Promise<RenderResult[]>;
26
+ createRenderResults(options: {
27
+ renders: StartedRender[];
28
+ rawResults: any[];
29
+ logger?: Logger;
30
+ }): Promise<RenderResult[]>;
31
+ /** @deprecated */
32
+ openEyes(options: {
33
+ settings: Partial<OpenSettings>;
34
+ logger?: Logger;
35
+ }): Promise<BaseEyes>;
36
+ openCheckAndClose(options: {
37
+ target: BaseImageTarget;
38
+ openSettings: Partial<OpenSettings>;
39
+ checkSettings?: BaseCheckSettings;
40
+ closeSettings?: BaseCloseSettings;
41
+ logger?: Logger;
42
+ }): Promise<void>;
43
+ }
44
+ export type SnapshotSettings<TSpec extends SpecType> = UFGCore.SnapshotSettings<TSpec> & UFGCore.EyesServerSettings;
45
+ export type RenderTargetWithSettings = {
46
+ target: RenderTarget;
47
+ settings: UFGCore.SafeCheckSettings;
48
+ environment: UFGCore.RenderEnvironment;
49
+ account: UFGCore.Account;
50
+ };
51
+ export type StartedRender = {
52
+ render: UFGStartedRender;
53
+ settings: UFGCore.SafeCheckSettings;
54
+ environment: UFGCore.ExactEnvironment;
55
+ account: UFGCore.Account;
56
+ };
57
+ export type RenderResult = {
58
+ status: 'rendering' | 'rendered' | 'error';
59
+ error: string;
60
+ target: BaseImageTarget;
61
+ settings: BaseCheckSettings;
62
+ environment: UFGCore.ExactEnvironment;
63
+ account: UFGCore.Account;
64
+ };
65
+ export type OpenSettings = BaseOpenSettings;
@@ -0,0 +1,9 @@
1
+ import type { ExactEnvironment, Environment } from '../types';
2
+ import { type SpecType, type Driver } from '@applitools/driver';
3
+ export declare function extractDefaultEnvironments<TSpec extends SpecType>({ driver, settings, }: {
4
+ driver?: Driver<TSpec>;
5
+ settings?: {
6
+ keepPlatformNameAsIs?: boolean;
7
+ environment?: ExactEnvironment;
8
+ };
9
+ }): Promise<Environment[]>;
@@ -0,0 +1,18 @@
1
+ import type { ScreenshotSettings, Environment } from '../types';
2
+ import type { Target as BaseTarget } from '@applitools/core-base';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type SpecType, type Driver, type ElementReference } from '@applitools/driver';
5
+ import { type DomCaptureSettings } from './take-dom-capture';
6
+ export type ScreenshotsSettings<TSpec extends SpecType> = ScreenshotSettings<TSpec> & {
7
+ environments: Environment[];
8
+ regionsToCalculate?: ElementReference<TSpec>[];
9
+ calculateView?: boolean;
10
+ domSettings?: DomCaptureSettings;
11
+ };
12
+ export declare function takeScreenshots<TSpec extends SpecType>({ driver, settings, logger, }: {
13
+ driver: Driver<TSpec>;
14
+ settings: ScreenshotsSettings<TSpec>;
15
+ logger: Logger;
16
+ }): Promise<(BaseTarget & {
17
+ calculatedRegions: any;
18
+ })[]>;
@@ -0,0 +1,11 @@
1
+ import type { Core, Account, EyesServerSettings } from './types';
2
+ import { type Logger } from '@applitools/logger';
3
+ type Options = {
4
+ core: Core<any>;
5
+ logger: Logger;
6
+ };
7
+ export declare function makeGetAccountInfo({ core, logger: mainLogger }: Options): ({ settings, logger, }: {
8
+ settings: EyesServerSettings;
9
+ logger?: Logger | undefined;
10
+ }) => Promise<Account>;
11
+ export {};
@@ -0,0 +1,32 @@
1
+ export declare const matchLevelContentDeprecatedWarning = "The \"Content\" match level value has been deprecated, use \"IgnoreColors\" instead.";
2
+ export declare const edgeUfgEnvironmentDeprecatedWarning = "The 'edge' option that is being used in your browsers' configuration will soon be deprecated. Please change it to either 'edgelegacy' for the legacy version or to 'edgechromium' for the new Chromium-based version. Please note, when using the built-in BrowserType enum, then the values are BrowserType.EDGE_LEGACY and BrowserType.EDGE_CHROMIUM, respectively.";
3
+ export declare const outdatedSdkVersionWarning: (options: {
4
+ name: string;
5
+ currentVersion: string;
6
+ latestVersion: string;
7
+ }) => string;
8
+ export declare const requestedEnvironmentSmallerThenBreakpointWarning: (options: {
9
+ breakpoint: number;
10
+ browsers: {
11
+ name: string;
12
+ width: number;
13
+ }[];
14
+ }) => string;
15
+ export declare const breakpointOutOfDriverBoundsWarning: (options: {
16
+ requiredWidth: number;
17
+ actualWidth: number;
18
+ browsers: {
19
+ name: string;
20
+ width: number;
21
+ }[];
22
+ }) => string;
23
+ export declare const requestedEnvironmentOutOfDriverBoundsWarning: (options: {
24
+ requiredWidth: number;
25
+ actualWidth: number;
26
+ browsers: {
27
+ name: string;
28
+ }[];
29
+ }) => string;
30
+ export declare const applitoolsLibConflictingCapabilitiesWarning: (options: {
31
+ conflictingCapabilities: Record<string, any>;
32
+ }) => string;
@@ -0,0 +1 @@
1
+ export declare function mergeConfigs<TBase extends Record<string, any>>(base: TBase, other: Record<string, any>): TBase;
@@ -0,0 +1,11 @@
1
+ import { Config, type EyesServerSettings } from '../types';
2
+ import { type Logger } from '@applitools/logger';
3
+ import type { TestResult } from '@applitools/core-base';
4
+ import type { SpecType } from '@applitools/driver';
5
+ export type OfflineSnapshotsSettings = EyesServerSettings & {
6
+ offlineLocationPath: string;
7
+ failOnDiff: boolean;
8
+ config: Config<SpecType, 'ufg'>;
9
+ logger?: Logger;
10
+ };
11
+ export declare function runOfflineSnapshots(options: OfflineSnapshotsSettings): Promise<TestResult[]>;
@@ -0,0 +1,6 @@
1
+ import { type EyesServerSettings } from './types';
2
+ export type OfflineSnapshotsSettings = EyesServerSettings & {
3
+ offlineLocationPath: string;
4
+ failOnDiff: boolean;
5
+ };
6
+ export declare function runOfflineSnapshots(options: OfflineSnapshotsSettings): Promise<void>;
@@ -0,0 +1,25 @@
1
+ interface Log {
2
+ label?: string;
3
+ tags?: string[][];
4
+ timestamp?: string;
5
+ level?: string;
6
+ message: string;
7
+ }
8
+ interface GroupedLog<TGroupedLog extends GroupedLog<TGroupedLog>> {
9
+ [key: string]: TGroupedLog;
10
+ }
11
+ type StructuredLog = GroupedLog<StructuredLog> & {
12
+ logs?: Log[];
13
+ };
14
+ type AnalyzedLog = GroupedLog<AnalyzedLog> & {
15
+ logs?: string[];
16
+ startedAt: number;
17
+ finishedAt: number;
18
+ time: number;
19
+ conclusion: string;
20
+ };
21
+ export declare function parseLogs(logs: string): Log[];
22
+ export declare function stringifyLog(log: Log): string;
23
+ export declare function structureLogs(logs: Log[]): StructuredLog;
24
+ export declare function analyzeLogs({ logs, ...groups }: StructuredLog): AnalyzedLog;
25
+ export {};
package/types/types.d.ts CHANGED
@@ -99,6 +99,7 @@ export interface Eyes<TSpec extends SpecType, TDefaultType extends 'classic' | '
99
99
  }
100
100
  export interface ManagerSettings {
101
101
  concurrency?: number;
102
+ fetchConcurrency?: number;
102
103
  /** @deprecated */
103
104
  legacyConcurrency?: number;
104
105
  agentId?: string;
@@ -13,8 +13,9 @@ type Options<TSpec extends SpecType> = {
13
13
  base?: BaseCore;
14
14
  agentId?: string;
15
15
  concurrency?: number;
16
+ fetchConcurrency?: number;
16
17
  cwd?: string;
17
18
  logger?: Logger;
18
19
  };
19
- export declare function makeCore<TSpec extends SpecType>({ concurrency, spec, clients, base, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
20
+ export declare function makeCore<TSpec extends SpecType>({ concurrency, spec, clients, base, fetchConcurrency, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
20
21
  export {};
@@ -0,0 +1,8 @@
1
+ import { UFGClient, RenderTarget } from '@applitools/ufg-client';
2
+ import { Snapshot } from './types';
3
+ import { Logger } from '@applitools/logger';
4
+ export declare function createRenderTargetFromSnapshot({ ufgClient, snapshot, logger, }: {
5
+ ufgClient: UFGClient;
6
+ snapshot: Snapshot;
7
+ logger: Logger;
8
+ }): Promise<RenderTarget>;
@@ -1,11 +1,12 @@
1
1
  import { type Logger } from '@applitools/logger';
2
- import { type UFGClient, type UFGRequestsConfig } from '@applitools/ufg-client';
2
+ import { type UFGClient, type UFGClientConfig } from '@applitools/ufg-client';
3
3
  type Options = {
4
4
  client?: UFGClient;
5
5
  logger: Logger;
6
+ fetchConcurrency?: number;
6
7
  };
7
- export declare function makeGetUFGClient({ client, logger: defaultLogger }: Options): (({ config, logger }: {
8
- config: UFGRequestsConfig;
8
+ export declare function makeGetUFGClient({ client, fetchConcurrency, logger: defaultLogger }: Options): (({ config, logger }: {
9
+ config: UFGClientConfig;
9
10
  logger?: Logger | undefined;
10
11
  }) => Promise<UFGClient>) & {
11
12
  getCachedValues(): Promise<UFGClient>[];
@@ -0,0 +1,17 @@
1
+ import type { Core, SnapshotSettings, Account, Snapshot } from './types';
2
+ import { type AbortSignal } from 'abort-controller';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type SpecType, type SpecDriver, type Driver } from '@applitools/driver';
5
+ type Options<TSpec extends SpecType> = {
6
+ core: Core<TSpec>;
7
+ spec: SpecDriver<TSpec>;
8
+ signal?: AbortSignal;
9
+ logger: Logger;
10
+ };
11
+ export declare function makeTakeSnapshots<TSpec extends SpecType>({ core, spec, signal, logger: mainLogger }: Options<TSpec>): ({ driver, settings, account, logger, }: {
12
+ driver: Driver<TSpec>;
13
+ settings?: SnapshotSettings<TSpec> | undefined;
14
+ account: Account;
15
+ logger?: Logger | undefined;
16
+ }) => Promise<Snapshot[]>;
17
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { Environment } from '../types';
2
+ import { type SpecType, type Driver } from '@applitools/driver';
3
+ export declare function extractDefaultEnvironments<TSpec extends SpecType>({ driver, }: {
4
+ driver?: Driver<TSpec>;
5
+ }): Promise<Environment[]>;
@@ -0,0 +1,34 @@
1
+ import { type SpecType, type ElementReference } from '@applitools/driver';
2
+ import type { Logger } from '@applitools/logger';
3
+ import { type Selector as UFGSelector } from '@applitools/ufg-client';
4
+ export declare function toGeneratedSelectors<TSpec extends SpecType>({ elementReferences, logger, transformElementReference, }: {
5
+ elementReferences: {
6
+ target?: ElementReference<TSpec>;
7
+ scrolling?: ElementReference<TSpec>;
8
+ calculate?: ElementReference<TSpec>[];
9
+ };
10
+ transformElementReference: (elementReference: ElementReference<TSpec>) => UFGSelector | undefined;
11
+ logger: Logger;
12
+ }): {
13
+ elementReferencesToMark: (string | TSpec["element"] | TSpec["secondary"]["element"] | TSpec["selector"] | TSpec["secondary"]["selector"] | {
14
+ selector: string | TSpec["selector"] | TSpec["secondary"]["selector"];
15
+ type?: string | undefined;
16
+ child?: TSpec["selector"] | TSpec["secondary"]["selector"] | import("@applitools/driver").CommonSelector<TSpec["selector"] | TSpec["secondary"]["selector"]> | undefined;
17
+ shadow?: TSpec["selector"] | TSpec["secondary"]["selector"] | import("@applitools/driver").CommonSelector<TSpec["selector"] | TSpec["secondary"]["selector"]> | undefined;
18
+ frame?: TSpec["selector"] | TSpec["secondary"]["selector"] | import("@applitools/driver").CommonSelector<TSpec["selector"] | TSpec["secondary"]["selector"]> | undefined;
19
+ fallback?: TSpec["selector"] | TSpec["secondary"]["selector"] | import("@applitools/driver").CommonSelector<TSpec["selector"] | TSpec["secondary"]["selector"]> | undefined;
20
+ } | (NonNullable<TSpec["element"]> extends infer T ? T extends NonNullable<TSpec["element"]> ? T extends readonly (infer InnerArr)[] ? InnerArr : T : never : never) | (NonNullable<TSpec["secondary"]["element"]> extends infer T_1 ? T_1 extends NonNullable<TSpec["secondary"]["element"]> ? T_1 extends readonly (infer InnerArr)[] ? InnerArr : T_1 : never : never) | (NonNullable<TSpec["selector"]> extends infer T_2 ? T_2 extends NonNullable<TSpec["selector"]> ? T_2 extends readonly (infer InnerArr)[] ? InnerArr : T_2 : never : never) | (NonNullable<TSpec["secondary"]["selector"]> extends infer T_3 ? T_3 extends NonNullable<TSpec["secondary"]["selector"]> ? T_3 extends readonly (infer InnerArr)[] ? InnerArr : T_3 : never : never))[];
21
+ getGeneratedSelectors: (generatedSelectors?: {
22
+ originalSelector: UFGSelector | null;
23
+ safeSelector: UFGSelector | {
24
+ error: string;
25
+ } | null;
26
+ }[]) => {
27
+ target: UFGSelector | undefined;
28
+ scrolling: UFGSelector | undefined;
29
+ calculate: {
30
+ originalSelector: UFGSelector | null;
31
+ safeSelector: UFGSelector | null;
32
+ }[];
33
+ };
34
+ };
@@ -0,0 +1,22 @@
1
+ import type { CheckSettings, SafeCheckSettings } from '../types';
2
+ import { type SpecType, type ElementReference, type CommonSelector } from '@applitools/driver';
3
+ import { type Selector as UFGSelector } from '@applitools/ufg-client';
4
+ export declare function toSafeCheckSettings<TSpec extends SpecType>({ settings }: {
5
+ settings: CheckSettings<TSpec>;
6
+ }): {
7
+ elementReferences: {
8
+ target: ElementReference<TSpec> | undefined;
9
+ scrolling: ElementReference<TSpec> | undefined;
10
+ calculate: ElementReference<TSpec>[];
11
+ };
12
+ getSafeCheckSettings: ({ selectors, }: {
13
+ selectors: {
14
+ target: UFGSelector | undefined;
15
+ scrolling: UFGSelector | undefined;
16
+ calculate: {
17
+ originalSelector: CommonSelector | null;
18
+ safeSelector: UFGSelector | null;
19
+ }[];
20
+ };
21
+ }) => SafeCheckSettings;
22
+ };
@@ -0,0 +1 @@
1
+ export declare function ensureOfflineFolder(): string | undefined;
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" />
2
+ import type { ExecOptions } from 'child_process';
3
+ import { type Logger } from '@applitools/logger';
4
+ export declare const extractBranchingTimestamp: typeof extractGitBranchingTimestamp & {
5
+ getCachedValues(): Promise<string>[];
6
+ setCachedValue(key: any, value: Promise<string>): void;
7
+ clearCache(): void;
8
+ };
9
+ type ExtractGitBranchingTimestampOptions = {
10
+ branchName: string;
11
+ execOptions?: ExecOptions;
12
+ logger?: Logger;
13
+ parentBranchName: string;
14
+ };
15
+ declare function extractGitBranchingTimestamp({ branchName, parentBranchName, execOptions, logger, }: ExtractGitBranchingTimestampOptions): Promise<string>;
16
+ export {};
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" />
2
+ import type { ExecOptions } from 'child_process';
3
+ import { type Logger } from '@applitools/logger';
4
+ export declare const cacheKey = "extract-current-commit";
5
+ export declare const extractLatestCommitInfo: typeof extractCommitInfo & {
6
+ getCachedValues(): Promise<{
7
+ timestamp: string;
8
+ sha: string;
9
+ } | undefined>[];
10
+ setCachedValue(key: any, value: Promise<{
11
+ timestamp: string;
12
+ sha: string;
13
+ } | undefined>): void;
14
+ clearCache(): void;
15
+ };
16
+ type ExtractCurrentCommitTimestampOptions = {
17
+ execOptions?: ExecOptions;
18
+ logger?: Logger;
19
+ };
20
+ declare function extractCommitInfo({ execOptions, logger, }: ExtractCurrentCommitTimestampOptions): Promise<{
21
+ timestamp: string;
22
+ sha: string;
23
+ } | undefined>;
24
+ export {};
@@ -0,0 +1,59 @@
1
+ /// <reference types="node" />
2
+ import type { ExecOptions } from 'child_process';
3
+ import { type Logger } from '@applitools/logger';
4
+ type Options = {
5
+ execOptions?: ExecOptions;
6
+ logger: Logger;
7
+ };
8
+ type ExtractGitBranchingTimestampOptions = {
9
+ branchName: string;
10
+ execOptions?: ExecOptions;
11
+ logger?: Logger;
12
+ parentBranchName: string;
13
+ };
14
+ type ExtractCurrentCommitTimestampOptions = {
15
+ execOptions?: ExecOptions;
16
+ logger?: Logger;
17
+ };
18
+ export declare const cacheKey = "default";
19
+ export declare const extractLatestCommitInfo: (({ execOptions, logger, }: ExtractCurrentCommitTimestampOptions) => Promise<{
20
+ timestamp: string;
21
+ sha: string;
22
+ } | undefined>) & {
23
+ getCachedValues(): Promise<{
24
+ timestamp: string;
25
+ sha: string;
26
+ } | undefined>[];
27
+ setCachedValue(key: any, value: Promise<{
28
+ timestamp: string;
29
+ sha: string;
30
+ } | undefined>): void;
31
+ clearCache(): void;
32
+ };
33
+ export declare const extractGitBranch: (({ execOptions, logger }: Options) => Promise<string | undefined>) & {
34
+ getCachedValues(): Promise<string | undefined>[];
35
+ setCachedValue(key: any, value: Promise<string | undefined>): void;
36
+ clearCache(): void;
37
+ };
38
+ export declare const extractGitRepo: (({ execOptions, logger }: Options) => Promise<{
39
+ name?: string;
40
+ owner?: string;
41
+ }>) & {
42
+ getCachedValues(): Promise<{
43
+ name?: string | undefined;
44
+ owner?: string | undefined;
45
+ }>[];
46
+ setCachedValue(key: any, value: Promise<{
47
+ name?: string | undefined;
48
+ owner?: string | undefined;
49
+ }>): void;
50
+ clearCache(): void;
51
+ };
52
+ export declare function extractBuildIdFromCI(): Promise<string | undefined>;
53
+ export declare const extractBranchingTimestamp: (({ branchName, parentBranchName, execOptions, logger, }: ExtractGitBranchingTimestampOptions) => Promise<string | undefined>) & {
54
+ getCachedValues(): Promise<string | undefined>[];
55
+ setCachedValue(key: any, value: Promise<string | undefined>): void;
56
+ clearCache(): void;
57
+ };
58
+ export declare function isISODate(str: string): boolean;
59
+ export {};
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import type { ExecOptions } from 'child_process';
3
+ import { type Logger } from '@applitools/logger';
4
+ type Options = {
5
+ execOptions?: ExecOptions;
6
+ logger: Logger;
7
+ };
8
+ export declare const cacheKey = "default";
9
+ export declare const extractGitBranch: (({ execOptions, logger }: Options) => Promise<string | undefined>) & {
10
+ getCachedValues(): Promise<string | undefined>[];
11
+ setCachedValue(key: any, value: Promise<string | undefined>): void;
12
+ clearCache(): void;
13
+ };
14
+ export declare const extractGitRepo: (({ execOptions, logger }: Options) => Promise<{
15
+ name?: string;
16
+ owner?: string;
17
+ }>) & {
18
+ getCachedValues(): Promise<{
19
+ name?: string | undefined;
20
+ owner?: string | undefined;
21
+ }>[];
22
+ setCachedValue(key: any, value: Promise<{
23
+ name?: string | undefined;
24
+ owner?: string | undefined;
25
+ }>): void;
26
+ clearCache(): void;
27
+ };
28
+ export declare function extractBuildIdFromCI(): Promise<string | undefined>;
29
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function extractTestEnvironment(baseEnvironment?: Record<string, any>): Record<string, any>;
2
+ export declare function extractCIProvider(): string | null;
@@ -0,0 +1,7 @@
1
+ import { type Logger } from '@applitools/logger';
2
+ export declare function startMemoryUsageLogging({ timeout, logger }: {
3
+ timeout?: number;
4
+ logger: Logger;
5
+ }): {
6
+ stop(): void;
7
+ };
@@ -0,0 +1,2 @@
1
+ import type { EyesServerSettings } from '../types';
2
+ export declare function populateEyesServerSettings(settings: Partial<EyesServerSettings>): EyesServerSettings;
@@ -0,0 +1,42 @@
1
+ import { type Logger } from '@applitools/logger';
2
+ declare const extractors: {
3
+ js: typeof extractLatestJsPackageVersion & {
4
+ getCachedValues(): Promise<string>[];
5
+ setCachedValue(key: any, value: Promise<string>): void;
6
+ clearCache(): void;
7
+ };
8
+ java: typeof extractLatestJavaPackageVersion & {
9
+ getCachedValues(): Promise<string>[];
10
+ setCachedValue(key: any, value: Promise<string>): void;
11
+ clearCache(): void;
12
+ };
13
+ dotnet: typeof extractLatestDotNetPackageVersion & {
14
+ getCachedValues(): Promise<string>[];
15
+ setCachedValue(key: any, value: Promise<string>): void;
16
+ clearCache(): void;
17
+ };
18
+ python: typeof extractLatestPythonPackageVersion & {
19
+ getCachedValues(): Promise<string>[];
20
+ setCachedValue(key: any, value: Promise<string>): void;
21
+ clearCache(): void;
22
+ };
23
+ ruby: typeof extractLatestRubyPackageVersion & {
24
+ getCachedValues(): Promise<string>[];
25
+ setCachedValue(key: any, value: Promise<string>): void;
26
+ clearCache(): void;
27
+ };
28
+ };
29
+ export declare function validateSdkVersion(sdk: {
30
+ lang: keyof typeof extractors;
31
+ name: string;
32
+ currentVersion: string;
33
+ latestVersion?: string;
34
+ }, { logger }: {
35
+ logger: Logger;
36
+ }): Promise<void>;
37
+ export declare function extractLatestJsPackageVersion(name: string): Promise<string>;
38
+ export declare function extractLatestJavaPackageVersion(name: string): Promise<string>;
39
+ export declare function extractLatestDotNetPackageVersion(name: string): Promise<string>;
40
+ export declare function extractLatestPythonPackageVersion(name: string): Promise<string>;
41
+ export declare function extractLatestRubyPackageVersion(name: string): Promise<string>;
42
+ export {};
package/CHANGELOG.md DELETED
@@ -1,222 +0,0 @@
1
- # Change Log
2
-
3
- ## Unreleased
4
-
5
- ## 2.5.2 - 2023/4/19
6
-
7
- ### Features
8
- ### Bug fixes
9
- - Fixed functional test feature issues in ec client
10
-
11
- ## 2.5.1 - 2023/4/18
12
-
13
- ### Features
14
- ### Bug fixes
15
- - Fixed the issue with session metadata extraction
16
-
17
- ## 2.5.0 - 2023/4/18
18
-
19
- ### Features
20
- - Added functional session feature
21
- ### Bug fixes
22
- - Fixed issue with when webview were wasn't recognized as web compatible world
23
-
24
- ## 2.4.13 - 2023/4/16
25
-
26
- ### Features
27
- ### Bug fixes
28
- - format result `hostDisplaySize`
29
-
30
- ## 2.4.12 - 2023/4/12
31
-
32
- ### Features
33
- ### Bug fixes
34
- - Expose types for eyes-cypress
35
-
36
- ## 2.4.11 - 2023/4/11
37
-
38
- ### Features
39
- - Make `locate` to return coordinates that could be directly used with the driver
40
- ### Bug fixes
41
- - Fix issue when `locate` return wrong type of the region, with `left` and `top` properties instead of `x` and `y`
42
-
43
- ## 2.4.10 - 2023/4/10
44
-
45
- ### Features
46
- ### Bug fixes
47
- - Improved appium prefixed capabilities parsing
48
-
49
- ## 2.4.9 - 2023/4/7
50
-
51
- ### Features
52
- ### Bug fixes
53
- - Fixed issue in dom snapshot that prevented urls that start with a whitespace to be mapped
54
-
55
- ## 2.4.8 - 2023/4/5
56
-
57
- ### Features
58
- ### Bug fixes
59
- - Fixed screenshot framing
60
- - Fixed issue with css fetching for dom capture
61
-
62
- ## 2.4.7 - 2023/4/4
63
-
64
- ### Features
65
- ### Bug fixes
66
- - Fixed issue with emulation driver detection
67
-
68
- ## 2.4.6 - 2023/4/4
69
-
70
- ### Features
71
- ### Bug fixes
72
- - Fixed relative url resolution in css files
73
- - Added timeout to css fetching during preparing dom capture
74
-
75
- ## 2.4.5 - 2023/3/31
76
-
77
- ### Features
78
- - Added `removeDuplicateTests` property to the `GetManagerResultsSettings`
79
- ### Bug fixes
80
-
81
- ## 2.4.4 - 2023/3/30
82
-
83
- ### Features
84
- ### Bug fixes
85
- - Improve performance in DOM snapshot
86
-
87
- ## 2.4.3 - 2023/3/22
88
-
89
- ### Features
90
- - Changed `makeManager` api to accept `settings`
91
- ### Bug fixes
92
- - Fixed retry interval during poll requests to eyes back-end
93
-
94
- ## 2.4.2 - 2023/3/17
95
-
96
- ### Features
97
- ### Bug fixes
98
- - Fixed issue with concurrency of the renders in ufg mode
99
-
100
- ## 2.4.1 - 2023/3/17
101
-
102
- ### Features
103
- - Improved extraction of nml element
104
- ### Bug fixes
105
- - Fixed issue with concurrency of the renders in ufg mode
106
-
107
- ## 2.4.0 - 2023/3/12
108
-
109
- ### Features
110
- ### Bug fixes
111
- - Fixed ufg concurrency regression
112
-
113
- ## 2.3.14 - 2023/3/7
114
-
115
- ### Features
116
- ### Bug fixes
117
- - Upgrade tunnel version
118
-
119
- ## 2.3.13 - 2023/3/7
120
-
121
- ### Features
122
- ### Bug fixes
123
- - Fixed selector transformation for scroll root elements for ufg
124
-
125
- ## 2.3.12 - 2023/3/7
126
-
127
- ### Features
128
- - Update broker url using last response instead of using driver
129
- ### Bug fixes
130
- - Replaced broker url cache with nml element cache
131
-
132
- ## 2.3.11 - 2023/3/6
133
-
134
- ### Features
135
- ### Bug fixes
136
- - setting the universal cli for javascript right
137
-
138
- ## 2.3.10 - 2023/3/3
139
-
140
- ### Features
141
- - Added `Resize` stitch mode value
142
- ### Bug fixes
143
- - Fixed issue when `.visualgrid` was not added to agent id
144
- - Fixed issue with aborting ufg tests
145
-
146
- ## 2.3.9 - 2023/3/2
147
-
148
- ### Features
149
- ### Bug fixes
150
- - Update `@applitools/execution-grid-tunnel` dependency
151
-
152
- ## 2.3.8 - 2023/3/2
153
-
154
- ### Features
155
- ### Bug fixes
156
- - upgrade dom-snapshot with a fix to CSP
157
-
158
- ## 2.3.7 - 2023/2/23
159
-
160
- ### Features
161
- - Added caching for broker url to avoid looking for the nml element multiple times
162
- - Passing density metric for PPI support in the sdk
163
- ### Bug fixes
164
- - Fixed issue with universal protocol when manager ref was deleted once `EyesManager.getResults` was called
165
- - Fixed vulnerabilities of EC client
166
-
167
- ## 2.3.6 - 2023/2/17
168
-
169
- ### Features
170
- ### Bug fixes
171
- - Update some type declarations
172
-
173
- ## 2.3.5 - 2023/2/17
174
-
175
- ### Features
176
- - Improve logging in core server
177
- ### Bug fixes
178
- - Fixed issue when core server was hanging if any command was called immediately after `Core.makeCore` command
179
- - Fixed issue when `StaticDriver` and `StaticElement` were not recognized as a valid driver or element objects
180
-
181
- ## 2.3.4 - 2023/2/16
182
-
183
- ### Features
184
- ### Bug fixes
185
- - Fixed ws types
186
-
187
- ## 2.3.3 - 2023/2/16
188
-
189
- ### Features
190
- ### Bug fixes
191
- - Fixed debug mode
192
- - Fixed logs
193
-
194
- ## 2.3.2 - 2023/2/16
195
-
196
- ### Features
197
- - Added arm64 binary
198
- ### Bug fixes
199
-
200
- ## 2.3.1 - 2023/2/15
201
-
202
- ### Features
203
- - Avoid helper initialization on native devices before it required
204
- ### Bug fixes
205
-
206
- ## 2.3.0 - 2023/2/15
207
-
208
- ### Features
209
- - Integrate universal protocol to run core via transport
210
- ### Bug fixes
211
-
212
- ## 2.2.0 - 2023/2/15
213
-
214
- ### Features
215
- - Integrate universal protocol to run core via transport
216
- ### Bug fixes
217
-
218
- ## 2.0.2 - 2022/12/27
219
-
220
- ### Features
221
- - Created
222
- ### Bug fixes