testplane 8.25.1 → 8.25.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.
Files changed (115) hide show
  1. package/build/package.json +4 -3
  2. package/build/src/browser/browser.d.ts +4 -2
  3. package/build/src/browser/browser.js +29 -2
  4. package/build/src/browser/browser.js.map +1 -1
  5. package/build/src/browser/calibrator.d.ts +18 -16
  6. package/build/src/browser/calibrator.js +43 -50
  7. package/build/src/browser/calibrator.js.map +1 -1
  8. package/build/src/browser/camera/index.d.ts +29 -13
  9. package/build/src/browser/camera/index.js +37 -8
  10. package/build/src/browser/camera/index.js.map +1 -1
  11. package/build/src/browser/camera/utils.d.ts +2 -1
  12. package/build/src/browser/camera/utils.js +4 -11
  13. package/build/src/browser/camera/utils.js.map +1 -1
  14. package/build/src/browser/client-bridge/client-bridge.d.ts +11 -11
  15. package/build/src/browser/client-bridge/client-bridge.js +21 -16
  16. package/build/src/browser/client-bridge/client-bridge.js.map +1 -1
  17. package/build/src/browser/client-bridge/index.d.ts +7 -2
  18. package/build/src/browser/client-bridge/index.js +16 -10
  19. package/build/src/browser/client-bridge/index.js.map +1 -1
  20. package/build/src/browser/commands/assert-view/errors/image-diff-error.js +2 -5
  21. package/build/src/browser/commands/assert-view/errors/image-diff-error.js.map +1 -1
  22. package/build/src/browser/commands/assert-view/index.js +1 -1
  23. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  24. package/build/src/browser/commands/clearSession.js +24 -4
  25. package/build/src/browser/commands/clearSession.js.map +1 -1
  26. package/build/src/browser/commands/index.d.ts +1 -2
  27. package/build/src/browser/commands/index.js +3 -1
  28. package/build/src/browser/commands/index.js.map +1 -1
  29. package/build/src/browser/commands/switchToRepl.js +26 -3
  30. package/build/src/browser/commands/switchToRepl.js.map +1 -1
  31. package/build/src/browser/existing-browser.d.ts +61 -159
  32. package/build/src/browser/existing-browser.js +114 -74
  33. package/build/src/browser/existing-browser.js.map +1 -1
  34. package/build/src/browser/history/callstack.d.ts +9 -8
  35. package/build/src/browser/history/callstack.js +28 -17
  36. package/build/src/browser/history/callstack.js.map +1 -1
  37. package/build/src/browser/history/index.d.ts +5 -4
  38. package/build/src/browser/history/index.js +102 -64
  39. package/build/src/browser/history/index.js.map +1 -1
  40. package/build/src/browser/history/utils.d.ts +11 -8
  41. package/build/src/browser/history/utils.js +23 -14
  42. package/build/src/browser/history/utils.js.map +1 -1
  43. package/build/src/browser/stacktrace/index.js +1 -1
  44. package/build/src/browser/stacktrace/index.js.map +1 -1
  45. package/build/src/browser/stacktrace/utils.d.ts +1 -1
  46. package/build/src/browser/stacktrace/utils.js +27 -4
  47. package/build/src/browser/stacktrace/utils.js.map +1 -1
  48. package/build/src/browser/types.d.ts +1 -1
  49. package/build/src/browser-installer/registry/index.js +4 -4
  50. package/build/src/browser-installer/registry/index.js.map +1 -1
  51. package/build/src/browser-installer/ubuntu-packages/index.js +25 -2
  52. package/build/src/browser-installer/ubuntu-packages/index.js.map +1 -1
  53. package/build/src/browser-pool/basic-pool.js +1 -1
  54. package/build/src/browser-pool/basic-pool.js.map +1 -1
  55. package/build/src/bundle/@wdio-utils.d.ts +1 -1
  56. package/build/src/cli/commands/config/index.js +24 -4
  57. package/build/src/cli/commands/config/index.js.map +1 -1
  58. package/build/src/cli/commands/install-deps/index.js +25 -5
  59. package/build/src/cli/commands/install-deps/index.js.map +1 -1
  60. package/build/src/cli/commands/list-browsers/index.js +25 -2
  61. package/build/src/cli/commands/list-browsers/index.js.map +1 -1
  62. package/build/src/cli/commands/list-tests/index.js +30 -6
  63. package/build/src/cli/commands/list-tests/index.js.map +1 -1
  64. package/build/src/cli/index.js +28 -5
  65. package/build/src/cli/index.js.map +1 -1
  66. package/build/src/config/browser-options.js +9 -5
  67. package/build/src/config/browser-options.js.map +1 -1
  68. package/build/src/config/index.js +2 -2
  69. package/build/src/config/index.js.map +1 -1
  70. package/build/src/config/types.d.ts +1 -1
  71. package/build/src/constants/help.d.ts +1 -0
  72. package/build/src/constants/help.js +5 -0
  73. package/build/src/constants/help.js.map +1 -0
  74. package/build/src/dev-server/index.js +24 -1
  75. package/build/src/dev-server/index.js.map +1 -1
  76. package/build/src/dev-server/utils.js +30 -7
  77. package/build/src/dev-server/utils.js.map +1 -1
  78. package/build/src/error-snippets/frames.js +25 -2
  79. package/build/src/error-snippets/frames.js.map +1 -1
  80. package/build/src/image.d.ts +52 -53
  81. package/build/src/image.js +29 -23
  82. package/build/src/image.js.map +1 -1
  83. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +25 -2
  84. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
  85. package/build/src/runner/browser-env/vite/plugins/mock.js +26 -3
  86. package/build/src/runner/browser-env/vite/plugins/mock.js.map +1 -1
  87. package/build/src/runner/browser-env/vite/server.js +2 -2
  88. package/build/src/runner/browser-env/vite/server.js.map +1 -1
  89. package/build/src/test-reader/test-parser.js +25 -2
  90. package/build/src/test-reader/test-parser.js.map +1 -1
  91. package/build/src/testplane.js +26 -3
  92. package/build/src/testplane.js.map +1 -1
  93. package/build/src/types/index.d.ts +2 -1
  94. package/build/src/types/index.js.map +1 -1
  95. package/build/src/utils/cli.js +25 -2
  96. package/build/src/utils/cli.js.map +1 -1
  97. package/build/src/utils/logger.d.ts +3 -3
  98. package/build/src/utils/logger.js +11 -8
  99. package/build/src/utils/logger.js.map +1 -1
  100. package/build/src/utils/page-loader.js +27 -4
  101. package/build/src/utils/page-loader.js.map +1 -1
  102. package/build/src/utils/typescript.js +27 -4
  103. package/build/src/utils/typescript.js.map +1 -1
  104. package/build/src/validators.js +25 -2
  105. package/build/src/validators.js.map +1 -1
  106. package/build/src/worker/browser-env/runner/test-runner/index.js +2 -2
  107. package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -1
  108. package/build/src/worker/runner/browser-agent.d.ts +1 -1
  109. package/build/src/worker/runner/browser-pool.d.ts +3 -2
  110. package/build/src/worker/runner/browser-pool.js +3 -3
  111. package/build/src/worker/runner/browser-pool.js.map +1 -1
  112. package/build/src/worker/runner/test-runner/one-time-screenshooter.d.ts +1 -4
  113. package/build/src/worker/runner/test-runner/one-time-screenshooter.js +1 -1
  114. package/build/src/worker/runner/test-runner/one-time-screenshooter.js.map +1 -1
  115. package/package.json +4 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testplane",
