@dev-blinq/cucumber_client 1.0.1369-stage → 1.0.1370-stage

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.
@@ -1,29 +1,61 @@
1
1
  import { io } from "socket.io-client";
2
2
  import { BVTRecorderInit } from "./bvt_init.js";
3
+ import { loadArgs, showUsage, validateCLIArg } from "../cli_helpers.js";
3
4
  const requiredEnvVars = ["PROJECT_ID", "BLINQ_TOKEN", "SESSION_ID", "WORKER_WS_SERVER_URL", "REMOTE_ORIGINS_URL"];
4
5
  function validateEnvVariables() {
5
6
  const missingVars = requiredEnvVars.filter((varName) => !process.env[varName]);
6
7
  if (missingVars.length > 0) {
7
8
  throw new Error(`Missing required environment variables: ${missingVars.join(", ")}`);
8
9
  }
10
+ else {
11
+ console.log("All required environment variables are set.");
12
+ requiredEnvVars.forEach((varName) => {
13
+ console.log(`${varName}: ${process.env[varName]}`);
14
+ });
15
+ }
9
16
  }
10
- const socket = io(process.env.WORKER_WS_SERVER_URL, {
11
- path: "/ws",
12
- transports: ["websocket", "polling"],
13
- reconnection: true,
14
- });
15
- function initWebBVTRecorder(socket) {
16
- validateEnvVariables();
17
- const WORKER_WS_SERVER_URL = process.env.WORKER_WS_SERVER_URL;
18
- const PROJECT_ID = process.env.PROJECT_ID;
17
+ function getEnvironmentConfig() {
18
+ const args = loadArgs();
19
+ const projectDir = args[0] || process.env.PROJECT_ID;
20
+ const envName = args[1]?.split("=")[1] || process.env.ENV_NAME;
21
+ const roomId = args[2] || process.env.SESSION_ID;
22
+ const shouldTakeScreenshot = args[3] || process.env.SHOULD_TAKE_SCREENSHOT;
19
23
  const TOKEN = process.env.BLINQ_TOKEN;
20
- const ROOM_ID = process.env.SESSION_ID;
24
+ try {
25
+ validateCLIArg(projectDir, "projectDir");
26
+ validateCLIArg(envName, "envName");
27
+ validateCLIArg(roomId, "roomId");
28
+ validateCLIArg(shouldTakeScreenshot, "shouldTakeScreenshot");
29
+ if (!TOKEN) {
30
+ throw new Error("BLINQ_TOKEN env variable not set");
31
+ }
32
+ }
33
+ catch (error) {
34
+ const usage = `Usage: node bvt_recorder.js <projectDir> <envName> <roomId>`;
35
+ if (error instanceof Error) {
36
+ showUsage(error, usage);
37
+ }
38
+ else {
39
+ const unknownError = new Error("An unknown error occurred");
40
+ showUsage(unknownError, usage);
41
+ }
42
+ }
43
+ return { envName, projectDir, roomId, TOKEN };
44
+ }
45
+ function initWebBVTRecorder() {
46
+ const socket = io(process.env.WORKER_WS_SERVER_URL, {
47
+ path: "/ws",
48
+ transports: ["websocket", "polling"],
49
+ reconnection: true,
50
+ });
51
+ validateEnvVariables();
52
+ const { envName, projectDir, roomId, TOKEN } = getEnvironmentConfig();
21
53
  BVTRecorderInit({
22
- envName: WORKER_WS_SERVER_URL,
23
- projectDir: PROJECT_ID,
24
- roomId: ROOM_ID,
25
- TOKEN: TOKEN,
54
+ envName: envName,
55
+ projectDir,
56
+ roomId,
57
+ TOKEN,
26
58
  socket: socket,
27
59
  });
28
60
  }
29
- initWebBVTRecorder(socket);
61
+ initWebBVTRecorder();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dev-blinq/cucumber_client",
3
- "version": "1.0.1369-stage",
3
+ "version": "1.0.1370-stage",
4
4
  "description": " ",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",