@applitools/core 3.7.0 → 3.8.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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.8.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.8.0...js/core@3.8.1) (2023-08-08)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * some fix ([5dc537a](https://github.com/applitools/eyes.sdk.javascript1/commit/5dc537aa5d40933c21f21b8f138f7ff944c064a8))
9
+
10
+ ## [3.8.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.7.0...js/core@3.8.0) (2023-08-08)
11
+
12
+
13
+ ### Features
14
+
15
+ * 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))
16
+
3
17
  ## [3.7.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.6.6...js/core@3.7.0) (2023-08-08)
4
18
 
5
19
 
package/dist/core.js CHANGED
@@ -38,10 +38,12 @@ const open_eyes_1 = require("./open-eyes");
38
38
  const make_manager_1 = require("./make-manager");
39
39
  const close_batch_1 = require("./close-batch");
40
40
  const delete_test_1 = require("./delete-test");
41
+ const extract_environment_1 = require("./utils/extract-environment");
41
42
  const utils = __importStar(require("@applitools/utils"));
42
- function makeCore({ spec, concurrency, base: defaultBase, agentId = 'core', cwd = process.cwd(), logger: defaultLogger, } = {}) {
43
+ function makeCore({ spec, concurrency, base: defaultBase, environment: defaultEnvironment, agentId = 'core', cwd = process.cwd(), logger: defaultLogger, } = {}) {
43
44
  const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: 'core' } });
44
- logger.log(`Core is initialized ${defaultBase ? 'with' : 'without'} custom base core`);
45
+ const environment = (0, extract_environment_1.extractEnvironment)(defaultEnvironment);
46
+ logger.log(`Core is initialized ${defaultBase ? 'with' : 'without'} custom base core and environment`, environment);
45
47
  const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, cwd, logger });
46
48
  return utils.general.extend(base, core => {
47
49
  return {
@@ -51,11 +53,11 @@ function makeCore({ spec, concurrency, base: defaultBase, agentId = 'core', cwd
51
53
  getNMLClient: (0, get_nml_client_1.makeGetNMLClient)({ logger }),
52
54
  getECClient: (0, get_ec_client_1.makeGetECClient)({ logger }),
53
55
  getAccountInfo: (0, get_account_info_1.makeGetAccountInfo)({ core, logger }),
54
- makeManager: (0, make_manager_1.makeMakeManager)({ spec, concurrency, core, base: defaultBase, agentId, logger }),
56
+ makeManager: (0, make_manager_1.makeMakeManager)({ spec, concurrency, core, base: defaultBase, agentId, environment, logger }),
55
57
  locate: (0, locate_1.makeLocate)({ spec, core, logger }),
56
58
  locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
57
59
  extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
58
- openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, concurrency, logger }),
60
+ openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, concurrency, environment, logger }),
59
61
  closeBatch: (0, close_batch_1.makeCloseBatch)({ core, logger }),
60
62
  deleteTest: (0, delete_test_1.makeDeleteTest)({ core, logger }),
61
63
  };
@@ -30,7 +30,7 @@ const core_2 = require("./ufg/core");
30
30
  const open_eyes_1 = require("./open-eyes");
31
31
  const get_manager_results_1 = require("./get-manager-results");
32
32
  const utils = __importStar(require("@applitools/utils"));
