@applitools/eyes-cypress 3.54.5 → 3.55.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 CHANGED
@@ -1,5 +1,76 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.55.1](https://github.com/Applitools-Dev/sdk/compare/js/eyes-cypress@3.55.0...js/eyes-cypress@3.55.1) (2025-09-16)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * remove duplicate tests on different sessions for same batch ([#3184](https://github.com/Applitools-Dev/sdk/issues/3184)) ([ede0d1f](https://github.com/Applitools-Dev/sdk/commit/ede0d1fd8018e14c19811903d78c273bce048f84))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * @applitools/logger bumped to 2.2.4
14
+ #### Bug Fixes
15
+
16
+ * remove duplicate tests on different sessions for same batch ([#3184](https://github.com/Applitools-Dev/sdk/issues/3184)) ([ede0d1f](https://github.com/Applitools-Dev/sdk/commit/ede0d1fd8018e14c19811903d78c273bce048f84))
17
+ * @applitools/dom-snapshot bumped to 4.13.7
18
+
19
+ * @applitools/socket bumped to 1.3.5
20
+
21
+ * @applitools/req bumped to 1.8.4
22
+
23
+ * @applitools/dom-capture bumped to 11.6.5
24
+
25
+ * @applitools/driver bumped to 1.23.5
26
+
27
+ * @applitools/spec-driver-webdriver bumped to 1.4.5
28
+
29
+ * @applitools/spec-driver-selenium bumped to 1.7.5
30
+
31
+ * @applitools/spec-driver-puppeteer bumped to 1.6.5
32
+
33
+ * @applitools/screenshoter bumped to 3.12.5
34
+
35
+ * @applitools/nml-client bumped to 1.11.5
36
+
37
+ * @applitools/tunnel-client bumped to 1.11.2
38
+
39
+ * @applitools/ufg-client bumped to 1.17.4
40
+
41
+ * @applitools/core-base bumped to 1.27.4
42
+
43
+ * @applitools/ec-client bumped to 1.12.7
44
+
45
+ * @applitools/core bumped to 4.47.1
46
+ #### Bug Fixes
47
+
48
+ * remove duplicate tests on different sessions for same batch ([#3184](https://github.com/Applitools-Dev/sdk/issues/3184)) ([ede0d1f](https://github.com/Applitools-Dev/sdk/commit/ede0d1fd8018e14c19811903d78c273bce048f84))
49
+
50
+
51
+
52
+ * @applitools/eyes bumped to 1.36.7
53
+
54
+ * @applitools/test-server bumped to 1.3.3
55
+
56
+
57
+ ## [3.55.0](https://github.com/Applitools-Dev/sdk/compare/js/eyes-cypress@3.54.5...js/eyes-cypress@3.55.0) (2025-09-15)
58
+
59
+
60
+ ### Features
61
+
62
+ * update default concurrency ([#3230](https://github.com/Applitools-Dev/sdk/issues/3230)) ([f548cda](https://github.com/Applitools-Dev/sdk/commit/f548cda77d74b68890abc7c53f566b145e6484ba))
63
+
64
+
65
+ ### Dependencies
66
+
67
+ * @applitools/core bumped to 4.47.0
68
+ #### Features
69
+
70
+ * update default concurrency ([#3230](https://github.com/Applitools-Dev/sdk/issues/3230)) ([f548cda](https://github.com/Applitools-Dev/sdk/commit/f548cda77d74b68890abc7c53f566b145e6484ba))
71
+ * @applitools/eyes bumped to 1.36.6
72
+
73
+
3
74
  ## [3.54.5](https://github.com/Applitools-Dev/sdk/compare/js/eyes-cypress@3.54.4...js/eyes-cypress@3.54.5) (2025-09-09)
4
75
 
5
76
 
@@ -62,6 +62,7 @@ function transformCypressConfig(config, refer) {
62
62
  baselineEnvName: config.baselineEnvName,
63
63
  connectionTimeout: config.connectionTimeout,
64
64
  removeSession: config.removeSession,
65
+ removeDuplicateTests: config.removeDuplicateTests,
65
66
  },
66
67
  check: {
67
68
  environments: (0, utils_1.transformBrowsers)(config.browser),
@@ -26,9 +26,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
+ const core_1 = require("@applitools/core");
29
30
  const utils = __importStar(require("@applitools/utils"));
30
31
  const configParams_1 = __importDefault(require("./configParams"));
31
- const DEFAULT_TEST_CONCURRENCY = 5;
32
32
  const uuid = __importStar(require("uuid"));
33
33
  function makeConfig() {
34
34
  const config = utils.config.getConfig({
@@ -69,7 +69,7 @@ function makeConfig() {
69
69
  eyesLayoutBreakpoints: JSON.stringify(config.layoutBreakpoints),
70
70
  eyesFailCypressOnDiff: config.failCypressOnDiff === undefined ? true : !!config.failCypressOnDiff,
71
71
  eyesDisableBrowserFetching: !!config.disableBrowserFetching,
72
- eyesTestConcurrency: config.testConcurrency || DEFAULT_TEST_CONCURRENCY,
72
+ eyesTestConcurrency: config.testConcurrency || core_1.DEFAULT_CONCURRENCY,
73
73
  eyesWaitBeforeCapture: config.waitBeforeCapture,
74
74
  eyesRemoveDuplicateTests: !!config.removeDuplicateTests,
75
75
  universalDebug: !!config.universalDebug,
@@ -2,13 +2,22 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
+ var _a;
5
6
  Object.defineProperty(exports, "__esModule", { value: true });
6
7
  const pluginExport_1 = __importDefault(require("./pluginExport"));
7
8
  const config_1 = __importDefault(require("./config"));
8
9
  const server_1 = __importDefault(require("./server"));
9
10
  const logger_1 = require("@applitools/logger");
11
+ const os_1 = __importDefault(require("os"));
12
+ const path_1 = __importDefault(require("path"));
10
13
  const { config, eyesConfig } = (0, config_1.default)();
11
- const logger = (0, logger_1.makeLogger)({ level: config.showLogs ? 'info' : 'silent' });
14
+ const logDirname = (_a = process.env.APPLITOOLS_LOG_DIR) !== null && _a !== void 0 ? _a : path_1.default.resolve(os_1.default.tmpdir(), `applitools-logs`);
15
+ const logger = (0, logger_1.makeLogger)({
16
+ handler: { type: 'rolling file', name: 'universal', dirname: logDirname },
17
+ level: config.showLogs ? 'info' : 'silent',
18
+ format: { label: 'cypress-plugin' },
19
+ maskLog: false,
20
+ });
12
21
  const startServer = (0, server_1.default)({ logger, eyesConfig });
13
22
  const pluginExport = (0, pluginExport_1.default)({
14
23
  startServer,
@@ -41,6 +41,7 @@ function makeStartServer({ logger, eyesConfig }) {
41
41
  portResolutionMode: 'random',
42
42
  environment,
43
43
  debug: eyesConfig.universalDebug,
44
+ logger: logger.extend({ level: 'info', label: 'core-universal', colors: false }),
44
45
  });
45
46
  const managers = [];
46
47
  let socketWithUniversal;
@@ -91,6 +92,7 @@ function makeStartServer({ logger, eyesConfig }) {
91
92
  return {
92
93
  server: wss,
93
94
  port,
95
+ universalPort,
94
96
  closeManagers,
95
97
  closeBatches,
96
98
  closeUniversalServer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-cypress",
3
- "version": "3.54.5",
3
+ "version": "3.55.1",
4
4
  "homepage": "https://applitools.com/tutorials/sdks/cypress",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "main": "./index.js",
@@ -52,10 +52,10 @@
52
52
  "setup": "run --top-level xvfb:setup"
53
53
  },
54
54
  "dependencies": {
55
- "@applitools/core": "4.46.0",
56
- "@applitools/eyes": "1.36.5",
55
+ "@applitools/core": "4.47.1",
56
+ "@applitools/eyes": "1.36.7",
57
57
  "@applitools/functional-commons": "1.6.0",
58
- "@applitools/logger": "2.2.3",
58
+ "@applitools/logger": "2.2.4",
59
59
  "@applitools/utils": "1.12.0",
60
60
  "boxen": "5.1.2",
61
61
  "chalk": "3.0.0",
@@ -68,7 +68,7 @@
68
68
  "@applitools/bongo": "^5.10.0",
69
69
  "@applitools/generic": "^3.9.2",
70
70
  "@applitools/snaptdout": "^1.1.0",
71
- "@applitools/test-server": "^1.3.2",
71
+ "@applitools/test-server": "^1.3.3",
72
72
  "@applitools/test-utils": "^1.5.17",
73
73
  "@types/he": "^1",
74
74
  "@types/node": "^12.20.55",
@@ -38,6 +38,7 @@ export function transformCypressConfig(config: appliConfFile, refer): Config<Spe
38
38
  baselineEnvName: config.baselineEnvName,
39
39
  connectionTimeout: config.connectionTimeout,
40
40
  removeSession: config.removeSession,
41
+ removeDuplicateTests: config.removeDuplicateTests,
41
42
  },
42
43
  check: {
43
44
  environments: transformBrowsers(config.browser),
package/src/expose.ts CHANGED
@@ -83,6 +83,7 @@ export type CypressEyesConfig = api.ConfigurationPlain<SpecType> & {
83
83
  scriptHooks?: {
84
84
  beforeCaptureScreenshot: string
85
85
  }
86
+ removeDuplicateTests?: boolean
86
87
  }
87
88
 
88
89
  export type appliConfFile = CypressEyesConfig & {
@@ -1,6 +1,6 @@
1
+ import {DEFAULT_CONCURRENCY} from '@applitools/core'
1
2
  import * as utils from '@applitools/utils'
2
3
  import configParams from './configParams'
3
- const DEFAULT_TEST_CONCURRENCY = 5
4
4
  import * as uuid from 'uuid'
5
5
  import {type EyesPluginConfig} from './'
6
6
 
@@ -49,7 +49,7 @@ export default function makeConfig(): {config: any; eyesConfig: EyesPluginConfig
49
49
  eyesLayoutBreakpoints: JSON.stringify(config.layoutBreakpoints),
50
50
  eyesFailCypressOnDiff: config.failCypressOnDiff === undefined ? true : !!config.failCypressOnDiff,
51
51
  eyesDisableBrowserFetching: !!config.disableBrowserFetching,
52
- eyesTestConcurrency: config.testConcurrency || DEFAULT_TEST_CONCURRENCY,
52
+ eyesTestConcurrency: config.testConcurrency || DEFAULT_CONCURRENCY,
53
53
  eyesWaitBeforeCapture: config.waitBeforeCapture,
54
54
  eyesRemoveDuplicateTests: !!config.removeDuplicateTests,
55
55
  universalDebug: !!config.universalDebug,
@@ -3,6 +3,8 @@ import makePluginExport from './pluginExport'
3
3
  import makeConfig from './config'
4
4
  import makeStartServer from './server'
5
5
  import {makeLogger} from '@applitools/logger'
6
+ import os from 'os'
7
+ import path from 'path'
6
8
 
7
9
  // DON'T REMOVE
8
10
  //
@@ -28,7 +30,13 @@ export type EyesPluginConfig = {
28
30
  }
29
31
 
30
32
  const {config, eyesConfig} = makeConfig()
31
- const logger = makeLogger({level: config.showLogs ? 'info' : 'silent'})
33
+ const logDirname = process.env.APPLITOOLS_LOG_DIR ?? path.resolve(os.tmpdir(), `applitools-logs`)
34
+ const logger = makeLogger({
35
+ handler: {type: 'rolling file', name: 'universal', dirname: logDirname},
36
+ level: config.showLogs ? 'info' : 'silent',
37
+ format: {label: 'cypress-plugin'},
38
+ maskLog: false,
39
+ })
32
40
 
33
41
  const startServer = makeStartServer({logger, eyesConfig})
34
42
 
@@ -5,7 +5,7 @@ import path from 'path'
5
5
  import fs from 'fs'
6
6
  import {Server as HttpsServer} from 'https'
7
7
  import {Server as WSServer} from 'ws'
8
- import {type Logger} from '@applitools/logger'
8
+ import type {Logger} from '@applitools/logger'
9
9
  import {AddressInfo} from 'net'
10
10
  import {promisify} from 'util'
11
11
  import {EyesPluginConfig} from './index'
@@ -14,6 +14,7 @@ import {extractEnvironment} from '../plugin/extractEnvironment'
14
14
  export type StartServerReturn = {
15
15
  server: Omit<SocketWithUniversal, 'disconnect' | 'ref' | 'unref' | 'send' | 'request' | 'setPassthroughListener'>
16
16
  port: number
17
+ universalPort?: number
17
18
  closeManagers: () => Promise<any[]>
18
19
  closeBatches: (settings: CloseBatchSettings | CloseBatchSettings[]) => Promise<void>
19
20
  closeUniversalServer: () => void
@@ -52,6 +53,7 @@ export default function makeStartServer({logger, eyesConfig}: {logger: Logger; e
52
53
  portResolutionMode: 'random',
53
54
  environment,
54
55
  debug: eyesConfig.universalDebug,
56
+ logger: logger.extend({level: 'info', label: 'core-universal', colors: false}),
55
57
  })
56
58
 
57
59
  const managers: {manager: object; socketWithUniversal: SocketWithUniversal}[] = []
@@ -110,6 +112,7 @@ export default function makeStartServer({logger, eyesConfig}: {logger: Logger; e
110
112
  return {
111
113
  server: wss,
112
114
  port,
115
+ universalPort,
113
116
  closeManagers,
114
117
  closeBatches,
115
118
  closeUniversalServer,
package/types/expose.d.ts CHANGED
@@ -405,6 +405,7 @@ export type CypressEyesConfig = {
405
405
  batchSequenceName?: string;
406
406
  envName?: string;
407
407
  scriptHooks?: { beforeCaptureScreenshot: string; };
408
+ removeDuplicateTests?: boolean;
408
409
  };
409
410
  export type appliConfFile = {
410
411
  accessibilityValidation?: AccessibilityValidation;
@@ -552,6 +553,7 @@ export type appliConfFile = {
552
553
  batchSequenceName?: string;
553
554
  envName?: string;
554
555
  scriptHooks?: { beforeCaptureScreenshot: string; };
556
+ removeDuplicateTests?: boolean;
555
557
  failCypressAfterAllSpecs?: boolean;
556
558
  tapDirPath?: string;
557
559
  tapFileName?: string;