3
- "version": "8.25.1",
3
+ "version": "8.25.3",
4
4
  "description": "Tests framework based on mocha and wdio",
5
5
  "main": "build/src/index.js",
6
6
  "files": [
@@ -55,7 +55,7 @@
55
55
  "@babel/code-frame": "7.24.2",
56
56
  "@gemini-testing/commander": "2.15.4",
57
57
  "@jspm/core": "2.0.1",
58
- "@puppeteer/browsers": "2.4.0",
58
+ "@puppeteer/browsers": "2.7.1",
59
59
  "@vitest/spy": "2.1.4",
60
60
  "@wdio/protocols": "8.38.0",
61
61
  "@wdio/utils": "8.39.0",
@@ -132,6 +132,7 @@
132
132
  "@types/sharp": "0.31.1",
133
133
  "@types/sinon": "17.0.1",
134
134
  "@types/sinonjs__fake-timers": "8.1.2",
135
+ "@types/strftime": "0.9.8",
135
136
  "@types/urijs": "1.19.25",
136
137
  "@types/url-join": "4.0.3",
137
138
  "@types/yallist": "4.0.4",
@@ -151,8 +152,8 @@
151
152
  "eslint": "8.25.0",
152
153
  "eslint-config-gemini-testing": "2.8.0",
153
154
  "eslint-config-prettier": "8.7.0",
154
- "glob-extra": "5.0.2",
155
155
  "execa": "5.1.1",
156
+ "glob-extra": "5.0.2",
156
157
  "husky": "0.11.4",
157
158
  "js-levenshtein": "1.1.6",
158
159
  "jsdom": "^24.0.0",
@@ -1,14 +1,14 @@
1
1
  import { Config } from "../config";
2
2
  import { AsyncEmitter } from "../events";
3
3
  import { BrowserConfig } from "../config/browser-config";
4
- import Callstack from "./history/callstack";
4
+ import type { Callstack } from "./history/callstack";
5
5
  import type { WdProcess, WebdriverPool } from "../browser-pool/webdriver-pool";
6
6
  import type { Capabilities } from "@wdio/types";
7
7
  export type BrowserOpts = {
8
8
  id: string;
9
9
  version?: string;
10
10
  state?: Record<string, unknown>;
11
- emitter?: AsyncEmitter;
11
+ emitter: AsyncEmitter;
12
12
  wdPool?: WebdriverPool;
13
13
  };
14
14
  export type BrowserState = {
@@ -21,6 +21,7 @@ export type CustomCommend = {
21
21
  elementScope: boolean;
22
22
  };
23
23
  export declare class Browser {
24
+ protected _emitter: AsyncEmitter;
24
25
  protected _config: BrowserConfig;
25
26
  protected _debug: boolean;
26
27
  protected _session: WebdriverIO.Browser | null;
@@ -51,4 +52,5 @@ export declare class Browser {
51
52
  get capabilities(): Capabilities.RemoteCapability;
52
53
  get callstackHistory(): Callstack;
53
54
  get customCommands(): CustomCommend[];
55
+ get emitter(): AsyncEmitter;
54
56
  }
@@ -1,4 +1,27 @@
1
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
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -8,7 +31,7 @@ const crypto_1 = __importDefault(require("crypto"));
8
31
  const lodash_1 = __importDefault(require("lodash"));
9
32
  const config_1 = require("../constants/config");
10
33
  const browser_1 = require("../constants/browser");
11
- const history_1 = __importDefault(require("./history"));
34
+ const history = __importStar(require("./history"));
12
35
  const stacktrace_1 = require("./stacktrace");
13
36
  const commands_1 = require("./history/commands");
14
37
  const runStep_1 = __importDefault(require("./commands/runStep"));
@@ -42,6 +65,7 @@ class Browser {
42
65
  };
43
66
  this._customCommands = new Set();
44
67
  this._wdPool = opts.wdPool;
68
+ this._emitter = opts.emitter;
45
69
  }
46
70
  setHttpTimeout(timeout) {
47
71
  if (timeout === null) {
@@ -66,7 +90,7 @@ class Browser {
66
90
  }
67
91
  _addHistory() {
68
92
  if (this._config.saveHistoryMode !== config_1.SAVE_HISTORY_MODE.NONE) {
69
- this._callstackHistory = history_1.default.initCommandHistory(this._session);
93
+ this._callstackHistory = history.initCommandHistory(this._session);
70
94
  }
71
95
  }
72
96
  _addExtendOptionsMethod(session) {
@@ -132,6 +156,9 @@ class Browser {
132
156
  const allCustomCommands = Array.from(this._customCommands);
133
157
  return lodash_1.default.uniqWith(allCustomCommands, lodash_1.default.isEqual);
134
158
  }
159
+ get emitter() {
160
+ return this._emitter;
161
+ }
135
162
  }
136
163
  exports.Browser = Browser;
137
164
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/browser/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/browser/browser.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
- export = Calibrator;
2
- declare class Calibrator {
3
- _cache: {};
4
- _script: string;
5
- /**
6
- * @param {Browser} browser
7
- * @returns {Promise.<CalibrationResult>}
8
- */
9
- calibrate(browser: Browser): Promise<CalibrationResult>;
10
- _analyzeImage(image: any, params: any): globalThis.Promise<{
11
- viewportStart: {
12
- x: number;
13
- y: any;
14
- };
15
- } | null>;
1
+ import { ExistingBrowser } from "./existing-browser";
2
+ interface BrowserFeatures {
3
+ needsCompatLib: boolean;
4
+ pixelRatio: number;
5
+ innerWidth: number;
16
6
  }
17
- import Promise = require("bluebird");
7
+ export interface CalibrationResult extends BrowserFeatures {
8
+ top: number;
9
+ left: number;
10
+ usePixelRatio: boolean;
11
+ }
12
+ export declare class Calibrator {
13
+ private _cache;
14
+ private _script;
15
+ constructor();
16
+ calibrate(browser: ExistingBrowser): Promise<CalibrationResult>;
17
+ private _analyzeImage;
18
+ }
19
+ export {};
@@ -1,54 +1,53 @@
1
1
  "use strict";
2
- const fs = require("fs");
3
- const path = require("path");
4
- const Promise = require("bluebird");
5
- const _ = require("lodash");
6
- const looksSame = require("looks-same");
7
- const { CoreError } = require("./core-error");
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Calibrator = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const looks_same_1 = __importDefault(require("looks-same"));
10
+ const core_error_1 = require("./core-error");
8
11
  const DIRECTION = { FORWARD: "forward", REVERSE: "reverse" };
9
- module.exports = class Calibrator {
12
+ class Calibrator {
10
13
  constructor() {
11
14
  this._cache = {};
12
- this._script = fs.readFileSync(path.join(__dirname, "client-scripts", "calibrate.js"), "utf8");
15
+ this._script = fs_1.default.readFileSync(path_1.default.join(__dirname, "client-scripts", "calibrate.js"), "utf8");
13
16
  }
14
- /**
15
- * @param {Browser} browser
16
- * @returns {Promise.<CalibrationResult>}
17
- */
18
- calibrate(browser) {
17
+ async calibrate(browser) {
19
18
  if (this._cache[browser.id]) {
20
- return Promise.resolve(this._cache[browser.id]);
19
+ return this._cache[browser.id];
21
20
  }
22
- return Promise.resolve(browser.open("about:blank"))
23
- .then(() => browser.evalScript(this._script))
24
- .then(features => [features, browser.captureViewportImage()])
25
- .spread(async (features, image) => {
26
- const { innerWidth, pixelRatio } = features;
27
- const hasPixelRatio = Boolean(pixelRatio && pixelRatio > 1.0);
28
- const imageFeatures = await this._analyzeImage(image, { calculateColorLength: hasPixelRatio });
29
- if (!imageFeatures) {
30
- return Promise.reject(new CoreError("Could not calibrate. This could be due to calibration page has failed to open properly"));
31
- }
32
- features = _.extend(features, {
33
- top: imageFeatures.viewportStart.y,
34
- left: imageFeatures.viewportStart.x,
35
- usePixelRatio: hasPixelRatio && imageFeatures.colorLength > innerWidth,
36
- });
37
- this._cache[browser.id] = features;
38
- return features;
39
- });
21
+ await browser.open("about:blank");
22
+ const features = await browser.evalScript(this._script);
23
+ const image = await browser.captureViewportImage();
24
+ const { innerWidth, pixelRatio } = features;
25
+ const hasPixelRatio = Boolean(pixelRatio && pixelRatio > 1.0);
26
+ const imageFeatures = await this._analyzeImage(image, { calculateColorLength: hasPixelRatio });
27
+ if (!imageFeatures) {
28
+ throw new core_error_1.CoreError("Could not calibrate. This could be due to calibration page has failed to open properly");
29
+ }
30
+ const calibratedFeatures = {
31
+ ...features,
32
+ top: imageFeatures.viewportStart.y,
33
+ left: imageFeatures.viewportStart.x,
34
+ usePixelRatio: hasPixelRatio && imageFeatures.colorLength > innerWidth,
35
+ };
36
+ this._cache[browser.id] = calibratedFeatures;
37
+ return calibratedFeatures;
40
38
  }
41
39
  async _analyzeImage(image, params) {
42
40
  const imageHeight = (await image.getSize()).height;
43
- for (var y = 0; y < imageHeight; y++) {
44
- var result = await analyzeRow(y, image, params);
41
+ for (let y = 0; y < imageHeight; y++) {
42
+ const result = await analyzeRow(y, image, params);
45
43
  if (result) {
46
44
  return result;
47
45
  }
48
46
  }
49
47
  return null;
50
48
  }
51
- };
49
+ }
50
+ exports.Calibrator = Calibrator;
52
51
  async function analyzeRow(row, image, params = {}) {
53
52
  const markerStart = await findMarkerInRow(row, image, DIRECTION.FORWARD);
54
53
  if (markerStart === -1) {
@@ -60,7 +59,7 @@ async function analyzeRow(row, image, params = {}) {
60
59
  }
61
60
  const markerEnd = await findMarkerInRow(row, image, DIRECTION.REVERSE);
62
61
  const colorLength = markerEnd - markerStart + 1;
63
- return _.extend(result, { colorLength });
62
+ return { ...result, colorLength };
64
63
  }
65
64
  async function findMarkerInRow(row, image, searchDirection) {
66
65
  const imageWidth = (await image.getSize()).width;
@@ -72,34 +71,28 @@ async function findMarkerInRow(row, image, searchDirection) {
72
71
  return searchForward_();
73
72
  }
74
73
  async function searchForward_() {
75
- for (var x = 0; x < imageWidth; x++) {
76
- var isSame = await compare_(x);
77
- if (isSame) {
74
+ for (let x = 0; x < imageWidth; x++) {
75
+ if (await compare_(x)) {
78
76
  return x;
79
77
  }
80
78
  }
81
79
  return -1;
82
80
  }
83
81
  async function searchReverse_() {
84
- for (var x = imageWidth - 1; x >= 0; x--) {
85
- var isSame = await compare_(x);
86
- if (isSame) {
82
+ for (let x = imageWidth - 1; x >= 0; x--) {
83
+ if (await compare_(x)) {
87
84
  return x;
88
85
  }
89
86
  }
90
87
  return -1;
91
88
  }
92
89
  async function compare_(x) {
93
- var pixel = await image.getRGBA(x, row);
94
- var color = pickRGB(pixel);
95
- return looksSame.colors(color, searchColor);
90
+ const pixel = await image.getRGBA(x, row);
91
+ const color = pickRGB(pixel);
92
+ return looks_same_1.default.colors(color, searchColor);
96
93
  }
97
94
  }
98
95
  function pickRGB(rgba) {
99
- return {
100
- R: rgba.r,
101
- G: rgba.g,
102
- B: rgba.b,
103
- };
96
+ return { R: rgba.r, G: rgba.g, B: rgba.b };
104
97
  }
105
98
  //# sourceMappingURL=calibrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calibrator.js","sourceRoot":"","sources":["../../../src/browser/calibrator.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calibrator.js","sourceRoot":"","sources":["../../../src/browser/calibrator.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,29 @@
1
- export = Camera;
2
- declare class Camera {
3
- static create(screenshotMode: any, takeScreenshot: any): import(".");
4
- constructor(screenshotMode: any, takeScreenshot: any);
5
- _screenshotMode: any;
6
- _takeScreenshot: any;
7
- _calibration: any;
8
- calibrate(calibration: any): void;
9
- captureViewportImage(page: any): Promise<Image>;
10
- _calibrateArea(imageArea: any): any;
11
- _cropAreaToViewport(imageArea: any, page: any): any;
12
- }
13
- import Image = require("../../image");
1
+ import { Image } from "../../image";
2
+ export interface ImageArea {
3
+ left: number;
4
+ top: number;
5
+ width: number;
6
+ height: number;
7
+ }
8
+ export type ScreenshotMode = "fullpage" | "viewport" | "auto";
9
+ export interface PageMeta {
10
+ viewport: ImageArea;
11
+ documentHeight: number;
12
+ documentWidth: number;
13
+ }
14
+ interface Calibration {
15
+ left: number;
16
+ top: number;
17
+ }
18
+ export declare class Camera {
19
+ private _screenshotMode;
20
+ private _takeScreenshot;
21
+ private _calibration;
22
+ static create(screenshotMode: ScreenshotMode, takeScreenshot: () => Promise<string>): Camera;
23
+ constructor(screenshotMode: ScreenshotMode, takeScreenshot: () => Promise<string>);
24
+ calibrate(calibration: Calibration): void;
25
+ captureViewportImage(page?: PageMeta): Promise<Image>;
26
+ private _calibrateArea;
27
+ private _cropAreaToViewport;
28
+ }
29
+ export {};
@@ -1,8 +1,36 @@
1
1
  "use strict";
2
- const Image = require("../../image");
3
- const _ = require("lodash");
4
- const utils = require("./utils");
5
- module.exports = class Camera {
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Camera = void 0;
30
+ const lodash_1 = __importDefault(require("lodash"));
31
+ const image_1 = require("../../image");
32
+ const utils = __importStar(require("./utils"));
33
+ class Camera {
6
34
  static create(screenshotMode, takeScreenshot) {
7
35
  return new this(screenshotMode, takeScreenshot);
8
36
  }
@@ -16,7 +44,7 @@ module.exports = class Camera {
16
44
  }
17
45
  async captureViewportImage(page) {
18
46
  const base64 = await this._takeScreenshot();
19
- const image = Image.fromBase64(base64);
47
+ const image = image_1.Image.fromBase64(base64);
20
48
  const { width, height } = await image.getSize();
21
49
  const imageArea = { left: 0, top: 0, width, height };
22
50
  const calibratedArea = this._calibrateArea(imageArea);
@@ -38,9 +66,9 @@ module.exports = class Camera {
38
66
  return imageArea;
39
67
  }
40
68
  const isFullPage = utils.isFullPage(imageArea, page, this._screenshotMode);
41
- const cropArea = _.clone(page.viewport);
69
+ const cropArea = lodash_1.default.clone(page.viewport);
42
70
  if (!isFullPage) {
43
- _.extend(cropArea, { top: 0, left: 0 });
71
+ lodash_1.default.extend(cropArea, { top: 0, left: 0 });
44
72
  }
45
73
  return {
46
74
  left: imageArea.left + cropArea.left,
@@ -49,5 +77,6 @@ module.exports = class Camera {
49
77
  height: Math.min(imageArea.height - cropArea.top, cropArea.height),
50
78
  };
51
79
  }
52
- };
80
+ }
81
+ exports.Camera = Camera;
53
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/camera/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/camera/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
- export function isFullPage(imageArea: any, page: any, screenshotMode: any): boolean | undefined;
1
+ import { ImageArea, PageMeta, ScreenshotMode } from ".";
2
+ export declare const isFullPage: (imageArea: ImageArea, page: PageMeta, screenshotMode: ScreenshotMode) => boolean;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
- exports.isFullPage = (imageArea, page, screenshotMode) => {
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFullPage = void 0;
4
+ const isFullPage = (imageArea, page, screenshotMode) => {
3
5
  switch (screenshotMode) {
4
6
  case "fullpage":
5
7
  return true;
@@ -9,16 +11,7 @@ exports.isFullPage = (imageArea, page, screenshotMode) => {
9
11
  return compareDimensions(imageArea, page);
10
12
  }
11
13
  };
12
- /**
13
- * @param {Object} imageArea - area
14
- * @param {number} imageArea.left - left offset
15
- * @param {number} imageArea.top - top offset
16
- * @param {number} imageArea.width - area width
17
- * @param {number} imageArea.height - area height
18
- * @param {Object} page - capture meta information object
19
- * @returns {boolean}
20
- * @private
21
- */
14
+ exports.isFullPage = isFullPage;
22
15
  function compareDimensions(imageArea, page) {
23
16
  return imageArea.height >= page.documentHeight && imageArea.width >= page.documentWidth;
24
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/browser/camera/utils.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,UAAU,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;IACrD,QAAQ,cAAc,EAAE,CAAC;QACrB,KAAK,UAAU;YACX,OAAO,IAAI,CAAC;QAChB,KAAK,UAAU;YACX,OAAO,KAAK,CAAC;QACjB,KAAK,MAAM;YACP,OAAO,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,SAAS,EAAE,IAAI;IACtC,OAAO,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/browser/camera/utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,UAAU,GAAG,CAAC,SAAoB,EAAE,IAAc,EAAE,cAA8B,EAAW,EAAE;IACxG,QAAQ,cAAc,EAAE,CAAC;QACrB,KAAK,UAAU;YACX,OAAO,IAAI,CAAC;QAChB,KAAK,UAAU;YACX,OAAO,KAAK,CAAC;QACjB,KAAK,MAAM;YACP,OAAO,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;AACL,CAAC,CAAC;AATW,QAAA,UAAU,cASrB;AAEF,SAAS,iBAAiB,CAAC,SAAoB,EAAE,IAAc;IAC3D,OAAO,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC;AAC5F,CAAC"}
@@ -1,12 +1,12 @@
1
- export = ClientBridge;
2
- declare class ClientBridge {
3
- static create(browser: any, script: any): import("./client-bridge");
4
- constructor(browser: any, script: any);
5
- _browser: any;
6
- _script: any;
7
- call(name: any, args?: any[]): any;
8
- _callCommand(command: any, injectAllowed: any): any;
9
- _clientMethodCommand(name: any, args: any): string;
10
- _guardClientCall(call: any): string;
11
- _inject(): any;
1
+ import { ExistingBrowser } from "../existing-browser";
2
+ export declare class ClientBridge {
3
+ private _browser;
4
+ private _script;
5
+ static create(browser: ExistingBrowser, script: string): ClientBridge;
6
+ constructor(browser: ExistingBrowser, script: string);
7
+ call<T>(name: string, args?: unknown[]): Promise<T>;
8
+ private _callCommand;
9
+ private _clientMethodCommand;
10
+ private _guardClientCall;
11
+ private _inject;
12
12
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
- const { ClientBridgeError } = require("./error");
3
- module.exports = class ClientBridge {
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientBridge = void 0;
4
+ const error_1 = require("./error");
5
+ class ClientBridge {
4
6
  static create(browser, script) {
5
7
  return new ClientBridge(browser, script);
6
8
  }
@@ -8,33 +10,36 @@ module.exports = class ClientBridge {
8
10
  this._browser = browser;
9
11
  this._script = script;
10
12
  }
11
- call(name, args = []) {
13
+ async call(name, args = []) {
12
14
  return this._callCommand(this._clientMethodCommand(name, args), true);
13
15
  }
14
- _callCommand(command, injectAllowed) {
15
- return this._browser
16
- .evalScript(command)
17
- .then(result => {
16
+ async _callCommand(command, injectAllowed) {
17
+ try {
18
+ const result = await this._browser.evalScript(command);
18
19
  if (!result || !result.isClientScriptNotInjected) {
19
- return Promise.resolve(result);
20
+ return result;
20
21
  }
21
22
  if (injectAllowed) {
22
- return this._inject().then(() => this._callCommand(command, false));
23
+ await this._inject();
24
+ return this._callCommand(command, false);
23
25
  }
24
- return Promise.reject(new ClientBridgeError("Unable to inject client script"));
25
- })
26
- .catch(e => Promise.reject(new ClientBridgeError(e.message)));
26
+ throw new error_1.ClientBridgeError("Unable to inject client script");
27
+ }
28
+ catch (e) {
29
+ throw new error_1.ClientBridgeError(e.message);
30
+ }
27
31
  }
28
32
  _clientMethodCommand(name, args) {
29
- const params = args.map(JSON.stringify).join(", ");
33
+ const params = args.map(arg => JSON.stringify(arg)).join(", ");
30
34
  const call = `__geminiCore.${name}(${params})`;
31
35
  return this._guardClientCall(call);
32
36
  }
33
37
  _guardClientCall(call) {
34
38
  return `typeof __geminiCore !== "undefined" ? ${call} : {isClientScriptNotInjected: true}`;
35
39
  }
36
- _inject() {
37
- return this._browser.injectScript(this._script);
40
+ async _inject() {
41
+ await this._browser.injectScript(this._script);
38
42
  }
39
- };
43
+ }
44
+ exports.ClientBridge = ClientBridge;
40
45
  //# sourceMappingURL=client-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-bridge.js","sourceRoot":"","sources":["../../../../src/browser/client-bridge/client-bridge.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEjD,MAAM,CAAC,OAAO,GAAG,MAAM,YAAY;IAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM;QACzB,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,OAAO,EAAE,MAAM;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY,CAAC,OAAO,EAAE,aAAa;QAC/B,OAAO,IAAI,CAAC,QAAQ;aACf,UAAU,CAAC,OAAO,CAAC;aACnB,IAAI,CAAC,MAAM,CAAC,EAAE;YACX,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,oBAAoB,CAAC,IAAI,EAAE,IAAI;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,gBAAgB,IAAI,IAAI,MAAM,GAAG,CAAC;QAE/C,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB,CAAC,IAAI;QACjB,OAAO,yCAAyC,IAAI,sCAAsC,CAAC;IAC/F,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"client-bridge.js","sourceRoot":"","sources":["../../../../src/browser/client-bridge/client-bridge.ts"],"names":[],"mappings":";;;AAAA,mCAA4C;AAG5C,MAAa,YAAY;IAIrB,MAAM,CAAC,MAAM,CAAC,OAAwB,EAAE,MAAc;QAClD,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,OAAwB,EAAE,MAAc;QAChD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,OAAkB,EAAE;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,YAAY,CAAI,OAAe,EAAE,aAAsB;QACjE,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAA0C,OAAO,CAAC,CAAC;YAEhG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBAC/C,OAAO,MAAW,CAAC;YACvB,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,YAAY,CAAI,OAAO,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,IAAI,yBAAiB,CAAC,gCAAgC,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,yBAAiB,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,IAAY,EAAE,IAAe;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,gBAAgB,IAAI,IAAI,MAAM,GAAG,CAAC;QAC/C,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACjC,OAAO,yCAAyC,IAAI,sCAAsC,CAAC;IAC/F,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;CACJ;AAjDD,oCAiDC"}
@@ -1,3 +1,8 @@
1
+ import { ClientBridge } from "./client-bridge";
2
+ import { ExistingBrowser } from "../existing-browser";
1
3
  export { ClientBridge };
2
- export function build(browser: any, opts?: {}): Promise<ClientBridge>;
3
- import ClientBridge = require("./client-bridge");
4
+ export declare const build: (browser: ExistingBrowser, opts?: {
5
+ calibration?: {
6
+ needsCompatLib?: boolean;
7
+ };
8
+ }) => Promise<ClientBridge>;