33
- function makeMakeManager({ spec, concurrency: defaultConcurrency = utils.general.getEnvValue('CONCURRENCY', 'number'), core, base, agentId: defaultAgentId, cwd = process.cwd(), logger: mainLogger, }) {
33
+ function makeMakeManager({ spec, concurrency: defaultConcurrency = utils.general.getEnvValue('CONCURRENCY', 'number'), core, base, agentId: defaultAgentId, environment, cwd = process.cwd(), logger: mainLogger, }) {
34
34
  return async function makeManager({ type = 'classic', settings, logger = mainLogger, } = {}) {
35
35
  var _a, _b, _c, _d, _e;
36
36
  var _f;
@@ -48,7 +48,7 @@ function makeMakeManager({ spec, concurrency: defaultConcurrency = utils.general
48
48
  };
49
49
  const storage = [];
50
50
  return {
51
- openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, batch: settings.batch, spec, core, cores, logger }), async (openEyes, options) => {
51
+ openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, batch: settings.batch, spec, core, cores, environment, logger }), async (openEyes, options) => {
52
52
  const eyes = await openEyes(options);
53
53
  storage.push(eyes);
54
54
  return eyes;
package/dist/open-eyes.js CHANGED
@@ -32,12 +32,11 @@ const check_1 = require("./check");
32
32
  const check_and_close_1 = require("./check-and-close");
33
33
  const close_1 = require("./close");
34
34
  const get_eyes_results_1 = require("./get-eyes-results");
35
- const extract_ci_provider_1 = require("./utils/extract-ci-provider");
36
35
  const utils = __importStar(require("@applitools/utils"));
37
- function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core, cores, spec, logger: mainLogger, }) {
36
+ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core, cores, spec, environment, logger: mainLogger, }) {
38
37
  return async function openEyes({ type = defaultType, settings, config, target, logger = mainLogger, }) {
39
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
40
- var _x, _y, _z, _0;
38
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
39
+ var _u, _v, _w, _x;
41
40
  logger = logger.extend(mainLogger, { tags: [`eyes-${type}-${utils.general.shortid()}`] });
42
41
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...settings };
43
42
  (_a = settings.userTestId) !== null && _a !== void 0 ? _a : (settings.userTestId = `${settings.testName}--${utils.general.guid()}`);
@@ -45,10 +44,10 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
45
44
  (_f = settings.apiKey) !== null && _f !== void 0 ? _f : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
46
45
  (_g = settings.useDnsCache) !== null && _g !== void 0 ? _g : (settings.useDnsCache = utils.general.getEnvValue('USE_DNS_CACHE', 'boolean'));
47
46
  settings.batch = { ...batch, ...settings.batch };
48
- (_h = (_x = settings.batch).id) !== null && _h !== void 0 ? _h : (_x.id = (_j = utils.general.getEnvValue('BATCH_ID')) !== null && _j !== void 0 ? _j : `generated-${utils.general.guid()}`);
49
- (_k = (_y = settings.batch).name) !== null && _k !== void 0 ? _k : (_y.name = utils.general.getEnvValue('BATCH_NAME'));
50
- (_l = (_z = settings.batch).sequenceName) !== null && _l !== void 0 ? _l : (_z.sequenceName = utils.general.getEnvValue('BATCH_SEQUENCE'));
51
- (_m = (_0 = settings.batch).notifyOnCompletion) !== null && _m !== void 0 ? _m : (_0.notifyOnCompletion = utils.general.getEnvValue('BATCH_NOTIFY', 'boolean'));
47
+ (_h = (_u = settings.batch).id) !== null && _h !== void 0 ? _h : (_u.id = (_j = utils.general.getEnvValue('BATCH_ID')) !== null && _j !== void 0 ? _j : `generated-${utils.general.guid()}`);
48
+ (_k = (_v = settings.batch).name) !== null && _k !== void 0 ? _k : (_v.name = utils.general.getEnvValue('BATCH_NAME'));
49
+ (_l = (_w = settings.batch).sequenceName) !== null && _l !== void 0 ? _l : (_w.sequenceName = utils.general.getEnvValue('BATCH_SEQUENCE'));
50
+ (_m = (_x = settings.batch).notifyOnCompletion) !== null && _m !== void 0 ? _m : (_x.notifyOnCompletion = utils.general.getEnvValue('BATCH_NOTIFY', 'boolean'));
52
51
  (_o = settings.keepBatchOpen) !== null && _o !== void 0 ? _o : (settings.keepBatchOpen = utils.general.getEnvValue('DONT_CLOSE_BATCHES', 'boolean'));
53
52
  (_p = settings.branchName) !== null && _p !== void 0 ? _p : (settings.branchName = utils.general.getEnvValue('BRANCH'));
54
53
  (_q = settings.parentBranchName) !== null && _q !== void 0 ? _q : (settings.parentBranchName = utils.general.getEnvValue('PARENT_BRANCH'));
@@ -58,19 +57,13 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
58
57
  const driver = target && (await (0, driver_1.makeDriver)({ spec, driver: target, logger, customConfig: settings }));
59
58
  core.logEvent({
60
59
  settings: {
61
- eyesServerUrl: settings.eyesServerUrl,
62
- apiKey: settings.apiKey,
63
- proxy: settings.proxy,
64
- agentId: settings.agentId,
65
- useDnsCache: settings.useDnsCache,
60
+ ...settings,
66
61
  level: 'Notice',
67
62
  event: {
68
- type: 'runnerStarted',
69
- testConcurrency: concurrency,
70
- concurrentRendersPerTest: (_w = (_v = (_u = config === null || config === void 0 ? void 0 : config.check) === null || _u === void 0 ? void 0 : _u.renderers) === null || _v === void 0 ? void 0 : _v.length) !== null && _w !== void 0 ? _w : 1,
71
- node: { version: process.version, platform: process.platform, arch: process.arch },
63
+ type: 'openEyes',
64
+ environment,
65
+ concurrency,
72
66
  driverUrl: await (driver === null || driver === void 0 ? void 0 : driver.getDriverUrl()),
73
- extractedCIProvider: (0, extract_ci_provider_1.extractCIProvider)(),
74
67
  },
75
68
  },
76
69
  logger,
@@ -14,7 +14,7 @@ const refer_1 = require("./refer");
14
14
  const history_1 = require("./history");
15
15
  const os_1 = __importDefault(require("os"));
16
16
  const path_1 = __importDefault(require("path"));
17
- async function makeCoreServer({ debug = false, shutdownMode = 'lazy', idleTimeout = 900000, // 15min
17
+ async function makeCoreServer({ environment: defaultEnvironment, debug = false, shutdownMode = 'lazy', idleTimeout = 900000, // 15min
18
18
  printStdout = false, isProcess = false, ...handlerOptions } = {}) {
19
19
  var _a, _b;
20
20
  const logDirname = (_a = process.env.APPLITOOLS_LOG_DIR) !== null && _a !== void 0 ? _a : path_1.default.resolve(os_1.default.tmpdir(), `applitools-logs`);
@@ -28,6 +28,7 @@ printStdout = false, isProcess = false, ...handlerOptions } = {}) {
28
28
  shutdownMode,
29
29
  idleTimeout,
30
30
  printStdout,
31
+ defaultEnvironment,
31
32
  ...handlerOptions,
32
33
  });
33
34
  const { server, port } = await (0, ws_server_1.makeServer)({ ...handlerOptions, debug });
@@ -84,11 +85,17 @@ printStdout = false, isProcess = false, ...handlerOptions } = {}) {
84
85
  },
85
86
  });
