@tvlabs/wdio-service 0.1.2 → 0.1.3

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <p align="center">
2
2
  <a href="https://tvlabs.ai">
3
- <img alt="TV Labs Logo" width="200" src="https://tvlabs.ai/images/tvlabs.svg">
3
+ <img alt="TV Labs Logo" width="200" src="https://tvlabs.ai/images/tvlabs.svg" />
4
4
  </a>
5
5
  </p>
6
6
 
@@ -39,7 +39,7 @@ yarn add @tvlabs/wdio-service
39
39
  To use this as a WebdriverIO test runner service, include the service in your WebdriverIO configuration file (e.g. `wdio.conf.ts`) with your TV Labs API key set in the options.
40
40
 
41
41
  ```javascript
42
- import TVLabsService from '@tvlabs/wdio-service';
42
+ import { TVLabsService } from '@tvlabs/wdio-service';
43
43
 
44
44
  export const config = {
45
45
  // ...
@@ -54,7 +54,7 @@ To use this with WebdriverIO remote but without the test runner, call the before
54
54
 
55
55
  ```javascript
56
56
  import { remote } from 'webdriverio';
57
- import TVLabsService from '@tvlabs/wdio-service';
57
+ import { TVLabsService } from '@tvlabs/wdio-service';
58
58
 
59
59
  const capabilities = { ... };
60
60
 
package/cjs/channel.d.ts CHANGED
@@ -21,7 +21,7 @@ export declare class TVLabsChannel {
21
21
  private push;
22
22
  private params;
23
23
  private reconnectAfterMs;
24
- private logSocketError;
25
24
  private tvlabsSessionLink;
25
+ private static logSocketError;
26
26
  }
27
27
  //# sourceMappingURL=channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAIlB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IAgBtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAlBlB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOZ;gBAGD,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ;IActB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,CACd,YAAY,EAAE,kBAAkB,EAChC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAI,GACR,OAAO,CAAC,MAAM,CAAC;YAWJ,WAAW;YAkBX,cAAc;IAsD5B,OAAO,CAAC,gBAAgB;YAUV,cAAc;YAuBd,IAAI;YAgBJ,IAAI;IAoBlB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;CAG1B"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAIlB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IAgBtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAlBlB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOZ;gBAGD,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ;IAgBtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,CACd,YAAY,EAAE,kBAAkB,EAChC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAI,GACR,OAAO,CAAC,MAAM,CAAC;YAWJ,WAAW;YAkBX,cAAc;IAsD5B,OAAO,CAAC,gBAAgB;YAUV,cAAc;YAuBd,IAAI;YAgBJ,IAAI;IAoBlB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,MAAM,CAAC,cAAc;CAU9B"}
package/cjs/channel.js CHANGED
@@ -33,7 +33,7 @@ class TVLabsChannel {
33
33
  params: this.params(),
34
34
  reconnectAfterMs: this.reconnectAfterMs.bind(this),
35
35
  });
36
- this.socket.onError(this.logSocketError);
36
+ this.socket.onError((...args) => TVLabsChannel.logSocketError(this.log, ...args));
37
37
  this.lobbyTopic = this.socket.channel('requests:lobby');
38
38
  }
39
39
  async disconnect() {
@@ -173,13 +173,12 @@ class TVLabsChannel {
173
173
  this.log.info(`[${tries}/${this.maxReconnectRetries}] Waiting ${wait}ms before re-attempting to connect...`);
174
174
  return wait;
175
175
  }
176
- logSocketError(event, _transport, _establishedConnections) {
177
- const error = event.error;
178
- const code = error && error.code;
179
- this.log.error('Socket error:', code || error || event);
180
- }
181
176
  tvlabsSessionLink(sessionId) {
182
177
  return `https://tvlabs.ai/app/sessions/${sessionId}`;
183
178
  }
179
+ static logSocketError(log, event, _transport, _establishedConnections) {
180
+ const error = event.error;
181
+ log.error('Socket error:', error || event);
182
+ }
184
183
  }
185
184
  exports.TVLabsChannel = TVLabsChannel;
package/cjs/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import TVLabsService from './service.js';
2
+ export { TVLabsService };
2
3
  export default TVLabsService;
3
4
  export * from './types.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,eAAe,aAAa,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,eAAe,aAAa,CAAC;AAC7B,cAAc,YAAY,CAAC"}
package/cjs/index.js CHANGED
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.TVLabsService = void 0;
17
18
  const service_js_1 = require("./service.js");
19
+ exports.TVLabsService = service_js_1.default;
18
20
  exports.default = service_js_1.default;
