@applitools/eyes-cypress 3.35.1 → 3.36.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,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.36.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-cypress@3.36.0...js/eyes-cypress@3.36.1) (2023-08-08)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * @applitools/core bumped to 3.8.1
9
+ #### Bug Fixes
10
+
11
+ * some fix ([5dc537a](https://github.com/applitools/eyes.sdk.javascript1/commit/5dc537aa5d40933c21f21b8f138f7ff944c064a8))
12
+ * @applitools/eyes bumped to 1.7.1
13
+
14
+
15
+ ## [3.36.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-cypress@3.35.1...js/eyes-cypress@3.36.0) (2023-08-08)
16
+
17
+
18
+ ### Features
19
+
20
+ * rework log event on opent eyes ([#1842](https://github.com/applitools/eyes.sdk.javascript1/issues/1842)) ([532756b](https://github.com/applitools/eyes.sdk.javascript1/commit/532756b75c1023967c3781316148c890dbcfaac8))
21
+
22
+
23
+ ### Dependencies
24
+
25
+ * @applitools/core bumped to 3.8.0
26
+ #### Features
27
+
28
+ * rework log event on opent eyes ([#1842](https://github.com/applitools/eyes.sdk.javascript1/issues/1842)) ([532756b](https://github.com/applitools/eyes.sdk.javascript1/commit/532756b75c1023967c3781316148c890dbcfaac8))
29
+ * @applitools/eyes bumped to 1.7.0
30
+ #### Features
31
+
32
+ * rework log event on opent eyes ([#1842](https://github.com/applitools/eyes.sdk.javascript1/issues/1842)) ([532756b](https://github.com/applitools/eyes.sdk.javascript1/commit/532756b75c1023967c3781316148c890dbcfaac8))
33
+
34
+
35
+
36
+
3
37
  ## [3.35.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-cypress@3.35.0...js/eyes-cypress@3.35.1) (2023-08-08)
4
38
 
5
39
 
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractEnvironment = void 0;
4
+ function extractEnvironment(options) {
5
+ var _a;
6
+ const versions = {};
7
+ try {
8
+ const { name, version } = require('cypress/package.json');
9
+ versions[name] = version;
10
+ }
11
+ catch {
12
+ // NOTE: ignore error
13
+ }
14
+ return { versions, testingType: (_a = options === null || options === void 0 ? void 0 : options.testingType) !== null && _a !== void 0 ? _a : 'e2e' };
15
+ }
16
+ exports.extractEnvironment = extractEnvironment;
@@ -9,7 +9,7 @@ const server_1 = __importDefault(require("./server"));
9
9
  const logger_1 = require("@applitools/logger");
10
10
  const { config, eyesConfig } = (0, config_1.default)();
11
11
  const logger = (0, logger_1.makeLogger)({ level: config.showLogs ? 'info' : 'silent' });
12
- const startServer = (0, server_1.default)({ logger, eyesConfig, config });
12
+ const startServer = (0, server_1.default)({ logger, eyesConfig });
13
13
  const pluginExport = (0, pluginExport_1.default)({
14
14
  startServer,
15
15
  eyesConfig: Object.assign({}, eyesConfig, { appliConfFile: config }),
@@ -11,8 +11,8 @@ const fs_1 = __importDefault(require("fs"));
11
11
  const https_1 = require("https");
12
12
  const ws_1 = require("ws");
13
13
  const util_1 = require("util");
14
- const PUBLIC_CLOUD = 'https://eyesapi.applitools.com';
15
- function makeStartServer({ logger, eyesConfig, config, }) {
14
+ const extractEnvironment_1 = require("../plugin/extractEnvironment");
15
+ function makeStartServer({ logger, eyesConfig }) {
16
16
  return async function startServer(options) {
17
17
  const key = fs_1.default.readFileSync(path_1.default.resolve(__dirname, '../../src/pem/server.key'));
18
18
  const cert = fs_1.default.readFileSync(path_1.default.resolve(__dirname, '../../src/pem/server.cert'));
@@ -27,11 +27,13 @@ function makeStartServer({ logger, eyesConfig, config, }) {
27
27
  https.close();
28
28
  closeUniversalServer();
29
29
  });
30
+ const environment = (0, extractEnvironment_1.extractEnvironment)(options);
30
31
  const { port: universalPort, close: closeUniversalServer } = await (0, core_1.makeCoreServer)({
31
32
  idleTimeout: 0,
32
33
  printStdout: true,
33
34
  singleton: false,
34
35
  portResolutionMode: 'random',
36
+ environment,
35
37
  debug: eyesConfig.universalDebug,
36
38
  });
37
39
  const managers = [];
@@ -49,33 +51,7 @@ function makeStartServer({ logger, eyesConfig, config, }) {
49
51
  socketWithClient.on('message', (message) => {
50
52
  const msg = JSON.parse(message);
51
53
  logger.log('==> ', message.toString().slice(0, 1000));
52
- if (msg.name === 'Core.makeCore') {
53
- logger.log('==> ', 'Core.logEvent');
54
- socketWithUniversal.request('Core.logEvent', {
55
- settings: {
56
- eyesServerUrl: config.serverUrl ? config.serverUrl : PUBLIC_CLOUD,
57
- apiKey: config.apiKey,
58
- agentId: `eyes.cypress/${require('../../package.json').version}`,
59
- proxy: config.proxy,
60
- level: 'Notice',
61
- event: {
62
- type: 'CypressTestingType',
63
- testingType: (options === null || options === void 0 ? void 0 : options.testingType) === 'component' ? 'component' : 'e2e',
64
- cypressVersion: require('cypress/package.json').version,
65
- },
66
- },
67
- logger,
68
- });
69
- }
70
- if (msg.name === 'Core.makeSDK') {
71
- const newMessage = Buffer.from(JSON.stringify({
72
- name: msg.name,
73
- key: msg.key,
74
- payload: Object.assign(msg.payload, { cwd: process.cwd() }),
75
- }), 'utf-8');
76
- socketWithUniversal.send(newMessage);
77
- }
78
- else if (msg.name === 'Test.printTestResults') {
54
+ if (msg.name === 'Test.printTestResults') {
79
55
  try {
80
56
  if (msg.payload.resultConfig.tapDirPath && msg.payload.resultConfig.shouldCreateTapFile) {
81
57
  handleTestResults_1.default.handleBatchResultsFile(msg.payload.testResults, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-cypress",
3
- "version": "3.35.1",
3
+ "version": "3.36.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git://github.com/applitools/eyes.sdk.javascript1.git",
@@ -54,8 +54,8 @@
54
54
  "setup": "run --top-level xvfb:setup"
55
55
  },
56
56
  "dependencies": {
57
- "@applitools/core": "3.7.0",
58
- "@applitools/eyes": "1.6.7",
57
+ "@applitools/core": "3.8.1",
58
+ "@applitools/eyes": "1.7.1",
59
59
  "@applitools/functional-commons": "1.6.0",
60
60
  "@applitools/logger": "2.0.7",
61
61
  "@applitools/utils": "1.5.0",
@@ -68,7 +68,7 @@
68
68
  "devDependencies": {
69
69
  "@applitools/api-extractor": "^1.2.21",
70
70
  "@applitools/bongo": "^5.4.3",
71
- "@applitools/generic": "^3.3.5",
71
+ "@applitools/generic": "^3.3.7",
72
72
  "@applitools/snaptdout": "1.0.1",
73
73
  "@applitools/test-server": "^1.2.2",
74
74
  "@applitools/test-utils": "^1.5.17",
@@ -120,9 +120,9 @@ Cypress.Commands.add('eyesOpen', function (args = {}) {
120
120
  socket.connect(`wss://localhost:${Cypress.config('eyesPort')}/eyes`)
121
121
  connectedToUniversal = true
122
122
  socket.emit('Core.makeCore', {
123
+ spec: Object.keys(spec).concat(['isSelector', 'isDriver', 'isElement']), // TODO fix spec.isSelector and spec.isDriver and spec.isElement in driver
123
124
  agentId: `eyes.cypress/${require('../../package.json').version}`,
124
125
  cwd: Cypress.config('projectRoot'),
125
- spec: Object.keys(spec).concat(['isSelector', 'isDriver', 'isElement']), // TODO fix spec.isSelector and spec.isDriver and spec.isElement in driver
126
126
  })
127
127
 
128
128
  manager =
@@ -0,0 +1,10 @@
1
+ export function extractEnvironment(options: Cypress.PluginConfigOptions): Record<string, any> {
2
+ const versions = {} as Record<string, string>
3
+ try {
4
+ const {name, version} = require('cypress/package.json')
5
+ versions[name] = version
6
+ } catch {
7
+ // NOTE: ignore error
8
+ }
9
+ return {versions, testingType: options?.testingType ?? 'e2e'}
10
+ }
@@ -30,7 +30,7 @@ export type EyesPluginConfig = {
30
30
  const {config, eyesConfig} = makeConfig()
31
31
  const logger = makeLogger({level: config.showLogs ? 'info' : 'silent'})
32
32
 
33
- const startServer = makeStartServer({logger, eyesConfig, config})
33
+ const startServer = makeStartServer({logger, eyesConfig})
34
34
 
35
35
  const pluginExport = makePluginExport({
36
36
  startServer,
@@ -9,6 +9,7 @@ import {type Logger} from '@applitools/logger'
9
9
  import {AddressInfo} from 'net'
10
10
  import {promisify} from 'util'
11
11
  import {EyesPluginConfig} from './index'
12
+ import {extractEnvironment} from '../plugin/extractEnvironment'
12
13
 
13
14
  export type StartServerReturn = {
14
15
  server: Omit<SocketWithUniversal, 'disconnect' | 'ref' | 'unref' | 'send' | 'request' | 'setPassthroughListener'>
@@ -17,16 +18,8 @@ export type StartServerReturn = {
17
18
  closeBatches: (settings: CloseBatchSettings | CloseBatchSettings[]) => Promise<void>
18
19
  closeUniversalServer: () => void
19
20
  }
20
- const PUBLIC_CLOUD = 'https://eyesapi.applitools.com'
21
- export default function makeStartServer({
22
- logger,
23
- eyesConfig,
24
- config,
25
- }: {
26
- logger: Logger
27
- eyesConfig: EyesPluginConfig
28
- config: any
29
- }) {
21
+
22
+ export default function makeStartServer({logger, eyesConfig}: {logger: Logger; eyesConfig: EyesPluginConfig}) {
30
23
  return async function startServer(options?: Cypress.PluginConfigOptions): Promise<StartServerReturn> {
31
24
  const key = fs.readFileSync(path.resolve(__dirname, '../../src/pem/server.key'))
32
25
  const cert = fs.readFileSync(path.resolve(__dirname, '../../src/pem/server.cert'))
@@ -44,11 +37,13 @@ export default function makeStartServer({
44
37
  closeUniversalServer()
45
38
  })
46
39
 
40
+ const environment = extractEnvironment(options)
47
41
  const {port: universalPort, close: closeUniversalServer} = await makeCoreServer({
48
42
  idleTimeout: 0,
49
43
  printStdout: true,
50
44
  singleton: false,
51
45
  portResolutionMode: 'random',
46
+ environment,
52
47
  debug: eyesConfig.universalDebug,
53
48
  })
54
49
 
@@ -71,35 +66,7 @@ export default function makeStartServer({
71
66
  socketWithClient.on('message', (message: string) => {
72
67
  const msg = JSON.parse(message)
73
68
  logger.log('==> ', message.toString().slice(0, 1000))
74
- if (msg.name === 'Core.makeCore') {
75
- logger.log('==> ', 'Core.logEvent')
76
- socketWithUniversal.request('Core.logEvent', {
77
- settings: {
78
- eyesServerUrl: config.serverUrl ? config.serverUrl : PUBLIC_CLOUD,
79
- apiKey: config.apiKey,
80
- agentId: `eyes.cypress/${require('../../package.json').version}`,
81
- proxy: config.proxy,
82
- level: 'Notice',
83
- event: {
84
- type: 'CypressTestingType',
85
- testingType: options?.testingType === 'component' ? 'component' : 'e2e',
86
- cypressVersion: require('cypress/package.json').version,
87
- },
88
- },
89
- logger,
90
- })
91
- }
92
- if (msg.name === 'Core.makeSDK') {
93
- const newMessage = Buffer.from(
94
- JSON.stringify({
95
- name: msg.name,
96
- key: msg.key,
97
- payload: Object.assign(msg.payload, {cwd: process.cwd()}),
98
- }),
99
- 'utf-8',
100
- )
101
- socketWithUniversal.send(newMessage)
102
- } else if (msg.name === 'Test.printTestResults') {
69
+ if (msg.name === 'Test.printTestResults') {
103
70
  try {
104
71
  if (msg.payload.resultConfig.tapDirPath && msg.payload.resultConfig.shouldCreateTapFile) {
105
72
  handleTestResults.handleBatchResultsFile(msg.payload.testResults, {