86
87
  logger.console.log(`Logs saved in: ${logDirname}`);
87
- const corePromise = socket.wait('Core.makeCore', ({ agentId, cwd, spec }) => {
88
+ const corePromise = socket.wait('Core.makeCore', ({ spec, agentId, environment, cwd }) => {
88
89
  return (0, core_1.makeCore)({
89
- agentId: `eyes-universal/${require('../../package.json').version}/${agentId}`,
90
90
  spec: spec === 'webdriver' ? spec_driver_webdriver_1.default : (0, spec_driver_1.makeSpec)({ socket, spec }),
91
+ agentId: `eyes-universal/${require('../../package.json').version}/${agentId}`,
91
92
  cwd,
93
+ environment: {
94
+ ...defaultEnvironment,
95
+ ...environment,
96
+ versions: { ...defaultEnvironment === null || defaultEnvironment === void 0 ? void 0 : defaultEnvironment.versions, ...environment === null || environment === void 0 ? void 0 : environment.versions },
97
+ universal: true,
98
+ },
92
99
  logger,
93
100
  });
94
101
  });
@@ -138,15 +138,16 @@ function makeEyes({ socket, core, eyesRef, }) {
138
138
  return eyes;
139
139
  }
140
140
  exports.makeEyes = makeEyes;
141
- async function makeClientSocket({ agentId, spec, }) {
141
+ async function makeClientSocket({ agentId, environment, spec, }) {
142
142
  const { port } = await (0, core_server_1.makeCoreServer)();
143
143
  const socket = (0, socket_1.makeSocket)(new ws_1.WebSocket(`ws://localhost:${port}/eyes`), {
144
144
  transport: 'ws',
145
145
  });
146
146
  socket.emit('Core.makeCore', {
147
+ spec: utils.types.isString(spec) ? spec : Object.keys(spec),
147
148
  agentId,
149
+ environment,
148
150
  cwd: process.cwd(),
149
- spec: utils.types.isString(spec) ? spec : Object.keys(spec),
150
151
  });
151
152
  if (!utils.types.isString(spec)) {
152
153
  Object.entries(spec).forEach(([name, command]) => {
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.extractCIProvider = exports.extractEnvironment = void 0;
27
+ const os = __importStar(require("os"));
28
+ function extractEnvironment(baseEnvironment) {
29
+ return {
30
+ ...baseEnvironment,
31
+ versions: {
32
+ ...baseEnvironment === null || baseEnvironment === void 0 ? void 0 : baseEnvironment.versions,
33
+ core: require('../../package.json').version,
34
+ node: process.version,
35
+ },
36
+ platform: `${os.type()}@${os.release()}`,
37
+ arch: os.arch(),
38
+ ram: os.totalmem(),
39
+ ci: extractCIProvider(),
40
+ };
41
+ }
42
+ exports.extractEnvironment = extractEnvironment;
43
+ function extractCIProvider() {
44
+ if (process.env.TF_BUILD)
45
+ return 'Azure';
46
+ else if (process.env['bamboo.buildKey'])
47
+ return 'Bamboo';
48
+ else if (process.env.BUILDKITE)
49
+ return 'Buildkite';
50
+ else if (process.env.CIRCLECI)
51
+ return 'Circle';
52
+ else if (process.env.CIRRUS_CI)
53
+ return 'Cirrus';
54
+ else if (process.env.CODEBUILD_BUILD_ID)
55
+ return 'CodeBuild';
56
+ else if (process.env.GITHUB_ACTIONS)
57
+ return 'GitHub Actions';
58
+ else if (process.env.GITLAB_CI)
59
+ return 'GitLab';
60
+ else if (process.env.HEROKU_TEST_RUN_ID)
61
+ return 'Heroku';
62
+ else if (process.env.BUILD_ID)
63
+ return 'Jenkins';
64
+ else if (process.env.TEAMCITY_VERSION)
65
+ return 'TeamCity';
66
+ else if (process.env.TRAVIS)
67
+ return 'Travis';
68
+ return null;
69
+ }
70
+ exports.extractCIProvider = extractCIProvider;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "3.7.0",
3
+ "version": "3.8.1",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
package/types/core.d.ts CHANGED
@@ -7,8 +7,9 @@ type Options<TSpec extends SpecType> = {
7
7
  concurrency?: number;
8
8
  base?: BaseCore;
9
9
  agentId?: string;
10
+ environment?: Record<string, any>;
10
11
  cwd?: string;
11
12
  logger?: Logger;
12
13
  };
13
- export declare function makeCore<TSpec extends SpecType>({ spec, concurrency, base: defaultBase, agentId, cwd, logger: defaultLogger, }?: Options<TSpec>): Core<TSpec, 'classic' | 'ufg'>;
14
+ export declare function makeCore<TSpec extends SpecType>({ spec, concurrency, base: defaultBase, environment: defaultEnvironment, agentId, cwd, logger: defaultLogger, }?: Options<TSpec>): Core<TSpec, 'classic' | 'ufg'>;
14
15
  export {};
@@ -8,10 +8,11 @@ type Options<TSpec extends SpecType> = {
8
8
  core: Core<TSpec>;
9
9
  base?: BaseCore;
10
10
  agentId?: string;
11
+ environment?: Record<string, any>;
11
12
  cwd?: string;
12
13
  logger: Logger;
13
14
  };
14
- export declare function makeMakeManager<TSpec extends SpecType>({ spec, concurrency: defaultConcurrency, core, base, agentId: defaultAgentId, cwd, logger: mainLogger, }: Options<TSpec>): <TType extends "classic" | "ufg" = "classic">({ type, settings, logger, }?: {
15
+ export declare function makeMakeManager<TSpec extends SpecType>({ spec, concurrency: defaultConcurrency, core, base, agentId: defaultAgentId, environment, cwd, logger: mainLogger, }: Options<TSpec>): <TType extends "classic" | "ufg" = "classic">({ type, settings, logger, }?: {
15
16
  type?: TType | undefined;
16
17
  settings?: ManagerSettings | undefined;
17
18
  logger?: Logger | undefined;
@@ -10,9 +10,10 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
10
10
  [TKey in 'classic' | 'ufg']: TypedCore<TSpec, TKey>;
11
11
  };
12
12
  spec?: SpecDriver<TSpec>;
13
+ environment?: Record<string, any>;
13
14
  logger: Logger;
14
15
  };
15
- export declare function makeOpenEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, concurrency, batch, core, cores, spec, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, config, target, logger, }: {
16
+ export declare function makeOpenEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, concurrency, batch, core, cores, spec, environment, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, config, target, logger, }: {
16
17
  type?: TType | undefined;
17
18
  settings?: Partial<OpenSettings<TDefaultType> & OpenSettings<TType>> | undefined;
18
19
  config?: (Config<TSpec, TDefaultType> & Config<TSpec, TType>) | undefined;
@@ -1,12 +1,13 @@
1
1
  import { type ServerOptions } from './ws-server';
2
2
  export type Options = ServerOptions & {
3
+ environment?: Record<string, any>;
3
4
  debug?: boolean;
4
5
  shutdownMode?: 'lazy' | 'stdin';
5
6
  idleTimeout?: number;
6
7
  printStdout?: boolean;
7
8
  isProcess?: boolean;
8
9
  };
9
- export declare function makeCoreServer({ debug, shutdownMode, idleTimeout, // 15min
10
+ export declare function makeCoreServer({ environment: defaultEnvironment, debug, shutdownMode, idleTimeout, // 15min
10
11
  printStdout, isProcess, ...handlerOptions }?: Options): Promise<{
11
12
  port: number;
12
13
  close?: () => void;
@@ -4,8 +4,9 @@ import type { SpecType, SpecDriver } from '@applitools/driver';
4
4
  import { type Socket } from '@applitools/socket';
5
5
  import { WebSocket } from 'ws';
6
6
  export declare function makeCore<TSpec extends SpecType, TType extends 'classic' | 'ufg'>(options: {
7
- agentId: string;
8
7
  spec: 'webdriver' | SpecDriver<TSpec>;
8
+ environment?: Record<string, any>;
9
+ agentId: string;
9
10
  }): Core<TSpec, TType>;
10
11
  export declare function makeManager<TSpec extends SpecType, TType extends 'classic' | 'ufg'>({ socket, core, managerRef, }: {
11
12
  socket: ClientSocket<TSpec, TType>;
@@ -17,7 +18,8 @@ export declare function makeEyes<TSpec extends SpecType, TType extends 'classic'
17
18
  core: Core<TSpec, TType>;
18
19
  eyesRef: Ref<Eyes<TSpec, TType>>;
19
20
  }): Eyes<TSpec, TType>;
20
- export declare function makeClientSocket<TSpec extends SpecType>({ agentId, spec, }: {
21
+ export declare function makeClientSocket<TSpec extends SpecType>({ agentId, environment, spec, }: {
21
22
  agentId: string;
23
+ environment?: Record<string, any>;
22
24
  spec: 'webdriver' | SpecDriver<TSpec>;
23
25
  }): Promise<ClientSocket<TSpec, 'classic' | 'ufg'> & Socket<WebSocket>>;
@@ -27,9 +27,10 @@ export type ClientSocket<TSpec extends SpecType, TType extends 'classic' | 'ufg'
27
27
  export type ServerSocket<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = unknown & Listener<Universalize<UniversalCore<TSpec, TType>, 'Core'>> & Emitter<Universalize<UniversalLogger, 'Logger'>> & Server<Universalize<MainCore.Core<TSpec, TType>, 'Core'>> & Server<Universalize<MainCore.EyesManager<TSpec, TType>, 'EyesManager', 'manager'>> & Server<Universalize<MainCore.Eyes<TSpec, TType>, 'Eyes', 'eyes'>> & Server<Universalize<UniversalDebug<TSpec>, 'Debug'>> & Client<Universalize<UniversalSpecDriver<TSpec>, 'Driver'>>;
28
28
  export interface UniversalCore<TSpec extends SpecType, TType extends 'classic' | 'ufg'> {
29
29
  makeCore(options: {
30
+ spec: 'webdriver' | (keyof UniversalSpecDriver<TSpec>)[];
30
31
  agentId: string;
32
+ environment?: Record<string, any>;
31
33
  cwd: string;
32
- spec: 'webdriver' | (keyof UniversalSpecDriver<TSpec>)[];
33
34
  }): Promise<MainCore.Core<TSpec, TType>>;
34
35
  }
35
36
  export interface UniversalLogger {
@@ -0,0 +1,2 @@
1
+ export declare function extractEnvironment(baseEnvironment?: Record<string, any>): Record<string, any>;
2
+ export declare function extractCIProvider(): string | null;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractCIProvider = void 0;
4
- function extractCIProvider() {
5
- if (process.env.TF_BUILD)
6
- return 'Azure';
7
- if (process.env['bamboo.buildKey'])
8
- return 'Bamboo';
9
- if (process.env.BUILDKITE)
10
- return 'Buildkite';
11
- if (process.env.CIRCLECI)
12
- return 'Circle';
13
- if (process.env.CIRRUS_CI)
14
- return 'Cirrus';
15
- if (process.env.CODEBUILD_BUILD_ID)
16
- return 'CodeBuild';
17
- if (process.env.GITHUB_ACTIONS)
18
- return 'GitHub Actions';
19
- if (process.env.GITLAB_CI)
20
- return 'GitLab';
21
- if (process.env.HEROKU_TEST_RUN_ID)
22
- return 'Heroku';
23
- if (process.env.BUILD_ID)
24
- return 'Jenkins';
25
- if (process.env.TEAMCITY_VERSION)
26
- return 'TeamCity';
27
- if (process.env.TRAVIS)
28
- return 'Travis';
29
- return null;
30
- }
31
- exports.extractCIProvider = extractCIProvider;
@@ -1 +0,0 @@
1
- export declare function extractCIProvider(): string | null;