19
21
  __exportStar(require("./types.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwB3C,qBAAa,MAAM;IAEf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;gBADR,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,QAAiB;IAGrC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAUrB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAc3C,qBAAa,MAAM;IAEf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;gBADR,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,QAAiB;IAGrC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IASrB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC"}
package/cjs/logger.js CHANGED
@@ -1,15 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Logger = void 0;
4
- const chalk_1 = require("chalk");
5
- const LOG_LEVEL_COLORS = {
6
- error: chalk_1.default.red,
7
- warn: chalk_1.default.yellow,
8
- info: chalk_1.default.cyanBright,
9
- debug: chalk_1.default.green,
10
- trace: chalk_1.default.cyan,
11
- silent: chalk_1.default.gray,
12
- };
13
4
  const LOG_LEVELS = {
14
5
  error: 0,
15
6
  warn: 1,
@@ -33,8 +24,7 @@ class Logger {
33
24
  }
34
25
  formatMessage(level, ...args) {
35
26
  const timestamp = new Date().toISOString();
36
- const levelColor = LOG_LEVEL_COLORS[level];
37
- return `${chalk_1.default.gray(timestamp)} ${levelColor(level.toUpperCase())} ${chalk_1.default.white(this.name)}: ${args
27
+ return `${timestamp} ${level.toUpperCase()} ${this.name}: ${args
38
28
  .map((arg) => typeof arg === 'object' ? JSON.stringify(arg) : String(arg))
39
29
  .join(' ')}`;
40
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ,CAAC,eAAe;IAIlE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,GAAG,CAAS;gBAGV,QAAQ,EAAE,oBAAoB,EAC9B,aAAa,EAAE,YAAY,CAAC,8BAA8B,EAC1D,OAAO,EAAE,OAAO,CAAC,WAAW;IAQtC,SAAS,CACP,OAAO,EAAE,OAAO,CAAC,UAAU,EAC3B,KAAK,EAAE,YAAY,CAAC,sBAAsB;IAStC,aAAa,CACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EACjD,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM;IAmBd,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;CAGzB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ,CAAC,eAAe;IAIlE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,GAAG,CAAS;gBAGV,QAAQ,EAAE,oBAAoB,EAC9B,aAAa,EAAE,YAAY,CAAC,8BAA8B,EAC1D,OAAO,EAAE,OAAO,CAAC,WAAW;IAQtC,SAAS,CACP,OAAO,EAAE,OAAO,CAAC,UAAU,EAC3B,KAAK,EAAE,YAAY,CAAC,sBAAsB;IAStC,aAAa,CACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EACjD,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM;IAmBd,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;CAGzB"}
package/cjs/service.js CHANGED
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const webdriverio_1 = require("webdriverio");
4
4
  const crypto = require("crypto");
5
- const chalk_1 = require("chalk");
6
5
  const channel_js_1 = require("./channel.js");
7
6
  const logger_js_1 = require("./logger.js");
8
7
  class TVLabsService {
@@ -41,7 +40,7 @@ class TVLabsService {
41
40
  originalRequestOptions.headers = {};
42
41
  }
43
42
  this.setRequestHeader(originalRequestOptions.headers, 'x-request-id', requestId);
44
- this.log.info(chalk_1.default.blue('ATTACHED REQUEST ID'), requestId);
43
+ this.log.info('ATTACHED REQUEST ID', requestId);
45
44
  return originalRequestOptions;
46
45
  };
47
46
  }
package/esm/channel.d.ts CHANGED
@@ -21,7 +21,7 @@ export declare class TVLabsChannel {
21
21
  private push;
22
22
  private params;
23
23
  private reconnectAfterMs;
24
- private logSocketError;
25
24
  private tvlabsSessionLink;
25
+ private static logSocketError;
26
26
  }
27
27
  //# sourceMappingURL=channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAIlB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IAgBtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAlBlB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOZ;gBAGD,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ;IActB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,CACd,YAAY,EAAE,kBAAkB,EAChC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAI,GACR,OAAO,CAAC,MAAM,CAAC;YAWJ,WAAW;YAkBX,cAAc;IAsD5B,OAAO,CAAC,gBAAgB;YAUV,cAAc;YAuBd,IAAI;YAgBJ,IAAI;IAoBlB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;CAG1B"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAIlB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IAgBtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAlBlB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOZ;gBAGD,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ;IAgBtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,CACd,YAAY,EAAE,kBAAkB,EAChC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAI,GACR,OAAO,CAAC,MAAM,CAAC;YAWJ,WAAW;YAkBX,cAAc;IAsD5B,OAAO,CAAC,gBAAgB;YAUV,cAAc;YAuBd,IAAI;YAgBJ,IAAI;IAoBlB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,MAAM,CAAC,cAAc;CAU9B"}
package/esm/channel.js CHANGED
@@ -30,7 +30,7 @@ export class TVLabsChannel {
30
30
  params: this.params(),
31
31
  reconnectAfterMs: this.reconnectAfterMs.bind(this),
32
32
  });
33
- this.socket.onError(this.logSocketError);
33
+ this.socket.onError((...args) => TVLabsChannel.logSocketError(this.log, ...args));
34
34
  this.lobbyTopic = this.socket.channel('requests:lobby');
35
35
  }
36
36
  async disconnect() {
@@ -170,12 +170,11 @@ export class TVLabsChannel {
170
170
  this.log.info(`[${tries}/${this.maxReconnectRetries}] Waiting ${wait}ms before re-attempting to connect...`);
171
171
  return wait;
172
172
  }
173
- logSocketError(event, _transport, _establishedConnections) {
174
- const error = event.error;
175
- const code = error && error.code;
176
- this.log.error('Socket error:', code || error || event);
177
- }
178
173
  tvlabsSessionLink(sessionId) {
179
174
  return `https://tvlabs.ai/app/sessions/${sessionId}`;
180
175
  }
176
+ static logSocketError(log, event, _transport, _establishedConnections) {
177
+ const error = event.error;
178
+ log.error('Socket error:', error || event);
179
+ }
181
180
  }
package/esm/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import TVLabsService from './service.js';
2
+ export { TVLabsService };
2
3
  export default TVLabsService;
3
4
  export * from './types.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,eAAe,aAAa,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,eAAe,aAAa,CAAC;AAC7B,cAAc,YAAY,CAAC"}
package/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  import TVLabsService from './service.js';
2
+ export { TVLabsService };
2
3
  export default TVLabsService;
3
4
  export * from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwB3C,qBAAa,MAAM;IAEf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;gBADR,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,QAAiB;IAGrC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAUrB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAc3C,qBAAa,MAAM;IAEf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;gBADR,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,QAAiB;IAGrC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IASrB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC"}
package/esm/logger.js CHANGED
@@ -1,12 +1,3 @@
1
- import chalk from 'chalk';
2
- const LOG_LEVEL_COLORS = {
3
- error: chalk.red,
4
- warn: chalk.yellow,
5
- info: chalk.cyanBright,
6
- debug: chalk.green,
7
- trace: chalk.cyan,
8
- silent: chalk.gray,
9
- };
10
1
  const LOG_LEVELS = {
11
2
  error: 0,
12
3
  warn: 1,
@@ -30,8 +21,7 @@ export class Logger {
30
21
  }
31
22
  formatMessage(level, ...args) {
32
23
  const timestamp = new Date().toISOString();
33
- const levelColor = LOG_LEVEL_COLORS[level];
34
- return `${chalk.gray(timestamp)} ${levelColor(level.toUpperCase())} ${chalk.white(this.name)}: ${args
24
+ return `${timestamp} ${level.toUpperCase()} ${this.name}: ${args
35
25
  .map((arg) => typeof arg === 'object' ? JSON.stringify(arg) : String(arg))
36
26
  .join(' ')}`;
37
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ,CAAC,eAAe;IAIlE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,GAAG,CAAS;gBAGV,QAAQ,EAAE,oBAAoB,EAC9B,aAAa,EAAE,YAAY,CAAC,8BAA8B,EAC1D,OAAO,EAAE,OAAO,CAAC,WAAW;IAQtC,SAAS,CACP,OAAO,EAAE,OAAO,CAAC,UAAU,EAC3B,KAAK,EAAE,YAAY,CAAC,sBAAsB;IAStC,aAAa,CACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EACjD,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM;IAmBd,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;CAGzB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ,CAAC,eAAe;IAIlE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,GAAG,CAAS;gBAGV,QAAQ,EAAE,oBAAoB,EAC9B,aAAa,EAAE,YAAY,CAAC,8BAA8B,EAC1D,OAAO,EAAE,OAAO,CAAC,WAAW;IAQtC,SAAS,CACP,OAAO,EAAE,OAAO,CAAC,UAAU,EAC3B,KAAK,EAAE,YAAY,CAAC,sBAAsB;IAStC,aAAa,CACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EACjD,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM;IAmBd,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;CAGzB"}
package/esm/service.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { SevereServiceError } from 'webdriverio';
2
2
  import * as crypto from 'crypto';
3
- import chalk from 'chalk';
4
3
  import { TVLabsChannel } from './channel.js';
5
4
  import { Logger } from './logger.js';
6
5
  export default class TVLabsService {
@@ -39,7 +38,7 @@ export default class TVLabsService {
39
38
  originalRequestOptions.headers = {};
40
39
  }
41
40
  this.setRequestHeader(originalRequestOptions.headers, 'x-request-id', requestId);
42
- this.log.info(chalk.blue('ATTACHED REQUEST ID'), requestId);
41
+ this.log.info('ATTACHED REQUEST ID', requestId);
43
42
  return originalRequestOptions;
44
43
  };
45
44
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tvlabs/wdio-service",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "WebdriverIO service that provides a better integration into TV Labs",
5
5
  "author": "Regan Karlewicz <regan@tvlabs.ai>",
6
6
  "license": "Apache-2.0",
@@ -62,7 +62,6 @@
62
62
  "webdriverio": "^9.12.1"
63
63
  },
64
64
  "dependencies": {
65
- "chalk": "^5.1.2",
66
65
  "phoenix": "^1.7.20",
67
66
  "ws": "^8.18.3"
68
67
  }
package/src/channel.ts CHANGED
@@ -40,7 +40,9 @@ export class TVLabsChannel {
40
40
  reconnectAfterMs: this.reconnectAfterMs.bind(this),
41
41
  });
42
42
 
43
- this.socket.onError(this.logSocketError);
43
+ this.socket.onError((...args) =>
44
+ TVLabsChannel.logSocketError(this.log, ...args),
45
+ );
44
46
 
45
47
  this.lobbyTopic = this.socket.channel('requests:lobby');
46
48
  }
@@ -248,18 +250,18 @@ export class TVLabsChannel {
248
250
  return wait;
249
251
  }
250
252
 
251
- private logSocketError(
253
+ private tvlabsSessionLink(sessionId: string) {
254
+ return `https://tvlabs.ai/app/sessions/${sessionId}`;
255
+ }
256
+
257
+ private static logSocketError(
258
+ log: Logger,
252
259
  event: ErrorEvent,
253
260
  _transport: new (endpoint: string) => object,
254
261
  _establishedConnections: number,
255
262
  ) {
256
263
  const error = event.error;
257
- const code = error && error.code;
258
264
 
259
- this.log.error('Socket error:', code || error || event);
260
- }
261
-
262
- private tvlabsSessionLink(sessionId: string) {
263
- return `https://tvlabs.ai/app/sessions/${sessionId}`;
265
+ log.error('Socket error:', error || event);
264
266
  }
265
267
  }
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import TVLabsService from './service.js';
2
2
 
3
+ export { TVLabsService };
3
4
  export default TVLabsService;
4
5
  export * from './types.js';
package/src/logger.ts CHANGED
@@ -1,18 +1,8 @@
1
1
  import type { LogLevel } from './types.js';
2
- import chalk from 'chalk';
3
2
 
4
3
  // TODO: Replace this with @wdio/logger
5
4
  // It is currently not compatible with CJS
6
5
 
7
- const LOG_LEVEL_COLORS: Record<LogLevel, typeof chalk> = {
8
- error: chalk.red,
9
- warn: chalk.yellow,
10
- info: chalk.cyanBright,
11
- debug: chalk.green,
12
- trace: chalk.cyan,
13
- silent: chalk.gray,
14
- };
15
-
16
6
  const LOG_LEVELS: Record<LogLevel, number> = {
17
7
  error: 0,
18
8
  warn: 1,
@@ -37,8 +27,7 @@ export class Logger {
37
27
 
38
28
  private formatMessage(level: LogLevel, ...args: unknown[]): string {
39
29
  const timestamp = new Date().toISOString();
40
- const levelColor = LOG_LEVEL_COLORS[level];
41
- return `${chalk.gray(timestamp)} ${levelColor(level.toUpperCase())} ${chalk.white(this.name)}: ${args
30
+ return `${timestamp} ${level.toUpperCase()} ${this.name}: ${args
42
31
  .map((arg) =>
43
32
  typeof arg === 'object' ? JSON.stringify(arg) : String(arg),
44
33
  )
package/src/service.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { SevereServiceError } from 'webdriverio';
2
2
  import * as crypto from 'crypto';
3
- import chalk from 'chalk';
4
3
 
5
4
  import { TVLabsChannel } from './channel.js';
6
5
  import { Logger } from './logger.js';
@@ -80,7 +79,7 @@ export default class TVLabsService implements Services.ServiceInstance {
80
79
  requestId,
81
80
  );
82
81
 
83
- this.log.info(chalk.blue('ATTACHED REQUEST ID'), requestId);
82
+ this.log.info('ATTACHED REQUEST ID', requestId);
84
83
 
85
84
  return originalRequestOptions;
86
85
  };